Привет, гоферы! Сегодня попробуем взглянуть на проблему обратной совместимости и кроссплатформенной разработки с помощью Go. Также расскажем про неоднозначный фреймворк Beego и корректном подходе к завершению работы приложения. О graceful shutdown и hard shutdown мы чаще всего слышим в контексте операционных систем. Golang чем-то похож на операционную систему. Здесь также есть необходимость корректно завершать работу запущенных задач до отключения приложения. Благо язык предоставляет инструменты, позволяющие отслеживать и обрабатывать сигналы завершения работы от ОС. Последнее время мы часто слышим о популярности Flutter. Единая кодовая база для мобильного и десктопного приложения делают жизнь разработчика значительно проще. Но у Golang тоже есть, чем ответить. Библиотека Fyne вместе с компилятором fyne-cross представляют собой гремучую смесь и позволяют собрать GUI-приложение почти под любую операционную систему и архитектуру. Глобально сохранение обратной совместимости — один из прио