Разработка
October 20, 2022

Анонс Go digest: Испытание медными трубами

Привет, гоферы! Сегодня попробуем взглянуть на проблему обратной совместимости и кроссплатформенной разработки с помощью Go. Также расскажем про неоднозначный фреймворк Beego и корректном подходе к завершению работы приложения.

О graceful shutdown и hard shutdown мы чаще всего слышим в контексте операционных систем. Golang чем-то похож на операционную систему. Здесь также есть необходимость корректно завершать работу запущенных задач до отключения приложения. Благо язык предоставляет инструменты, позволяющие отслеживать и обрабатывать сигналы завершения работы от ОС.

Последнее время мы часто слышим о популярности Flutter. Единая кодовая база для мобильного и десктопного приложения делают жизнь разработчика значительно проще. Но у Golang тоже есть, чем ответить. Библиотека Fyne вместе с компилятором fyne-cross представляют собой гремучую смесь и позволяют собрать GUI-приложение почти под любую операционную систему и архитектуру.

Глобально сохранение обратной совместимости — один из приоритетов индустрии, ведь это позволяет сохранить функционирование существующих систем. С другой точки зрения сохранение обратной совместимости предполагает сдерживание развития и требует немалых ресурсов. Поддержка старых архитектур и протоколов ставит массу ограничений и часто является недостижимым препятствием на пути прогресса. По какому пути пойдёт Golang — об этом сейчас ведутся ожесточённые дискуссии в сообществе.

На закуску расскажем о неоднозначном явлении, когда привычную для многих MVC-архитектуру попытались запихнуть в Go. Результатом этого стали такие фреймворки, как Revel и Beego. Последний как раз нацелен на разработку RESTful API, веб-приложений и серверных служб. За что его часто критикуют разработчики? Об этом вы узнаете из полной версии нашего дайджеста.