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

Dart *

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica

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

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

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

Читать далее

Нюансы Const в Dart

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

Const — важное и полезное ключевое слово в Dart, но оно не такое простое, как кажется на первый взгляд. Весь опыт работы с ним собрал Николай Омётов, руководитель Flutter-разработки компании Mad Brains.

Const — это хорошо: для объектов — это возможность быть вычисленными во время компиляции, всегда быть в одном экземпляре и никогда не мутировать/изменяться, так как они immutable.Отсюда и правило Linter'a prefer_const_constructors.

Читать далее

Дружим RabbitMQ и Flutter/Dart

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

Привет, Хабр! Я Юра Петров, руководитель отдела мобильной разработки в Friflex и автор телеграм-канала «Мобильный разработчик».

В этой статье хотел бы поделиться с вами опытом работы с брокером сообщений RabbitMQ из Dart кода.

Читать далее

CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни

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

Привет! Меня зовут Никита Грибков, я Flutter-разработчик в AGIMA. Хочу в очередной раз поднять важную тему — CodeStyle. Думаю, что все понимают преимущества единообразного, понятного, красивого кода. Но к сожалению, оформить единые правила для всей команды — это большая задача, и выделить на нее время получается не всегда. Мы решили эту ситуацию изменить.

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

Надеюсь, собранные здесь правила помогут вам сэкономить пару-тройку рабочих часов, но главное — сберегут нервы.

Читать далее

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

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

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

Читать далее

Делаем кастомный трансформер для BLoC

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


Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga и соавтор телеграм-канала Flutter.Много. Как известно, BLoC — один из самых популярных способов для управления состоянием. Его преимущество в том, что мы можем управлять не только самим состоянием, но и теми данными, которые в него попадают.
Читать дальше →

Flutter в своей продакшн-эре и другие откровения на Flutter in Production

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

Привет, Хабр! Я Юра Петров, Tech Lead в Friflex и автор телеграм-канала «Мобильный разработчик»

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

Читать далее

Переходите на Flutter 3.27, тут быстрее и плавнее (и Dart тоже обновите)

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

Привет, Хабр! Меня зовут Юра Петров, я Tech Lead в компании Friflex и автор канала «Мобильный разработчик»

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

Читать далее

Редко, но метко! Пять малоизвестных виджетов

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

Flutter предлагает множество виджетов. Одни используются почти в каждом проекте, другие остаются без внимания из-за специфичности или редких сценариев применения. В этой статье расскажем о пяти малоизвестных виджетах: PhysicalShape, Offstage, Flow, 
UnconstrainedBox, SizedOverflowBox.

Читать далее

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

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

Меня зовут Самир, я Flutter-разработчик в Surf, и мы продолжаем разбираться в «дружбе» Huawei и Flutter и публикации в App Gallery.

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

Два новых линта в Dart 3.4

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

Новшества Dart 3.4 разобраны в официальном анонсе здесь. Но там не говорится про два новых правила линтера.

Разбираем правило missing_code_block_language_in_doc_comment для улучшения документации и правило unnecessary_library_name для чистки старого кода.

Читать далее

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

Пишем golden-тесты для генераторов кода на Dart

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

Некоторое время назад я доработал пакет source_gen_test Кевина Мура и добавил поддержку внешних golden-файлов. Этот пакет используют, чтобы писать тесты для таких генераторов кода как json_serializable.

Я сделал аннотацию ShouldGenerateFile, которая позволяет положить ожидаемый код сразу во внешний файл .dart. Она проверит, что генератор выдаёт именно такой код, и вместе с этим вы можете писать тесты на этот код.

Читать далее

Один год с Duit — ретроспектива развития

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

Ровно год назад был сделан первый коммит в репозиторий проекта, который во многом определил вектор моих профессиональных интересов, изысканий и приложения сил. 16 ноября 2023 года я начал работу над BDUI-фреймворком для Flutter - Duit.

Это был длинный путь и в этой заметке я хочу рассказать вам об этом захватывающем приключении.

Читать далее

Патчим freezed

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

freezed — один из популярнейших пакетов для генерации дата‑классов и перечислений в Dart. Даже такого большого и популярного пакета может не хватить под специфичную задачу. Под катом создадим свой пакет для локализаций

Написать кодогенератор!

Flutter Web. Часть 2

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

Привет, меня зовут Максим, я Flutter-разработчик в компании Surf.

Мы продолжаем рассказывать про Flutter Web. И это вторая статья.

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

Оптимизация архитектуры: делим крупные классы с помощью миксинов

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

Всем привет! Это статья для тех, кто интересуется таким фреймворком, как Flutter. А написал ее я, Николай Омётов, руководитель Flutter разработки IT-компании Mad Brains. Сегодня обсудим, как делить большой файл класса с помощью миксинов. 

Для начала давайте разберемся, зачем вообще делить большой файл класса?

Причин несколько: во-первых, чтобы было удобно читать и рефакторить код. Во-вторых, чтобы уменьшить количество конфликтов при merge и разделении истории git в конкретном файле. Согласитесь, отследить историю изменений в разных маленьких файлах удобнее и быстрее, чем в одном большом, с разнообразием изменений. 

Читать далее

Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?

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

Привет, Хабр!

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

Читать далее

Шеринг файлов локализации между несколькими пакетами в Flutter

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

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

Есть вариант заново настроить flutter_localizations в новом пакете и заполнять там новые переводы и переносить старые. Но это сложно и кажется неправильным.

Тогда я предлагаю второй вариант. Поделиться переводами из одного пакета в другой. В этой статье я расскажу, как это сделать.

Читать далее