Все потоки
Поиск
Написать публикацию
Обновить
4.48

Dart *

Язык программирования, созданный Google

Сначала показывать
Период
Уровень сложности

Кодогенерация в Dart. Часть 2. Аннотации, source_gen и build_runner

Время на прочтение7 мин
Количество просмотров9.7K

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


Читать дальше →

Синхронизируем скроллы в Sliver-списках

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.2K

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

Спойлер: мы попробовали разные варианты решения и нашли оптимальный.

Читать дальше

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

Привет, Хабр! Меня зовут Анна Ахлестова, я Flutter Team Lead в компании Friflex. Сегодня расскажу про защиту критических данных в приложении на Flutter — это один из модулей, которые аудиторы проверяют очень часто. Утечка таких данных может привести к серьезным потерям, от материальных до репутационных (рассказывала об этом на CrossConf).

Здесь разберу семь основных аспектов, на которые обращают внимание аудиторы при проверке:

Читать далее

Такие разные Slivers: обзор и применение во Flutter. Часть 1

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.3K

Всем привет! На связи Арсен, Flutter-разработчик Mad Brains. Многие из вас наверняка уже знакомы с Slivers, ведь это мощный инструмент для создания динамичных и адаптивных прокручиваемых областей в приложениях Flutter. В этом цикле статей рассмотрим все существующие sliver-виджеты во Flutter, чтобы познакомиться с каждым из них, понять, какие задачи они решают, и как их можно применять. Мы не будем углубляться в детали, дабы не усложнять материал, а обозначим основные особенности и отличия каждого сливера, чтобы понимать, какие вообще существуют и в нужный момент воспользоваться ими. Итак, погнали!

Читать далее

Flutter Hot Reload: Что под капотом?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.6K

Привет, Хабр! Меня зовут Станислав Чернышев, я автор книги «Основы Dart», телеграм-канала MADTeacher и доцент кафедры прикладной информатики в Санкт-Петербургском государственном университете аэрокосмического приборостроения.

В этот раз сделал перевод статьи с Medium, в которой пошагово рассматривается процесс горячей перезагрузки в Flutter - "Flutter Reload: What’s Under the Hood". Его лучше всего отнести к разряду вольных, т.е. он не дословный и отбрасывает некоторый авторский текст, сокращая и преобразуя его в тех местах, где это не критично для смысла.

Читать далее

Flutter 3.24: что нового

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.4K

Предварительный просмотр Flutter GPU для продвинутой графики и 3D, поддержка Multi-View Embedding в веб-приложениях, монетизация видеорекламы.

Команда Flutter-разработчиков Friflex делится переводом официального релиза новой версии фреймворка.

Читать далее

Новая жизнь или начало экзистенциального кризиса?

Время на прочтение39 мин
Количество просмотров1.6K

Ни для кого не секрет, что популярные языки программирования развиваются по схожему сценарию. Сначала появляется новый язык программирования с амбициозной и благой целью решить те или иные проблемы уже существующего языка, которые иначе, как созданием нового языка программирования, не решить. Далее язык набирает популярность, часто путем обрастания различными модными фичами. Теряет связь с миром свою простоту и лаконичность в бесконечной погоне за новыми возможностями. В какой-то момент наступает экзистенциальный кризис в виде Франкенштейна. А как отмыть кровь решать подобные проблемы, мы уже знаем. Или я несколько утрирую (или нет?), и, возможно, не все так плохо? Сегодня поговорим об этом в общем и о новом функционале языка Dart в частности.

Читать далее

Flutter 3.22 — Что нового во Flutter?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4K

Добро пожаловать, еще один захватывающий стабильный выпуск Flutter! На этот раз мы рады представить Flutter 3.22. WebAssembly переходит в стабильную версию, полнофункциональную серверную часть Vulkan для Impeller на Android, обещая более плавную графику и значительное повышение производительности. Мы также представляем оптимизированные рабочие процессы с новыми свойствами состояния виджетов, динамическим размером представления и улучшенной проверкой формы. Но это еще не все — вы найдете объединение ресурсов на любой вкус, предварительную версию Vertex AI для Firebase в Dart и обновленные инструменты разработчика, которые сделают вашу жизнь проще.

Всего за несколько месяцев с момента нашего последнего обновления мы объединили впечатляющие 1595 запросов на включение от сообщества Flutter, причем 37 новых членов сообщества впервые внесли свой вклад во Flutter!

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

Читать далее

Навигация в приложениях Flutter: разбираем Navigator, Router и лучшие библиотеки

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.4K

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

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

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

Читать далее

Соединяем Flutter, Firebase и ESP32 в единую систему

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров8.9K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. 

Сегодня расскажу, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера покажу, как снимать показания температуры и влажности с помощью датчика DHT11 и передавать эти данные через Firebase Realtime Database в приложение.

Читать далее

Создаем гироскопический параллакс-эффект во Flutter

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.8K

Сегодня расскажу, как с помощью гироскопа или акселерометра можно оживить картинку при простом наклоне телефона.

Читать далее

Dart 3.3 — что нового в Dart?

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.5K

Статья представляет из себя композицию нескольких авторских переводов статей от лица команды разработчиков Dart/Flutter, ссылки на оригинальные материалы будут даны в конце статьи.

Читать далее

Ближайшие события

Что нового в Flutter 3.19

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3K

Интеграция с искусственным интеллектом, обновления Impeller и поддержка Windows Arm64. Я, Юра Петров, Flutter Team Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.19 от Google.

Читать далее

Раскраска SVG картинки во flutter, и почему я решил отключить Impeller

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.3K

Сегодня расскажу, как можно реализовать раскраску для векторных картинок, и как выбор графического движка может оказать влияние на производительность в этом кейсе

Читать далее

Как с помощью ChatGPT реализовать раскраску во flutter

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров3.1K

Сегодня мы рассмотрим, как реализовать раскраску для растровых изображений с помощью алгоритма flood fill. Посмотрим, что уже есть на pub.dev, заглянем немного в теорию этого алгоритма, реализуем его на dart с помощью ChatGPT и применим во flutter приложении.

Читать далее

«Они убивают Lottie — молодцы!»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.1K

Привет, Хабр. Меня зовут Алексей, я разрабатываю мобильные приложения на Flutter в Пиробайте. Помимо этого увлекаюсь моушн-дизайном. В прошлый раз рассказывал о том, почему Flutter Web (не) мертв. Сегодня предлагаю продолжить наш тру-крайм в мире разработки и снова узнать кто кого убил, за что убил и убил ли вообще. Наш сегодняшний герой — инструмент для создания анимации Rive. 

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

Lottie — крайне полезный инструмент для создания анимации, однако далеко не идеальный. А когда у основного игрока начинают появляться проблемы, появляются те, кто с удовольствием начинают на него давить. Медленно, но верно подтачивая ноги глиняного колосса.

Прочитать обзор главного соперника Lottie

Flutter 3.16: что нового

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров7.1K

Тема Material 3 по умолчанию, предварительный просмотр Impeller для Android, расширения DevTools и многое другое. Наш Flutter Team Lead Юрий Петров делится первым переводом официального релиза от Google. Давайте посмотрим, что добавили и улучшили во фреймворке за три месяца с момента релиза Flutter 3.13

Читать далее

«Разгоняем» HashSet, HashMap и циклы на примере Dart

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.4K

Если вы занимались профилированием своего приложения, то, глядя на CPU Flame Chart, вероятно, испытывали смесь досады и азарта, глядя на особо «жирный» метод. Досады – что ваша программа всё ещё не идеальна по скорости. Азарт – от того, что вы можете докопаться до причины проблемы и отжать для процессора ещё немного свободного времени на более полезные вычисления. По крайней мере, я регулярно становлюсь жертвой обоих этих чувств, чему данная статья и обязана своим появлением.

Мой кейс – это попытка выжать из игрового движка Flame больше скорости и возможностей, чем он может «из коробки». Гейм-разработка имеет свои особенности по сравнению с «парсингом большого json» или устранением подлагивания при разовом проигрывании анимации, как минимум потому что здесь потенциально объёмные вычисления производятся абсолютно на каждом кадре. Так что, наверное, мой опыт не сильно будет перекликаться с теми проблемами, которые встречает большинство Flutter-разработчиков.

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

Читать далее

Flutter 3.13. Что нового?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.2K

Двухмерный скроллинг, ускорение работы с графикой, обновления от Material 3 и многое другое.

Привет! Это команда команда веб- и мобильной разработки Surf. Совсем недавно вышло обновление Flutter 3.13. Спешим поделиться с вами нашим переводом статьи со всеми новыми фичами ?

Читать далее