WebAssembly, улучшения рендеринга графики и дополнительные возможности для интеграции ИИ.
Я, Юра Петров, Flutter Tech Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.22 от Google с комментариями.
Фреймворк для кросс-платформенной разработки
WebAssembly, улучшения рендеринга графики и дополнительные возможности для интеграции ИИ.
Я, Юра Петров, Flutter Tech Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.22 от Google с комментариями.
Мир изменчив, а перспективы туманны. Новичкам зачастую не ясно, какие технологии изучать, а «старичкам» не всегда удается быть «на гребне технологической волны». В этой статье я приглашаю проследить за моими рассуждениями на тему того, что ждет кроссплатформенную мобильную разработку в будущем и узнать, какое место занимает Flutter в моем видении текущего технологического тренда.
Вышла новая версия языка Dart — 3.4. Появились обновления для WebAssembly и предварительная версия макроса JsonCodebale. Исправлено более 50% ошибок анализатора.
Читайте первый перевод официального релиза от Юрия Петрова, Flutter Tech Lead в Friflex и автора тг-канала Мобильный разработчик.
Добро пожаловать, еще один захватывающий стабильный выпуск Flutter! На этот раз мы рады представить Flutter 3.22. WebAssembly переходит в стабильную версию, полнофункциональную серверную часть Vulkan для Impeller на Android, обещая более плавную графику и значительное повышение производительности. Мы также представляем оптимизированные рабочие процессы с новыми свойствами состояния виджетов, динамическим размером представления и улучшенной проверкой формы. Но это еще не все — вы найдете объединение ресурсов на любой вкус, предварительную версию Vertex AI для Firebase в Dart и обновленные инструменты разработчика, которые сделают вашу жизнь проще.
Всего за несколько месяцев с момента нашего последнего обновления мы объединили впечатляющие 1595 запросов на включение от сообщества Flutter, причем 37 новых членов сообщества впервые внесли свой вклад во Flutter!
Итак, погрузитесь и откройте для себя все новые функции и улучшения, которые сообщество Flutter привнесло в этот последний выпуск!
Dart 3.4 вышел сегодня! Этот релиз демонстрирует совместные усилия Dart и Flutter в посте Flutter 3.22 / Dart 3.4 / IO24, так что обязательно ознакомьтесь с полной информацией там. В этом посте мы расскажем о поддержке WebAssembly, а затем подробно остановимся на одном из основных пунктов дорожной карты для языка Dart на этот год: макросы.
Автор: Michael Thomsen
В этой статье подробно рассмотрим навигацию во Flutter, отличия и специфичные моменты под разные платформы, а также обсудим возможности Router.
Навигация в Flutter предоставляет разработчикам возможность создавать сложные и гибкие пользовательские интерфейсы, а также легко адаптировать приложения под разные платформы и устройства.
Основной идеей навигации в Flutter является стековая организация экранов, где каждый экран представлен своим виджетом. Переходы между экранами осуществляются путем добавления и удаления маршрутов из стека.
Во Flutter очень много виджетов и в каждом есть свойство key — ключ. Используется оно не так часто и, на первый взгляд, может показаться несущественным. Но если использовать его неправильно, настанет хаос, разведутся баги, а приложение начнет вести себя неподобающе. Приставать к людям, наверное, не станет, но явно усложнит жизнь.
У ключей во Flutter есть несколько разновидностей. Выбрать правильный тип ключа для конкретной ситуации — сложная задача даже для опытных разработчиков. Так что идём смотреть, как правильно использовать ключи и избежать потенциальных проблем в работе приложения.
Умные книжки, умные люди и умный линтер советуют использовать const-константы. Но, почему так важно использовать это магическое слово, и когда его важно не использовать?
В этой статье раскроем особенности работы const-констант и ответим на эти вопросы.
Разобраться в тонкостях тестирования пользовательского интерфейса веб-приложений Flutter может быть непростой задачей. Если вы когда-либо ломали голову, размышляя о том, как применить свой опыт работы с Selenium к интерфейсу, нарисованному с помощью Flutter, эта статья для вас.
Мы рассмотрим метод, который поможет преодолеть разрыв между уникальным процессом рендеринга Flutter и мощными возможностями тестирования Selenium.
Независимо от того, являетесь ли вы опытным тестировщиком или только начинаете свой путь, представленные здесь идеи и подходы помогут вам оптимизировать процесс тестирования и повысить качество ваших веб-приложений на Flutter.
Многие думают, что запустить тесты Web UI с помощью известных инструментов не получится, но это не так. Давайте разбираться.
Реализация паттерна создания интерфейса для конструкторов и статических атрибутов в Dart.
По умолчанию, Dart запрещает создавать контракты для статических интерфейсов классов. В статье рассматриваются причины и возможные решения проблемы.
Всем привет!
Прошло не так много времени с выхода второго издания «Основы Dart» и т.к. этот язык программирования не стоит на месте, привел книгу к актуальному состоянию, добавив в нее раздел по Extension Types. Несмотря на то, что материал был у меня еще до выхода Dart 3.3 (да здравствует копание в dev-ветке), 3-е издание «Основы Dart» анонсируется на хабре сегодня и тому имеется ряд причин....
В этой статье хотел бы затронуть несколько важных моментов дальнейшего развития книги, рассказать о подготовке печатной версии, чем она будет отличаться от текущей, а также поделиться планами на книжку "Основы Flutter".
Hola, Amigos! Меня зовут Сергей Климович, я Mobile TeamLead агентства заказной разработки Amiga и соавтор телеграм-канала Flutter. Много. На канале мы уже рассказывали про Home Widget для Android, теперь пришло время поговорить про iOS. Я нашел отличную статью по этой теме и решил поделиться с вами переводом.
До конференции Mobius остался месяц, мы представляем Хабру её программу. И её вечно непросто поделить на блоки.
Понятно, что доклады «про iOS» и «про Android» интересны разным разработчикам, поэтому хабрапост хочется разделить пополам. Но как правильнее поступить с докладами по Flutter? А про Kotlin, когда есть KMP? А с теми, которые не привязаны к платформе?
В общем, не уделяйте слишком много внимания тому, как всё разделено на части — лучше смотрите, о чём будут сами доклады.
Идеей для написания статьи стал интересный для нас первый опыт интеграции рекуррентных платежей. Путь шел через расстрел гугла вопросами, изучение документации, эксперименты, ошибки и общение со службой поддержки Tinkoff. В этой статье собрали воедино все шаги, которые предпринимали, обозначили тонкости и нюансы, с которыми столкнулись, добавили конкретные примеры доработок.
Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter.
В версии Flutter 3.19 появился SDK для работы с генеративным ИИ. В этой статье разбираемся с возможностями google_generative_ai на примере простого Flutter-проекта.
Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механизм нативного связывания (аннотации @pragma('vm:entry-point')
для вызовов из Flutter Engine в Dart, @Native
и external
для обращения к C++ коду во Flutter Engine из Dart).
Но в действительности Flutter Engine не имеет никакого платформо-специфического кода (при этом собран под целевую аппаратную архитектуру) и не знает, как работает платформенный event loop, как создавать потоки, на какой поверхности выполнять отрисовку сцены и не может получать информацию о действиях пользователя (касание экрана, перемещение указателя мыши, нажатие клавиш) и системных событиях. Такое архитектурное решение было сделано для того, чтобы иметь возможность запускать Flutter-приложения потенциально на любом устройстве с экраном (даже светодиодной панелью). В этой статье мы поговорим про Flutter Embedder, его роль в запуске приложения и привязке к системным event loop, а также рассмотрим сборку простого embedder для публикации Flutter приложения как VNC-сервера.
Привет! Меня зовут Александр Омельяненко, я работаю тимлидом Flutter-команды в AGIMA. Расскажу, как и почему на одном из наших проектов мы внедрили компонентный подход к разработке и какие плоды нам это дало. В статье покажу основные плюсы и минусы нашего решения. А еще затрону прикладные моменты: на какие позиции мы поделили участников команды, какие обязанности им поручили и как документировали работу.
Hola, Amigos! С вами Владимир Зевеке, Flutter dev агентства продуктовой разработки Amiga и соавтор телеграм-канала Flutter. Много. Сегодня расскажу про пакет pin_code_fields и его применение на практике.
Пакет полезен для авторизации в приложении по номеру телефона. Покажу реализацию на примере проекта, над которым работаю сейчас. Проект находится под NDA, поэтому могу сказать, что это сфера здоровья. Но авторизация в приложении по одноразовому коду много где встречается, например, банки, e-com, услуги доставки и так далее.
Кроссплатформенный фреймворк Flutter появился в 2017 году. С тех пор он стал одним из самых популярных инструментов для разработки мобильных приложений. Мы в Friflex работаем с Flutter с первого релиза, следим за его развитием и каждый год проводим большую конференцию о кроссплатформенной разработке — CrossConf. В этой статье вспоминаем историю фреймворка. А еще делимся, как с ним познакомились наши разработчики.
Если вы разработчик iOS (или Flutter, как я) приложений, вероятно, вы уже сталкивались с предупреждением от Apple: ITMS-91053: Missing API Declaration.