Чотири кліки, щоб опублікувати. Тридцять секунд від початку до кінця. Один активний застосунок з бекендом на акаунт на безкоштовному тарифі. Пів секунди додаткової затримки при першому ж запиті до щойно створеного субдомену — і жодної затримки після цього. Три з цих цифр — дрібниці, на які кивнеш і забудеш до наступного розділу. А от «один» — це число, яке справді змінює те, як варто працювати, тож саме на ньому я хочу зосередитися в цьому розділі.
Чому ліміт дорівнює одиниці, а не нулю чи безлічі
Більшість безкоштовних no-code інструментів для публікації фронтенду або взагалі не працюють із застосунками з бекендом, або обмежують їх настільки жорстко, що «безкоштовно» — лише формальність. Тут збірка з акаунтами, базою даних чи станом для багатьох користувачів публікується через ту саму кнопку Publish, що й статична сторінка, а серверна частина хоститься й керується як частина цієї єдиної дії — без окремого налаштування бази даних, без прописування змінних середовища, без відкриття через три дні, що вхід працює в превʼю, а на продакшені видає 500, бо бекенд так і не задеплоївся. Це справді так, і саме тому люди дивуються, коли впираються в стелю: до цього моменту все здавалося необмеженим.
Це не так. На безкоштовному тарифі ви отримуєте рівно один активний застосунок з бекендом одночасно. Статичні збірки в цей ліміт не входять — публікуйте скільки завгодно маркетингових сторінок і портфоліо, без обмежень. Але друга збірка, якій потрібна власна база даних чи постійний процес, повинна чекати своєї черги — вона повністю зібрана й доступна для перегляду, просто не активна за своєю URL-адресою. Якщо ви тестуєте три ідеї SaaS за один тиждень, лише одна з них може займати реальні обчислювальні ресурси; дві інші — готові продукти без адреси. Думаю, межа проведена в розумному місці — статичний пакет практично нічого не коштує платформі для віддачі на краю мережі, тоді як «теплий» серверний процес коштує — але це означає, що рішення про те, яка ідея заслуговує на слот, потрібно прийняти до натискання Publish, а не після того, як ви вже звикли мати два активних одночасно.
Чотири кліки, для довідки
- На картці збірки виберіть Publish.
- Виберіть слаг — вашеім'я у
yourname.buildmidas.com. Зайняті слаги пропонують альтернативи. - Підтвердьте.
- Скопіюйте URL з картки або знайдіть його пізніше на сторінці Published.
Без DNS, без зовнішніх акаунтів, без очікування поширення. І щодо тієї пів секунди: це не черга і не затримка «перевірте за 24 години», а звичайне прогрівання CDN-кешу. Перший відвідувач нового субдомену може відчути невелику додаткову затримку, поки найближчий вузол мережі підтягне пакет ресурсів; другий відвідувач і всі наступні отримають його з кешу. На практиці ви цього не помітите — опублікуєте, натиснете посилання, і воно вже здаватиметься миттєвим. Я згадую про це лише тому, що хтось, хто робить знімки часу завантаження на постійній основі, рано чи пізно запитає, чому перший запит і десятий не однакові — тепер ви знаєте.
Слаг — це те єдине рішення, на яке варто витратити час
Все інше в цьому процесі механічне; слаг — це та частина, яку людині потрібно вимовити вголос чи набрати по пам'яті, тож на неї варто витратити хвилину роздумів. «demo-v2-final-final» цілком підходить для внутрішнього тестування і є поганим варіантом для повідомлення клієнту. Промовте URL про себе перед підтвердженням — riverside-cafe.buildmidas.com читається гладко, riverside-cafe-mvp2.buildmidas.com ні. Короткі, загальні слова швидко закінчуються на платформі, яка існує вже давно, тому зайнятий слаг пропонує варіанти замість голої помилки. Візьміть один з них або відхиліть, але вирішуйте свідомо — я бачив, як люди хапали те, що пропонувало поле, посеред демо, бо їм терміново потрібне було посилання, а потім жили з незручною назвою місяцями, бо так і не з'явився природний момент її виправити.
Повторна публікація не зачіпає активний сайт, поки ви цього не скажете
Ось факт, який варто засвоїти рано: редагування опублікованої збірки не оновлює активний сайт. Ви можете щось зламати, спробувати радикальну зміну макета, ітерувати цілий тиждень — URL, який клієнт вже додав у закладки, продовжуватиме віддавати те, що ви опублікували востаннє, аж поки ви свідомо не опублікуєте знову.
Це весь ваш сценарій відкату, і він гарний саме тим, що нудний. Версія 6 випускається з багом — форма тихо перестає відправлятися — і ви не тягнетеся до команди відкату чи тікета в підтримку. Ви відкриваєте історію версій, знаходите версію 5, публікуєте її знову. Та сама кнопка, старіший артефакт, активна URL миттєво повертається назад. Потім ви виправляєте версію 6 без жодного тиску, бо продакшн не зламаний, поки ви працюєте. Плата за це — один додатковий клік на реліз, оскільки треба пам'ятати про фактичну публікацію замість припущення, що редагування вийшло автоматично. Порівняно з інструментами, де кожне збереження — одразу активне (чудово на демо, важко через три тижні реального використання), цей додатковий клік — обмін, вартий того щоразу.
Зняти з публікації означає, що URL перестає відповідати, а не «зникає зі списку»
Багато платформ під «зняттям з публікації» мають на увазі приховування зі сторінки галереї, поки URL продовжує тихо працювати. Тут це означає, що адреса повністю вимикається — жодної кешованої сторінки, жодної заглушки, нічого не відповідає. Сама збірка зберігається з усіма версіями цілими; опублікуйте пізніше — той самий слаг повернеться точно там, де ви його залишили. Я користувався цим із буденної причини (співпраця з клієнтом завершилася, ніхто не хоче, щоб їхній старий логотип висів за публічним посиланням) і з менш буденної (збірка розкрила щось зайве, і її треба було зняти в той час, який займає клік по кнопці, а не оформлення заявки хостинг-провайдеру). В обох ситуаціях потрібна та сама гарантія, і обидві її отримують.
Ще одна річ, яку не варто плутати: публікація робить URL активним для будь-кого з посиланням; чи буде він помітним — вказаним публічно, іноді представленим у Showcase — це зовсім окремий перемикач. Багато легітимних опублікованих сайтів мають назавжди залишитися доступними лише за посиланням, а збірка, включена до публічного списку, під капотом залишається звичайним опублікованим сайтом з тією самою історією і тією самою кнопкою зняття з публікації.



