
Flutter *
Фреймворк для кросс-платформенной разработки
Синхронизация звука и видео. Взгляд дилетанта

При проведении прямых трансляций звук часто опережает изображение. Никто не будет смотреть футбол, когда радость болельщиков от гола слышна раньше, чем будет видно, как этот гол забьют. Сейчас появились специальные приложения, которые помогают добиться синхронности видео и звука. Раньше для этого использовали хлопушку, как при съёмке кино, а затем методом проб и ошибок подгоняли звук под видео в предельно короткие сроки до выхода трансляции в эфир. Летом мне пришлось разработать подобное приложение, и тогда я с головой погрузилась во все тонкости синхронизации...
Flutter Push-уведомления, том числе в Web

Добрый день!
Хотел написать статью, обобщающую то, что я нашёл в интернете. Может кому-то она покажется слишком простой, может ненужной, а может наоборот вызовет обсуждение, на что я крайне надеюсь.
В двух словах о чём статья:
С нуля мы создадим flutter-проект с подключением к push-уведомлениям. Будем отправлять уведомления не только на Android, IOS, но и на наш веб-сайт, который может рассылать уведомления в т.ч. на мобильные устройства. Нам потребуется дополнительно лишь небольшой хостинг с mysql БД и php.
Flutter Web. Часть 2

Привет, меня зовут Максим, я Flutter-разработчик в компании Surf.
Мы продолжаем рассказывать про Flutter Web. И это вторая статья.
Антитренды в мобильной разработке на Flutter

Привет, Хабр! Меня зовут Екатерина, я Flutter-разработчик в компании Friflex. Мы создаем мобильные приложения и сайты для бизнеса.
Flutter — один из самых популярных фреймворков для мобильной разработки. В этом сентябре количество вопросов с одноименным тегом на Stack Overflow превысило 179 тысяч.
Flutter предлагает много библиотек, пакетов и других инструментов, которые помогают создавать красивые и быстрые программы. Но кроме удобных паттернов среди них есть практики, которые поначалу кажутся хорошей идеей, а со временем только мешают.
В этой статье предлагаю разобрать «антитренды» — решения, которые могут показаться удобными и привлекательными, но на деле только раздражают и замедляют работу. А также обсудить, чем их можно заменить.
Три пути к Flutter: истории разработчиков, которые справились

Flutter-разработка набирает популярность. И мы в «Финаме» заметили, что начинающим специалистам бывает не так-то просто понять, как стать разработчиком, как сориентироваться в новой технологии. Поэтому в этой публикации мы хотим дать слово трем нашим молодым сотрудникам, которые расскажут, как они стали Flutter-разработчиками, какие технологии им пришлось для этого освоить и какие трудности преодолеть.
Статья может быть полезна всем, кто ищет дорожные карты этого пути: с чего начать и какие скилы освоить, чтобы начать карьеру в мире Flutter, какие могут быть подводные камни и особенно — на что обратить внимание молодым специалистам.
Оптимизация архитектуры: делим крупные классы с помощью миксинов

Всем привет! Это статья для тех, кто интересуется таким фреймворком, как Flutter. А написал ее я, Николай Омётов, руководитель Flutter разработки IT-компании Mad Brains. Сегодня обсудим, как делить большой файл класса с помощью миксинов.
Для начала давайте разберемся, зачем вообще делить большой файл класса?
Причин несколько: во-первых, чтобы было удобно читать и рефакторить код. Во-вторых, чтобы уменьшить количество конфликтов при merge и разделении истории git в конкретном файле. Согласитесь, отследить историю изменений в разных маленьких файлах удобнее и быстрее, чем в одном большом, с разнообразием изменений.
Как начать создавать Flutter-приложения на Авроре: полная инструкция

Привет Хабр, это Юра Петров, Tech Lead Friflex. Последнее время многие меня спрашивают, как быстро начать разрабатывать приложения для системы Аврора с помощью фреймворка Flutter. Решил поделиться опытом и собрал ультимативный гайд. Всё, что я буду показывать, я буду делать на чистой системе Linux Mint. И в целом я рекомендую установить Linux для работы с Авророй, параллельно вашей системе. Это избавит вас от многих проблем. Я буду описывать процесс так, как будто вы никогда не использовали Linux.
Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?

Привет, Хабр!
Меня зовут Богдан, и я Flutter-разработчик, работающий в аутсорсе. В этой статье на моем примере я расскажу о создании веб-приложения на Flutter для Telegram Mini Apps. Хотите узнать, насколько применим Flutter в вебе, как разработать и запустить свое приложение в Telegram? Тогда нажимай "Читать далее"!
Шеринг файлов локализации между несколькими пакетами в Flutter

Когда вы разрабатываете большое приложение, вы волей-неволей дробите его на пакеты, однако если использовать стандартный механизм, который предлагают разработчики Flutter в официальной документации, прямого способа пошерить файлы локализации между проектами нет.
Есть вариант заново настроить flutter_localizations в новом пакете и заполнять там новые переводы и переносить старые. Но это сложно и кажется неправильным.
Тогда я предлагаю второй вариант. Поделиться переводами из одного пакета в другой. В этой статье я расскажу, как это сделать.
Two-Tier Data Model архитектура: концепт и мысли

Краткая цель статьи — сделать потоки данных проще, более тестируемыми и управляемыми с DTO и Runtime Model структурой.
Эта статья — набор мыслей и экспрессии опыта моего текущего видения этой проблемы, как комбинации опыта от работы над проектами и может быть, переизобретение колеса:) Но, в то же время, я хотел бы поделиться этими мыслями — и, надеюсь, вдохновить и посмотреть на структуры данных.
Концепт использует немного функционала Entities, описанных Robert C. Martin (Uncle Bob) в Clean Architecture, также Model‑Driven engineering вместе с концептом immutability.
Эта статья:
— разделена на секцию теории и применения, чтобы статью можно было понять разработчикам не знающим язык используемый в примерах (Dart).
— в основном фокусируется на client‑side (frontend, app, server‑side рендеринг) разработчиках, но думаю что может быть интересна и другим разработчикам..
— для примеров используется абстрактное финансовое приложение и язык Dart.
От Junior до Team Lead меньше чем за 2 года

Всем привет! Меня зовут Дмитрий Лёвочкин, я Flutter Team Lead в компании Friflex, а также автор блога «Дневник Flutter-разработчика».
Разделим эту статью на четыре логические части:
1. Кратко расскажу о своём пути до Junior и опишу своё видение, как бы я входил в IT сейчас, без технического образования и опыта.
2. Расскажу о своём пути до Team Lead. Почему эту «лычку» получил я и как докатился до жизни такой)
3. Дам советы, как быстрее развиваться по софт и хард скиллам.
4. Четвертая часть — это ответы на вопросы моих подписчиков. Я спрашивал в своем блоге, что читателям было бы интересно увидеть в этой статье, и некоторые вопросы не удалось раскрыть в основной части. А они стоят внимания)
Встречаем yx_scope: DI-фреймворк для работы со скоупами в открытом доступе

Для больших проектов не всегда хватает одного модуля: иногда надо пошарить какие‑нибудь классы или UI‑элементы. Так со временем проект дробится на много мелких модулей, которые так или иначе связаны разного рода зависимостями. И если за этим не следить, то рано или поздно структура проекта может стать запутанной.
Наша команда разрабатывает приложение Яндекс Про, которым пользуются водители и курьеры. Из‑за многомодульности разные команды использовали разные подходы к связыванию зависимостей — в основном это getIt, injectable и riverpod. Но у всех решений были свои недостатки. К тому же то, что в одном проекте используется несколько подходов, сильно усложняло взаимодействие команд.
Сложности подтолкнули нас к поиску собственного решения, которое удовлетворяло бы всем нашим требованиям. И теперь мы готовы поделиться им с комьюнити: наше решение — это группа библиотек yx_scope.
Расскажу, зачем нужны скоупы и как они работают, в чём преимущества нашего фреймворка и как его использовать.
Ближайшие события
Интеграция TFLite во Flutter: внедряем модели машинного обучения в мобильное приложение

Привет! Меня зовут Никита Грибков, я Flutter-разработчик в AGIMA. В этой статье расскажу про фреймворк TensorFlow Lite, который позволяет интегрировать в мобильное приложение модели машинного обучения. Это полезная штука, если нужно реализовать фичи, связанные с распознаванием речи или с классификацией изображений. Покажу, как обучать модели и как затем с ними работать.
Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery

Размер приложения часто играет важную роль в восприятии его пользователями и принятии ими решения о скачивании. Исследования показывают, что чем меньше размер APK, тем выше вероятность его установки и тем реже оно оказывается в списке на удаление. Конечно же, это важно для команды Яндекс Go, так как наше приложение непрерывно развивается.
Для внедрения одной из SDK, основанной на Flutter, мы прибегли к механизму Dynamic Feature Delivery (DFD). Но оказалось, что в русскоязычном сегменте информации о DFD крайне мало, поэтому я решил поделиться нашим опытом работы с этим механизмом на Android с Google Play Feature Delivery Library.
Сегодня мы подробно разберём, как интегрировать механизм DFD в современную архитектуру Android‑приложения с использованием корутинов, а также протестируем загрузку и установку динамического модуля, использующего Flutter.
Самые важные пакеты в экосистеме Dart и Flutter на Pub 2024

Компания Very Good Ventures провела исследование и опубликовала рейтинг самых важных пакетов в экосистеме Dart и Flutter.
Рассказываем, какие пакеты вошли в топ — от независимых разработчиков, компаний и сообщества.
Как подружить Flutter и Huawei — настраиваем App Gallery. Часть 1

В жизни каждого мобильного разработчика настает момент, когда пора выкладывать приложение в альтернативные сторы.
Обычно готовить приложение к публикации в таких сторах особо не нужно, но есть исключение — App Gallery.
Меня зовут Самир, я Flutter-разработчик в Surf, и в этой части я расскажу, как всё-таки подружить Huawei и Flutter.
Не пытайтесь динамически загружать код в ваше Flutter-приложение

Привет, Хабр! Меня зовут Станислав Чернышев, я автор книги «Основы Dart», телеграм-канала MADTeacher и доцент кафедры прикладной информатики в Санкт-Петербургском государственном университете аэрокосмического приборостроения.
Исследуя тему плагинной архитектуры для Dart/Flutter-приложений. А точнее, проводя ритуал призыва группы изоляционных Dart-демонов при переносе опыта с предыдущих проектов в образовательный материал, наткнулся на интересную статью с обзором существующих решений и почему команда сервиса AppFlowy пока отказалась двигаться в этом направлении.
Рецензия на книгу “Flutter и Dart. Сборник рецептов: Разработка полнофункциональных облачных приложений”

Новая рецензия будет о книге, помогающей разработчикам стать профи в довольно редкой пока профессии Flutter/Dart Developer. Книга«Flutter и Dart. Сборник рецептов» (Flutter and Dart Cookbook) авторства Ричарда Роуза (Richard Rose) — это практическое руководство по разработке мобильных приложений с использованием Flutter и Dart. Книга построена на аналогии со сборником кулинарных рецептов, помогая разработчикам решать конкретные задачи на мобильных платформах. Рассматривается создание UI, работа с API, управление состоянием приложений и многие другие аспекты разработки на Flutter и Dart.
Что такое Home-виджеты и как их подружить с вашим приложением на Flutter

Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. С Flutter я работаю уже несколько лет. Несмотря на все преимущества, он не всегда оптимально решает задачи, которые требуют глубокой нативной интеграции. Существуют инструменты, разработанные специально под нативные платформы, но недоступные напрямую из Dart. И как правило, в таких случаях на помощь приходит PlatformChannel.
Но существуют и нативные инструменты, которые интегрируются с Flutter. Например, создавать виджеты на Android можно с помощью Glance или XML, а на iOS — с WidgetKit. Эти технологии позволяют внедрять так называемые Home Widgets — элементы, с которыми можно взаимодействовать напрямую с домашнего экрана. В этой статье разберу основные инструменты, расскажу, как их внедрять и использовать во Flutter-приложениях.
Вклад авторов
Surf_Studio 274.0Friflex_dev 178.2smartdev 177.0dmitriizolotov 156.0alphamikle 128.0saturovv 117.0Wriketeam 108.6mrDevGo 98.3sultee 96.0sharpfellow 83.2
