Кроссплатформенный фреймворк предлагает лучшее из обоих миров.

Меня, как разработчика iOS, пугает даже мысль о реализации приложений в кроссплатформенном фреймворке. Я помню, как посещал бесчисленное количество собраний, на которых утверждал, что стать родным - лучший выбор. К сожалению, в большинстве случаев компании использовали Xamarin, Sencha или даже какой-то неизвестный фреймворк от IBM.

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

Виджеты пользовательского интерфейса

Flutter написан с нуля. В отличие от React Native и Xamarin, Flutter не платит никаких сборов при общении с родным миром. Это означает, что каждый элемент управления / виджет в iOS и Android создается с нуля во фреймворке Flutter. Это позволяет Flutter работать со скоростью 60 кадров в секунду и обеспечивать удобство использования.

Это также означает, что когда Apple обновит свои элементы управления для следующей версии iOS, команде Flutter придется обновить свои виджеты, чтобы учесть изменения.

Дротик

Flutter использует Dart в качестве основного языка программирования. Dart похож на любой язык программирования. Это означает, что если вы написали код на C #, Swift, Java, JavaScript, Kotlin или на любом другом языке, вы сможете быстро освоить Dart.

Один из аргументов против Flutter заключается в том, что он использует Dart, и если вы изучите Dart, вы будете использовать его только для создания приложений Flutter. Я не считаю это недостатком. Я твердо верю, что вам следует использовать правильный инструмент для работы. Это означает, что если вам нужно изучить Dart для создания приложений Flutter, изучите его.

Учиться весело, и нужно потратить время, чтобы учиться на протяжении всей жизни.

Инструменты

Приложения Flutter можно писать в любом редакторе кода, но два предпочтительных из них - Android Studio и Visual Studio Code (VS Code). Я использую VS Code, потому что он легкий и быстрый. VS Code также имеет множество плагинов для Flutter, что позволяет вам работать более продуктивно во время разработки Flutter.

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

Горячая перезагрузка

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

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

После того, как вы испытали горячую перезагрузку, вернуться будет сложно.

Единая база кода

Flutter - это действительно кроссплатформенный фреймворк на основе единого кода. Это означает, что вы пишете код один раз, и он работает на iOS, Android и даже в Интернете.

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

Сходство

Flutter следует тем же принципам, что и React и SwiftUI. После работы с React и SwiftUI было довольно легко перейти на Flutter и работать продуктивно. Все три фреймворка имеют одинаковую концепцию управления состоянием.

Обучая React своих студентов, я всегда говорю им, что это палка о трех концах: когда вы изучаете React, вам будет комфортно работать с Flutter, а также со SwiftUI.

Затраты клиента

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

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

Не каждое приложение нужно писать дважды в соответствующей нативной среде. Не каждая компания занимается продажей приложений. Многие компании просто нуждаются в приложении, чтобы делиться своей информацией с пользователями, и они не зарабатывают деньги на продаже своих приложений.

В начале своей карьеры я помню, как разочаровывался в том, что компании не выбирали нативные, но теперь я все понимаю. Я узнал, что для того, чтобы полностью понять проблему, нужно взглянуть на нее с обеих сторон уравнения.

Сообщество

У Flutter самое яркое, разнообразное и полезное сообщество, частью которого я был за 15 с лишним лет профессиональной разработки программного обеспечения. Я являюсь участником канала Flutter Discord, а также нескольких групп в Facebook, и члены сообщества всегда меня приветствовали.

Помимо замечательного сообщества разработчиков, Google тратит время на продвижение Flutter, организуя веселые мероприятия. Сюда входят хакатоны, семинары и даже мероприятия для демонстрации ваших проектов.

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

Заключение

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

Ресурсы

  1. Официальный сайт Flutter
  2. Непревзойденный практический флаттер и MVVM
  3. Плейлист My Flutter на YouTube