Оглавление

    Flutter или Ionic: какую технологию выбрать

    Surf создаёт мобильные приложения уже более 10 лет. В этой статье мы сравним два часто используемых кроссплатформенных фреймворка, Flutter и Ionic: их производительность, компоненты и другие аспекты, чтобы ответить на вопрос — какой framework выбрать для разработки вашего проекта.

    Краткий обзор

    Первую версию фреймворка Ionic выпустила в 2013 году компания Drifty Co. Этот фреймворк использует такие распространённые веб-технологии, как JavaScript, HTML и CSS. 

    Ionic – это набор средств разработки пользовательского интерфейса (UI) с открытым исходным кодом. Его легко интегрировать с другими библиотеками и фреймворками с открытым исходным кодом, например, с Apache Cordova. Ionic прост в изучении, и у него много сторонников среди разработчиков. На Ionic разработали свои приложения MarketWatch, Diesel, Sworkit и другие.

    Flutter – более новая технология, Google разработал её в 2017 году и продолжает активно развивать. Фреймворк работает на языке программирования Dart, а также использует Swift и Objective C для интеграции с iOS и Java – для Android. Изначально число поклонников Flutter, как наиболее новой кроссплатформенной технологии, было не так велико, как у других аналогичных инструментов. Однако ситуация стремительно меняется. Среди популярных приложений, владельцы которых выбрали Flutter, – Tencent, Stadia, приложение The New York Times и несколько приложений Google.

    Простота в переиспользовании кода

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

    Так как оба фреймворка – кроссплатформенные технологии, один и тот же код, написанный на Ionic или Flutter, подходит как для смартфона, так и для веб-версии. До недавнего времени у Flutter был ряд ограничений, касающихся развертывания приложений в интернете. Однако в последних версиях Google это исправил. Тем не менее для веб-приложений многие предпочитают использовать более привычный Ionic. 

    С другой стороны у старых версий Ionic есть проблемы с безопасностью. Как бы то ни было, когда речь заходит о переиспользовании кода между платформами, считается, что с задачей лучше проще и быстрее справляется Flutter, благодаря чему он больше подходит для разработки  минимально жизнеспособного продукта (MVP).

    Итог: очевидного победителя нет.

    Тестирование

    Flutter поддерживает Hot Reload — фичу, которая позволяет очень быстро обновлять приложение, как только в код вносятся правки. Это занчительно ускоряет отладку и обновление приложений. 

    У фреймворка Ionic нет фичи, аналогичной Hot Reload. Для любой правки требуется обновлять всё приложение целиком, что может замедлить скорость разработки.

    Итог: побеждает Flutter.

    Пользовательский опыт и производительность

    Ionic и Flutter не используют нативные UI элементы платформы, на которой работает приложение. Оба фреймворка автоматически обновляют внешний вид своих UI элементов так, чтобы они соответствовали визуальному стилю Android и iOS, а пользователи не замечали разницы. 

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

    Итог: побеждает Flutter.

    Лёгкость изучения

    Благодаря тому, что Ionic создан на основе веб-технологий, разработчикам, которые уже знают JavaScript и CSS, будет легко его освоить. 

    Погружение во Flutter потребует больше времени — начать придётся с изучения языка Dart, который используется только во фреймворке Flutter. Однако, если разработчик уже знает язык JavaScript или работает с Ionic или React Native, изучение Dart не станет для него сложной задачей. 

    Итог: побеждает Ionic.

    Ситуация с поиском разработчиков

    На сегодняшний день Flutter – первый по популярности кроссплатформенный фреймворк среди разработчиков, в то время как Ionic занимает третье место. Согласно исследованиям, процент разработчиков, предпочитающих Flutter остальным фреймворкам вырос с 30% до 42%, в то время как число сторонников Ionic сократилось с 28% до 16%. 

    Итог: побеждает Flutter.

    Подведём итоги

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

    Что лучше подойдёт для вашего проекта?

    У Surf самая большая в России команда разработчиков на Flutter. Мы реализовали на этом фреймворке успешные проекты для банков, фудтеха, e-commerce-приложения. Если вы хотите разработать приложение на Flutter, напишите нам и мы свяжемся с вами в течение суток.