Главная / Технологии / Что такое Flutter, в чем особенности этой технологии

Что такое Flutter, в чем особенности этой технологии

Flutter

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

В отличие от многих известных на сегодняшний день мобильных платформ, Flutter не использует JavaScript ни в каком виде. В качестве языка программирования для Flutter выбрали Dart, который компилируется в бинарный код, за счет чего достигается скорость выполнения операций, сравнимая с Objective-C, Swift, Java или Kotlin.

Flutter не использует нативные компоненты, опять же, ни в каком виде, так что не приходится писать никаких прослоек для коммуникации с ними. Вместо этого, подобно игровым движкам (а вы ведь знаете, что у игр очень динамичный UI), он отрисовывает весь интерфейс самостоятельно. Кнопки, текст, медиа-элементы, фон — все это отрисовывается внутри графического движка в самом Flutter. После вышесказанного стоит отметить, что приложение "Hello World" на Flutter занимает совсем немного места: iOS ≈ 2.5 МБ и Android ≈ 4 МБ.

Для построения UI во Flutter используется декларативный подход, вдохновленный веб-фреймворком ReactJS, на основе виджетов (в мире веба именуемых компонентами). Для еще большего прироста в скорости работы интерфейса виджеты перерисовываются по необходимости — только когда в них что-то изменилось (подобно тому, как это делает Virtual DOM в мире веб-фронтенда).

В дополнение ко всему, в фреймворк встроен Hot-reload, такой привычный для веба и до сих пор отсутствовавший в нативных платформах.

Плюсы использования кросс-платформы

Есть целый ряд неоспоримых преимуществ использования кросс-платформенной технологии:

  • Гораздо более дружелюбная документация по сравнению с Android и особенно iOS. Разработчики Flutter также выпускают еженедельные видео с объяснениями деталей технологии на своём официальном канале.

  • Общий код для разных платформ. Flutter позволяет разработчикам использовать один и тот же код для создания приложений для разных платформ, снижая время и стоимость разработки.

  • Hot Reload. Эта функция позволяет мгновенно видеть результаты изменений в коде, ускоряя процесс разработки.

  • Фреймворки внутри фреймворка. Команда Flutter развивает направление мобильных игр и предлагает воспользоваться Casual Games Toolkit, в котором есть необходимые инструменты для написания собственных игр на 2D-движке Flame. Также есть готовый набор решений для написания новостных приложений — Flutter News Toolkit. В нем содержатся наиболее популярные компоненты для создания новостного приложения: онбординг, создание учетной записи, лента контента и страницы контента, настройки монетизации, поиск и т.д.

  • Экосистема библиотек. Ещё один из плюсов Flutter-сообщества – это наличие единого сервиса, на котором размещаются сторонние библиотеки. Они используются далеко не только для работы с нативным кодом платформ, но и для сложных анимаций, облегченной работы с сетью, навигации и других полезных инструментов. Любой желающий может создать свой пакет и разместить его в официальном репозитории.

Ограничения использования кросс-платформы и пути их решения

Однако, безусловно, есть и определенные трудности в использовании кросс-платформы при разработке. Часть из них преодолима, другую же часть остается пока только принять как данность.

  • Большой размер приложения
  • Несоответствие “родному” пользовательскому интерфейсу
  • Задержка при появлении обновлений платформ
  • Невозможность разработки мобильных игр
  • Ограниченная поддержка некоторых функций устройств.

Автор:

Дата публикации:

344095, Россия, Ростов-на-Дону, Краснодар, Карасунская ул., 60
Телефон: 8 (928) 226-56-27

Обсудить проект

Оставьте обращение в форме обратной связи и наш менеджер свяжется с Вами в течении 30 минут в рабочий день или позвоните нам по телефону 7 (863) 226-56-27
Наш сайт использует файлы cookies (куки) только для персонализации сервисов, чтобы оптимизировать работу и функциональность этого сайта. Запретить обработку cookies можно в настройках Вашего браузера. Продолжая пользоваться сайтом, вы даете согласие использование файлов cookies (куки). Пожалуйста, ознакомьтесь с условиями политики принятия сookies
Close
Пишите, мы на связи
Telegram
WhatsApp