Для WordPress и популярных конструкторов нового исполнителя обычно найти проще. Эти платформы давно известны, с ними работает много специалистов.
С Astro в России сложнее - технология пока распространена заметно меньше. Поэтому вопрос о дальнейшей поддержке сайта вполне справедлив.
Я уже сталкивался с проблемой передачи проекта другому разработчику и теперь учитываю такую возможность ещё во время работы над сайтом.
Как я столкнулся с этой проблемой
Однажды я сделал сайт на Gatsby и headless WordPress по согласованному макету дизайнера.
Позже к проекту подключился маркетолог. Понадобилось изменить тексты, структуру страниц, а вместо обычной ссылки на почту добавить форму обратной связи. Первоначальный макет этого не предусматривал.
В тот момент я был занят другими проектами, поэтому заказчик привлёк другого разработчика.
Исходный код и доступы я передал без проблем. Сложность оказалась в самом устройстве проекта: сайт отличался от привычного WordPress-проекта, отдельно работала клиентская часть, был свой процесс сборки и связка с WordPress как системой управления контентом.
Новый исполнитель не смог продолжить работу, и в итоге сайт перенесли на обычный WordPress.
Эта история показала мне, что передать исходники и доступы недостаточно. С тех пор я уделяю внимание не только документации, но и сложности самого проекта. Стараюсь не добавлять лишние зависимости, серверные компоненты и интеграции, если задачу можно решить проще. А процесс сборки и публикации организую так, чтобы его мог повторить другой разработчик.
Будет ли сайт работать без меня
Большинство сайтов, которые я делаю на Astro, собираются в готовые HTML, CSS и JavaScript-файлы. Для их показа не нужен постоянно работающий сервер с запущенным Astro.
Пока оплачены домен и хостинг, статические страницы сайта продолжают работать независимо от моего участия. Для форм, онлайн-оплаты и других интеграций также важна работа подключённых сервисов, доступы и настройки которых передаются заказчику.
Для повседневного обновления контента разработчик обычно не требуется. Тексты, изображения, товары, цены и статьи меняются через CMS. Разработчик нужен прежде всего для доработок: новых функций, интеграций или изменения логики сайта.
Что именно остаётся у заказчика
После запуска заказчику передаются:
- домен и хостинг;
- репозиторий с исходным кодом;
- доступ к CMS и административным панелям;
- необходимые учётные записи и доступы к подключённым сервисам.
Домен, хостинг и основные сервисы изначально оформляются на заказчика или его организацию.
Вместе с проектом передаётся документация: как запустить сайт локально, где находятся основные настройки, как выполнить сборку и опубликовать изменения. Процесс публикации не зависит от ручных действий, известных только мне.
В репозитории сохраняется история изменений. Если после доработки возникнет проблема, можно сравнить версии и разобраться, что именно изменилось. Перед публикацией проект проходит автоматические проверки, а для критичной логики, например оформления и оплаты заказов, я пишу тесты.
У конструкторов есть своё преимущество: для них проще найти исполнителя. Но сайт при этом остаётся внутри конкретной платформы и зависит от её правил. В моих проектах исходный код и размещение не привязаны к одному поставщику услуг.
Если новый разработчик не работал с Astro
Такое вполне возможно, и на знакомство с проектом потребуется время.
Однако Astro использует знакомые веб-разработчикам технологии: HTML, CSS и JavaScript/TypeScript. У него открытая документация, а для работы не требуется доступ к моим личным инструментам или закрытому ПО.
При знакомстве с чужим кодом сегодня помогают и ИИ-инструменты, например Cursor или GitHub Copilot. Они могут изучить структуру проекта, найти нужные компоненты, разобраться в связях между ними и помочь внести изменения.
В моих проектах на Astro основные компоненты и логика сайта находятся непосредственно в исходном коде. ИИ-инструменты могут работать с ними напрямую, что помогает новому разработчику быстрее разобраться в устройстве проекта, даже если раньше он не работал с Astro.
Конечно, это не заменяет квалификацию разработчика, но облегчает знакомство с чужим кодом и дальнейшую поддержку.
Если понадобится сменить разработчика
Я не могу обещать, что через 5 или 10 лет буду продолжать заниматься каждым сделанным мной сайтом. И не могу гарантировать, что новый исполнитель сразу разберётся в незнакомом проекте.
Но заказчик не должен зависеть от моего постоянного участия. Если потребуется найти другого разработчика, у него уже будут исходный код, документация и необходимые доступы, чтобы разобраться в проекте, оценить объём изменений и продолжить работу.
Смена разработчика не должна означать, что существующий сайт проще выбросить и сделать новый.