Flutter
Что такое Flutter
Flutter – кроссплатформенный фреймворк для разработки нативных приложений. Фреймворк поддерживает разработку мобильных, десктопных, а также веб-приложений. Чаще всего Flutter применяют в разработке мобильных приложений для Android и iOS – благодаря кроссплатформенности разработчик может писать одно приложение сразу под обе операционные системы. Flutter – разработка Google, которую опубликовали в 2017 году, поддерживают и развивают до сих пор.
Фреймворк написан на языке Dart, а также использует данный язык в работе. Dart – язык программирования, который во многом синтаксически похож на JavaScript, но обладает более строгой типизацией. Программисты Google разработали Dart, поскольку посчитали, что JavaScript содержит фундаментальные недоработки, которые негативно сказываются на эффективности в разработке пользовательских интерфейсов.
Разработки на Flutter практически не уступает в производительности платформенным разработкам, поскольку Dart хорошо компилируется в нативный код. Во Flutter есть функция Hot Reload, которая позволяет следить за поведением приложения в ходе его разработки. У главного конкурента Flutter – React Native, тоже есть подобная функция под названием Fast Refresh, но она хуже реализована.
Flutter идет с большим функционалом прямо из «коробки» – есть 14 категорий виджетов, среди которых заранее предусмотрены виджеты Cupertino (стиль iOS) и Material Design (Android). Фреймворк содержит большое количество готовых шаблонов и графических элементов, а также инструмент для разработки 2D графики – Google Skia Graphics Engine.
Сферы применения Flutter
- Веб-разработка.
- Разработка для мобильных устройств (Android, iOS).
- Разработка для десктопных устройств (Windows, macOS, Linux).
По большей части, Flutter используют для мобильной разработки – для веб-разработки есть более привычные и популярные решения на JavaScript, для разработки десктопных программ также есть более подходящие инструменты.
Преимущества разработки на Flutter
- хорошо оптимизированный под задачи язык Dart, с которым продукты Flutter получаются быстрее webview-разработок и продуктов React Native;
- Hot Reload – функция обновления прототипа приложения в процессе разработки, которая работает гораздо качественнее и быстрее, чем в React Native за счет особенностей JIT-компиляции языка Dart;
- большое количество готовых шаблонов и виджетов;
- инструмент для создания и рендеринга 2D-элементов – Google Skia;
- продукт фирмы Google – будет поддерживаться и обновляться силами корпорации;
- Google используют Flutter в своих приложениях, что говорит о качестве продукта;
- по результатам на ноябрь 2022 года, Flutter обогнал React Native по показателям Google Trends.
Недостатки разработки на Flutter
- для использования Flutter нужно знать молодой и не очень популярный язык Dart;
- меньшее количество расширений, чем у React Native;
- не позволяет писать сложные игры на мобильные устройства.
Примеры готовых работ на Flutter
В первую очередь, Flutter активно используется компанией Google. Компания сделала на базе Flutter такие приложения, как Google Assistant, а также Google Ads. Также Flutter использовали в разработке такие корпорации, как Alibaba, Uber, BMW, eBay, Airbnb, Amazon, Toyota, «Яндекс».
Больше примеров использования Flutter можно увидеть на их официальном сайте, в котором они размещают лучшие кейсы: flutter.dev/showcase.