Обновить
20.68

Flutter *

Фреймворк для кросс-платформенной разработки

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

От Junior до Team Lead меньше чем за 2 года

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


Всем привет! Меня зовут Дмитрий Лёвочкин, я Flutter Team Lead в компании Friflex, а также автор блога «Дневник Flutter-разработчика».

Разделим эту статью на четыре логические части:

1. Кратко расскажу о своём пути до Junior и опишу своё видение, как бы я входил в IT сейчас, без технического образования и опыта.

2. Расскажу о своём пути до Team Lead. Почему эту «лычку» получил я и как докатился до жизни такой)

3. Дам советы, как быстрее развиваться по софт и хард скиллам.

4. Четвертая часть — это ответы на вопросы моих подписчиков. Я спрашивал в своем блоге, что читателям было бы интересно увидеть в этой статье, и некоторые вопросы не удалось раскрыть в основной части. А они стоят внимания)

Читать далее

Встречаем yx_scope: DI-фреймворк для работы со скоупами в открытом доступе

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

Для больших проектов не всегда хватает одного модуля: иногда надо пошарить какие‑нибудь классы или UI‑элементы. Так со временем проект дробится на много мелких модулей, которые так или иначе связаны разного рода зависимостями. И если за этим не следить, то рано или поздно структура проекта может стать запутанной.

Наша команда разрабатывает приложение Яндекс Про, которым пользуются водители и курьеры. Из‑за многомодульности разные команды использовали разные подходы к связыванию зависимостей — в основном это getIt, injectable и riverpod. Но у всех решений были свои недостатки. К тому же то, что в одном проекте используется несколько подходов, сильно усложняло взаимодействие команд.

Сложности подтолкнули нас к поиску собственного решения, которое удовлетворяло бы всем нашим требованиям. И теперь мы готовы поделиться им с комьюнити: наше решение — это группа библиотек yx_scope.

Расскажу, зачем нужны скоупы и как они работают, в чём преимущества нашего фреймворка и как его использовать.

Читать далее

Интеграция TFLite во Flutter: внедряем модели машинного обучения в мобильное приложение

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

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

Читать далее

Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery

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

Размер приложения часто играет важную роль в восприятии его пользователями и принятии ими решения о скачивании. Исследования показывают, что чем меньше размер APK, тем выше вероятность его установки и тем реже оно оказывается в списке на удаление. Конечно же, это важно для команды Яндекс Go, так как наше приложение непрерывно развивается.

Для внедрения одной из SDK, основанной на Flutter, мы прибегли к механизму Dynamic Feature Delivery (DFD). Но оказалось, что в русскоязычном сегменте информации о DFD крайне мало, поэтому я решил поделиться нашим опытом работы с этим механизмом на Android с Google Play Feature Delivery Library.

Сегодня мы подробно разберём, как интегрировать механизм DFD в современную архитектуру Android‑приложения с использованием корутинов, а также протестируем загрузку и установку динамического модуля, использующего Flutter.

Читать далее

Самые важные пакеты в экосистеме Dart и Flutter на Pub 2024

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

Компания Very Good Ventures провела исследование и опубликовала рейтинг самых важных пакетов в экосистеме Dart и Flutter. 

Рассказываем, какие пакеты вошли в топ — от независимых разработчиков, компаний и сообщества. 

Читать далее

Как подружить Flutter и Huawei — настраиваем App Gallery. Часть 1

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

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

Обычно готовить приложение к публикации в таких сторах особо не нужно, но есть исключение — App Gallery.

Меня зовут Самир, я Flutter-разработчик в Surf, и в этой части я расскажу, как всё-таки подружить Huawei и Flutter.

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

Не пытайтесь динамически загружать код в ваше Flutter-приложение

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

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

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

Читать далее

Рецензия на книгу “Flutter и Dart. Сборник рецептов: Разработка полнофункциональных облачных приложений”

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

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

Читать далее

Что такое Home-виджеты и как их подружить с вашим приложением на Flutter

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

Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. С Flutter я работаю уже несколько лет. Несмотря на все преимущества, он не всегда оптимально решает задачи, которые требуют глубокой нативной интеграции. Существуют инструменты, разработанные специально под нативные платформы, но недоступные напрямую из Dart. И как правило, в таких случаях на помощь приходит PlatformChannel

Но существуют и нативные инструменты, которые интегрируются с Flutter. Например, создавать виджеты на Android можно с помощью Glance или XML, а на iOS — с WidgetKit. Эти технологии позволяют внедрять так называемые Home Widgets — элементы, с которыми можно взаимодействовать напрямую с домашнего экрана. В этой статье разберу основные инструменты, расскажу, как их внедрять и использовать во Flutter-приложениях.

Читать далее

Как Dart VM выполняет твой код?

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

Привет, Habr!

Очень давно хотел перевести статью Вячеслава Егорова и наконец добрался до этого. Меня зовут Алексей Зубанков, я Flutter-разработчик в ГК Gems. Оригинал статьи можно прочитать здесь, а я представляю вам первую часть описывающую принципы работы Dart VM с различных источников.

Читать далее

10 SDK, чтобы улучшить ваше мобильное приложение

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

SDK (Software Development Kit) — комплекс инструментов для расширения функциональности мобильных приложений и доступа к новым опциям и возможностям ПО. При этом каждый SDK ограничен своим набором компонентов и закрывает определённые задачи бизнеса. В статье расскажем о базовых, второстепенных и перспективных SDK, опишем их функции и возможности, приведём примеры наборов разработчика для каждой из категорий.

Читать далее

Как мы успешно внедрили Единую Биометрическую Систему во Flutter-приложение

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

Всем привет! Меня зовут Вадим, я старший разработчик по направлению Flutter в компании STM Labs. В этой статье я хочу поделиться нашим опытом внедрения единой биометрической системы в приложение, написанное на Flutter.

Читать далее

ООП в Dart

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

Йоу, юзер! Даннаястатья относится к циклу статей «База джуна на Flutter». Если ты не видел начальную ноду — ознакомиться можешь тут, а если уже видел — погнали дальше!

Okaaaay let's go!

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

Compute — волшебная пилюля?

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

При разработке flutter‑приложения может возникнуть задача, в рамках которой придется выполнять какую‑то «тяжелую» операцию над большим объемом данных. Если потратить на нее больше 16 миллисекунд (или 8, если говорим о 120 fps), то пользователи могут заметить небольшое подлагивание при скролле или анимациях. Во фреймворке подготовлена удобная функция compute, которая выполнит нужную операцию в отдельном изоляте в фоновом режиме.

Казалось бы, вот оно идеальное решение — как только начинаются проблемы, оборачиваем вызов в compute и продолжаем жить без проблем дальше. В большинстве случаев — да, но иногда этого может быть недостаточно.

Читать далее

Ещё одна статья про макросы. Часть 2

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

Продолжаем предыдущую статью — вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и разберём оставшиеся интересные (и негативные, да!) примеры.

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

Ещё одна статья про макросы. Часть 1

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

Про макросы в Dart написали уже кучу статей, в этой и следующей — минимум теории и максимум практики и рассуждений.

Вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и придумаем, как упростить жизнь с помощью макросов, как формировать и проверять гипотезы, как радоваться результатам или разбираться, что пошло не так.

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

Упрощение управления формами во Flutter с помощью пакета FForm

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

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

Читать далее

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

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

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

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

Читать далее

База джуна на Flutter

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

Йоу, юзер! Данная статья будет являться вводной в серию статей о том, какой базой должен обладать разработчик для первой коммерции на Flutter. Интересно? Тогда ныряй в статью!

Нырнуть в статью

Как понятия Patterns и Records в языке Dart упрощают жизнь разработчикам

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

В языке Dart 3 версии появились новые понятия Patterns и Records, которые позволяют упростить написание типовых конструкций кода, чем улучшить его читаемость и сделать красивее. В рамках этой статьи мы познакомимся с этими нововведениями и рассмотрим типовое применение этих понятий на реальных примерах.

Читать далее