Описание услуги
Я бэкенд-разработчик, который сознательно специализируется на серверном Dart, а не берётся за него от безысходности. Многие знают Dart как язык мобильных приложений на Flutter, но меня интересует другая его сторона, серверная. Я проектирую и запускаю HTTP-сервисы и REST API на связке middleware в стиле shelf и на фреймворках уровня Serverpod: настраиваю маршрутизацию, аутентификацию, валидацию запросов, структурированное логирование и корректное завершение работы. Меня заботит то, чего пользователь не видит, но всегда чувствует: предсказуемая задержка ответа, вменяемые коды ошибок, пул соединений к Postgres или другому хранилищу и код, который коллега сможет прочитать через полгода без сопроводительного гида.
Помимо веб-сервисов я много занимаюсь инструментами для разработчиков. Пишу консольные приложения с нормальным разбором аргументов, подкомандами, цветным выводом и осмысленными кодами возврата, чтобы они хорошо вели себя в скриптах и CI-конвейерах. Активно использую систему сборки Dart и кодогенерацию: source_gen и build_runner превращают аннотации и схемы в типобезопасную сериализацию, клиентские заглушки и рутинный код, который иначе быстро устаревает при ручной правке. Когда проекту нужен небольшой внутренний демон, раннер миграций, импортёр данных или связующий сервис между системами, Dart позволяет отдать что-то компактное, статически типизированное и легко собираемое в один самодостаточный исполняемый файл.
Чтобы обозначить границы: я не тот, кого нанимают ради идеальных мобильных экранов, и я не предлагаю переписать всё на Node или Go. Если ваш бэкенд уже на Dart или вы хотите одну команду и один язык на клиенте и сервере, я сделаю серверную половину надёжной. Пишу тесты, документирую эндпоинты и передаю то, что реально можно запускать и поддерживать.
— REST и HTTP API на shelf и фреймворках уровня Serverpod
— Консольные утилиты, демоны и автоматизация под CI
— Кодогенерация через build_runner и source_gen
— Работа с БД, миграции и пул соединений (Postgres и другие)
— Аутентификация, валидация запросов, логирование и обработка ошибок
— Сборка Dart в один нативный исполняемый файл
Помимо веб-сервисов я много занимаюсь инструментами для разработчиков. Пишу консольные приложения с нормальным разбором аргументов, подкомандами, цветным выводом и осмысленными кодами возврата, чтобы они хорошо вели себя в скриптах и CI-конвейерах. Активно использую систему сборки Dart и кодогенерацию: source_gen и build_runner превращают аннотации и схемы в типобезопасную сериализацию, клиентские заглушки и рутинный код, который иначе быстро устаревает при ручной правке. Когда проекту нужен небольшой внутренний демон, раннер миграций, импортёр данных или связующий сервис между системами, Dart позволяет отдать что-то компактное, статически типизированное и легко собираемое в один самодостаточный исполняемый файл.
Чтобы обозначить границы: я не тот, кого нанимают ради идеальных мобильных экранов, и я не предлагаю переписать всё на Node или Go. Если ваш бэкенд уже на Dart или вы хотите одну команду и один язык на клиенте и сервере, я сделаю серверную половину надёжной. Пишу тесты, документирую эндпоинты и передаю то, что реально можно запускать и поддерживать.
— REST и HTTP API на shelf и фреймворках уровня Serverpod
— Консольные утилиты, демоны и автоматизация под CI
— Кодогенерация через build_runner и source_gen
— Работа с БД, миграции и пул соединений (Postgres и другие)
— Аутентификация, валидация запросов, логирование и обработка ошибок
— Сборка Dart в один нативный исполняемый файл