Как стать автором
Поиск
Написать публикацию
Обновить
8.4

Flutter *

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

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

Использование wildcard-переменной _ в Dart 3

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

С выходом Dart 3 в язык были добавлены значительные нововведения, включая рекорды, паттерн-матчинг и модификаторы классов. Данная статья посвящена менее обсуждаемой, но полезной возможности, улучшающей чистоту и выразительность кода — wildcard-переменной, обозначаемой символом _.

Символ _ в определенных контекстах позволяет явно указать на намерение разработчика проигнорировать некоторое значение. Рассмотрим сценарии использования и преимущества этого механизма.

Читать далее

Telegram Web App: Интеграция с Flutter

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

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

Теперь рассмотрим, как создать Telegram Web App с использованием Flutter, фреймворка для разработки кроссплатформенных приложений.

Читать далее

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

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

Flutter & GitLab CI/CD. Подготовка и настройка физической машины

В мире мобильной разработки, где скорость и стабильность доставки приложений определяют успех, выбор инструментов для автоматизации становится особенно важным. Работая мобильным разработчиком в TAGES более пяти лет, я убедился, что использование self‑hosted решений дает значительные преимущества в гибкости, надежности и контроле над процессами. Одним из таких мощных инструментов является GitLab — платформа, которая позволяет не только управлять кодом, но и настраивать полноценные CI/CD‑процессы.

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

Читать далее

Dart / Flutter — применяя zero / empty объекты ко всему

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

Больше техническая заметка, чем статья, поэтому постараюсь изложить мысли как можно кратче.

Приходя из JS/TS мира, когда я впервые написал на Dart, самой прекрасной вещью, помимо многих было использование функций isEmpty или isNotEmpty для String, List, Map, и так далее. Это было невероятно просто и прекрасно не писать каждый раз  .length == 0.

Также, очень полезным паттерном были empty/zero значения как Duration.zero, Offset.zero, и другие.

Спустя время, я нашел привычку использовать похожий принцип для работы с различными случаями, а также пришел к мысли - что если мы используем такие значения для большей части объектов, избавляясь от null (не для всех случаев, но тем не менее)? Немного поискав, нашел похожий паттерн в Go и других языках, и продолжил думать.

Читать далее

Реализация простого SSE клиента на Dart

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

Хочу поделиться недавним кейсом из нашей практики мобильной разработки. Перед нами стояла задача — реализовать обновление данных в клиентском приложении в режиме реального времени, когда изменения на сервере моментально отображаются у пользователя.

Мы рассматривали два подхода: WebSocket и Server-Sent Events (SSE). Оба варианта соответствовали нашим требованиям, но в итоге мы остановились на SSE — из-за его простоты реализации и использования стандартного HTTP-протокола.

Читать далее

Flutter дайджест – Март 2025

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

Привет, Flutter-разработчики! 👋 В этом выпуске вас ждут горячие новости, свежие пакеты и интересные видео.

На канале FlutterPulse ежедневно выходят новые обновления пакетов, полезные статьи и эксклюзивный контент! Подписывайтесь, чтобы не пропустить самое важное.

Читать далее

От Нot reload для Web до макросов в IceBox: хроники Flutter-марта

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

Привет, Хабр! На связи Friflex. Мы разрабатываем мобильные приложения и специализируемся на Flutter (работаем с фреймворком с первой версии).

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

Вот что нового во Flutter-вселенной случилось в марте.

Читать далее

Первый выпуск «Не 12 часов»: конвейер, проектирование и префлайт-чек-лист

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

«Работать нужно не 12 часов, а головой» — так сказал Стив Джобс, и мы, ведущие сотрудники Surf, с этим согласны. Мы запустили подкаст «Не 12 часов» и решили рассказать о нём и вам.

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

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

Выжимаем максимум из код-ревью и спасаем нервные клетки

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

Большинство разработчиков не любит проводить код-ревью. Все понимают, что это важно и нужно, могут с ходу назвать три-четыре причины необходимости этого процесса. Но раз за разом они избегают его. Или участвуют в нём неэффективно.

Так разрушим же шаблоны — не будем акцентировать внимание на важности и полезности код-ревью, а разберёмся в причинах сложившейся неприязни к этому процессу. И попробуем понять, как с этим жить.

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

5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову

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

Привет! На связи Никита Грибков, Flutter-разработчик AGIMA. В прошлом году я стал свидетелем жутких событий, которые разворачивались на одном из наших проектов. В сущности, жуткими они были только потому, что техзадание состояло из сложных и нестандартных задач — но всё-таки они изрядно потрепали нам нервы.

Времени на всё про всё, как водится, было по минимуму. Мы закатали рукава, вооружились всеми доступными инструментами — и начали подбирать решение для каждой проблемы. Ниже опишу, что представлял собой проект и какие именно задачи заставили нас поднапрячься.

Читать далее

Решение задач распознавания на Flutter

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

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

Читать далее

FlutterPulse: главные события недели 27.02-05.03.2025

Время на прочтение3 мин
Количество просмотров653

Привет, друзья! Я автор телеграм-канал FlutterPulse.

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

Читать далее

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

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

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

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

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

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

FlutterPulse: главные события недели 20.02-26.02.2025

Время на прочтение3 мин
Количество просмотров769

Привет, друзья! Я автор телеграм-канал FlutterPulse.

Хотел сделать небольшую подборку новостей про Flutter, которые, как мне показалось, были самыми интересными за эту неделю

Читать далее

Такие разные Slivers. Часть 5: аналоги обычных виджетов

Время на прочтение2 мин
Количество просмотров802

Мы подошли к заключительной части нашего цикла о сливер-виджетах во Flutter. За прошедшие статьи мы разобрали множество различных типов сливеров, от списков и сеток до гибких решений для управления размером и поведением элементов. В этой финальной статье мы познакомимся со сливер-виджетами, которые являются аналогами обычных (box-based) виджетов, выполняя схожие функции, но для работы в прокручиваемых структурах. Эти элементы расширяют возможности управления видимостью, анимациями и декорациями, предоставляя дополнительную гибкость при создании сложных интерфейсов.

Читать далее

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

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

Погрузитесь в Flutter 3.29! Этот релиз улучшает разработку и повышает производительность, с обновлениями Impeller, Cupertino, DevTools и других. Flutter 3.29, в котором приняли участие 104 уникальных автора, демонстрирует преданность сообщества. Давайте рассмотрим, что нового!

Читать далее

FlutterPulse: главные события недели 13.02-19.02.2025

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

Привет, друзья! Я автор телеграм-канал FlutterPulse.

На этой неделе новостей было немного, но есть несколько интересных статей и обновлений!

Читать далее

Секреты мобильной разработки в логистике: разгоняем MVVM до максимума

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

Меня зовут Саша, я уже шестой год помогаю упрощать логистические интерфейсы в Логистике Маркета. Сегодня я хочу поделиться, как с помощью грамотно подобранной архитектуры нам удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых у нас очень много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.

Читать далее

Такие разные Slivers. Часть 4: гибкое управление элементами

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

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

Читать далее

Аналитика мобильных приложений на Flutter. Часть 2. Подключение Firebase Analytics

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

В первой части мы рассмотрели подключение решения Yandex AppMetrica. В этой части мы рассмотрим подключение решения от Google - Firebase.

Читать далее