Привет, добро пожаловать обратно

Итак, событие Flutter Forward было четыре дня назад (25 января 2023 г.) на тот случай, если вы читаете это позже, что, скорее всего, и произошло 🤷🏾‍♂️. Команда Flutter объявила о множестве новых вещей, некоторые из которых скоро появятся, а некоторые уже здесь. Хотя в этой статье я сосредоточусь в первую очередь на мобильных устройствах, если вы хотите узнать о других вещах, о которых было объявлено, перейдите на страницу YouTube команды Flutter.

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

  • Сложность при попытке вызвать Native API через каналы платформы.
  • Некачественная векторная графика и поддержка анимации

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

А теперь вот новинки, анонсированные Flutter Team:

  • Вызов нативных API напрямую из Dart
  • Адаптивный пользовательский интерфейс (для складных устройств)
  • Новый механизм рендеринга импеллера
  • Инструментарий новостей Flutter

Позвольте мне просто подробно остановиться на каждом пункте:

  • Вызов нативных API непосредственно из Dart. На мой взгляд, это самое интересное обновление. Это устранило бы множество сложностей, с которыми приходится сталкиваться разработчикам при взаимодействии с каналами платформы при написании кода для конкретной платформы для доступа к собственным API. Однажды я был в такой ситуации, когда хотел создать приложение для отслеживания шагов пользователя, и по совпадению это был пример приложения, показанный в событии Flutter Forward. Однако это все еще находится в стадии бета-тестирования и должно появиться в следующей версии Flutter 🤞🏾.
  • Адаптивный пользовательский интерфейс. Это тоже очень интересно. Замечательное приложение, созданное командой Gskinner для демонстрации нового импеллерного двигателя (подробнее об этом в следующем пункте), если вы еще не проверили его, обязательно загрузите его. Что ж, приложение было продемонстрировано на различных типах экранов, включая складные форм-факторы, и мы смогли увидеть различное поведение в зависимости от типа экрана. Чтобы узнать больше об этом, вы можете посмотреть видео, которое команда Flutter выпустила по этому поводу здесь.
  • Движок рендеринга Impeller. Итак, вернемся к замечательному приложению. Он был выпущен пару месяцев назад, когда впервые был выпущен импеллерный двигатель. Теперь импеллерный движок — это новый движок рендеринга, созданный с нуля командой Flutter для исправления проблем со Skia (текущий движок рендеринга по умолчанию). Во многих случаях при проверке производительности ваших приложений Flutter с помощью профилировщика вы увидите рендеринг анимации со скоростью 30 кадров в секунду. С импеллером анимация рендерится со стабильной скоростью 60 кадров в секунду, что устраняет проблему неадекватного движка рендеринга.
  • Это также обрабатывает 3D-рендеринг, была показана 3D-модель Dash, а затем были показаны 343 Dash с анимацией ходьбы (с частотой 60 кадров в секунду). И если этого было недостаточно, приложение с 3D-рендерингом среды было показано на iPhone 6 (работает очень хорошо).

Чувствовалось, что команда Flutter использует магию 😂.

Это привело к вопросу, который я задал другу: как вы думаете, стоит ли создавать приложения изначально? Теперь, это мое личное мнение, так что примите его с недоверием.

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

  • Игровые приложения: несмотря на то, что для разработки игр существует пакет Flutter Flame, он действительно ориентирован на 2D-игры (на данный момент), 3D-игры действительно должны создаваться с помощью игровых движков, таких как Unity или Unreal Engine.
  • Приложения машинного обучения/ИИ
  • Приложения, использующие дополненную реальность (AR)

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

Не забудьте подписаться и оставить аплодисменты (или пару) или комментарий, если вам понравилось.

Спасибо и мир ✌🏾