Перейти к материалам
медуза

Новое приложение «Медузы». Почему Flutter? Кратчайший пересказ поста техдиректора Бориса Горячева на «Хабре»

Источник: Meduza

13 мая, на следующий день после выхода нового приложения «Медузы», наш технический директор Борис Горячев опубликовал на «Хабре» подробный пост о том, как оно создавалось — и почему построено на Flutter, платформе для кросс-платформенной разработки приложений (то есть один и тот же код работает на iOS и Android). Ниже — короткий пересказ его поста. Полную версию можно прочитать здесь.

Наши старые приложения для айфонов и андроидов были нативными — каждое писалось под свою платформу. Это оказалось не так удобно: синхронизировать работу разработчиков было тяжело, и со временем приложения стали отличаться друг от друга по набору функций. Поэтому мы начали пробовать другие подходы, и в итоге остановились на Flutter от Google.

Когда люди узнают про Flutter, они неизбежно узнают и про Dart. Dart — это язык программирования, который был разработан в Google. Его анонсировали в 2011 году, то есть это еще пока молодой язык. Он не стал major языком программирования (по крайней мере пока), но при этом его очень активно используют в самой компании. Помимо Google, есть и другие большие компании, например, Wrike, которые используют Dart. Кажется, он считается, самым большим минусом Flutter, но ровно до тех пор, пока не попробуешь на нем писать. Он действительно прикольный. После JavaScript так особенно.

Поскольку и Dart, и Flutter поддерживаются одной компанией, это дает возможность менять язык под нужды Flutter: обе команды активно взаимодействуют друг с другом, поэтому в языке постоянно появляются фишки, позволяющие писать более приятный код.

Еще один важный аргумент в пользу Flutter: разработчик «контролирует все пиксели». Когда нужно сделать так, чтобы везде были правильные тени, как в макете в Sketch, или хочется, чтобы прозрачность менялась по кривым, или нужно, чтобы размеры шрифтов и вся типографика были настраиваемыми, — в Flutter все просто и реалистично.

Еще одна киллер-фича Flutter — комфорт разработки. Hot-reload, к которому я так привык в веб-разработке, и быстрая скорость перезагрузки приложения без потери состояния максимально облегчают работу. Тебе не нужно сидеть и ждать, пока пересобирается приложение, потом ждать, пока заработает новый код, и повторять состояние, в котором ты работаешь. Все происходит действительно быстро и круто. Хотя Flutter и Dart пока не очень популярные технологии, у нас не возникло проблем с поиском библиотек. Комьюнити очень приятное и готово помогать. Это общение — настоящий глоток свежего воздуха, очень поддерживало. Кроме того, сам Google хорошо поддерживает Flutter.

P. S. После выхода поста на «Хабре» Борис Горячев стал гостем подкаста Flutter Dev Podcast.

Читайте другие материалы о «Медузе» в нашем блоге.