Бэкграунд 
Антон Пискунов, 
- с 2008 г. - фриланс 
- с 2011 г. - веб-студии 
- с 2012 г. - хайлоад 
Более 300 завершенных проектов 
Больше 10 эпичных факапов
Кто пришел в GOLang 
из PHP / Ruby / Python?
Что мы разрабатываем на 
teamkey.ru 
BeeGo? 
Командный менеджер паролей имеющий две 
формы поставки: 
- облако 
- коробочное решение
Почему GOLang? 
Нам требовалось компилируемое решение 
позволяющие поставлять продукт в виде 
бинарного файла полностью скрывающего всю 
реализацию
Почему GOLang? 
У нас уже был опыт работы с GOLang 
Демон который рассылает адовое 
количество нотификаций 
с помощью VK API
Okay, Google. Give us 
framework 
Мы хотели писать быстро и 
продуктивно. 
Это был единственный критерий.
Revel 
В целом схож с BeeGo, типичный MVC 
представитель, но есть проблема - 
ORM как таковой нет. 
Плюс есть мелкие косяки, то здесь, то 
там. Весь интернет прошелся по не 
самой лучшей поддержке «go test».
Martini 
Больше похож на Express под node.js 
чем на типичный MVC фреймворк. 
По факту это роутер, но не 
полноценная платформа.
Gorilla Web Toolkit 
Это тулкит.
Эники-беники, ели 
вареники… 
Итак, BeeGo или Revel?
BeeGo 
- Типичное, каноническое MVC 
- Привычный набор инструментов 
классического фреймворка 
- ORM/SQL 
- Swagger 
- Live Monitor 
- Прекрасная документация
Sweet API 
RESTful SPA приложение и есть 
внешние сервисы которые требуют 
чёткое REST API 
API должно версионироваться
Автодокументация 
Используя авто-документацию можно 
забыть о проблемах поддержки API
Кросс-компиляция 
За счёт того что не все в GOLang 
сообществе понимают как это 
работает мы были вынуждены 
потратить больше 10 часов на 
решение проблем
Кросс-компиляция 
env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 
go build -o output_binary_64 
env CGO_ENABLED=1 GOOS=linux GOARCH=386 
go build -o output_binary_32
Демонизация 
Тривиальных путей нет, а 
не тривиальных мы еще не нашли
Демонизация 
Либо мэйнтейнить в BeeGo, либо делать 
форк, либо хардкодить прямо в либе
Демонизация, 
компиляция и все-все-все 
Как в таком случае таскать 
за собой статику?
Демонизация, 
компиляция и все-все-все 
Любое решение в итоге сведется к 
хранению ассетов в памяти
Демонизация, 
компиляция и все-все-все 
bee bale
GOLang это заебись, 
но не всегда 
Почему половина cloud-версии 
написана на PHP? 
- скорость разработки 
- подходящие инструменты
GOLang это заебись, 
но не всегда 
- Symfony 2 
- github.com/yvasiyarov/php_session_decoder 
- github.com/reiver/go-php
Полезные ссылки 
Документация 
beego.me 
Основной репозиторий 
github.com/astaxie/beego 
Репозиторий инструментов 
github.com/beego
Разработчики 
AstaXie 
фаундер BeeGo, ведущий 
разработчик 
Slene 
разработчик ORM, помогает в 
разработке примеров и сайта
Разработчики 
ClownFish 
разработчик административных 
инструментов 
Lei Cao 
основной создатель англоязычной 
документации и ресурсов
Разработчики 
HellsHamsters Team 
основной создатель русскоязычной 
документации
Русская документация 
Всегда актуальный репозиторий 
github.com/HellsHamsters/beedoc
Проблемы 
Есть определенный список проблем 
которые видим мы для себя 
Не факт что они могут совпадать со 
взглядами core-team
Проблемы 
- bee bale 
- модульность views & static 
- easy / integrated daemon 
- ???
До встречи! 
hellshamsters.com 
vk.com/smile42ru 
anton.piskunov@hellshamsters.com

BeeGo для веб приложений, API и демонов