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

Dart *

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

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

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

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

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

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

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

Читать далее

Новости

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Привет, Habr!

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Flutter Web. Часть 1

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

Как работает Flutter Web, и есть ли особенности взаимодействия с платформой? Разбираемся с этим в серии статей. Эта — первая.

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

Flutter vs Kotlin Multiplatform: что выбрать

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

Мобильный разработчик Droids On Roids сравнил два кроссплатформенных фреймворка, Kotlin Multiplatform и Flutter, и рассказал, для каких проектов каждый из них подходит. 

Я, Flutter Tech в Friflex Lead Юра Петров, перевел эту статью и предлагаю сообществу обсудить особенности фреймворков.

Читать далее

Как мы создали приложение для ТСД на Flutter с интеграцией 1С и внедрили его на 200 фабриках в Китае

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

Всем привет! Меня зовут Денис Гладкий, я руководитель отдела мобильной разработки компании ZENDEN Group. В этой статье я хочу поделиться нашим опытом создания приложения для терминала сбора данных (ТСД) на Flutter с интеграцией 1С, которое мы внедрили на фабриках в Китае.

Читать далее

Flutter. Стиль кода — это все

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

Стиль кода — это все. Это свежий взгляд на простое и сложное. Стильный, но простой код лучше, чем сложный, но не стильный. Сложный и стильный — это искусство. Разработка может быть искусством, тестирование может быть искусством. Оптимизация кода — тоже искусство.

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

Люди тоже диктуют стиль. Стиль был у Роберта Мартина, у Дэвида Томаса, у Мартина Фаулера, у Эрика Эванса... Я встречал стиль в открытом исходном коде. В среде разработчиков стильных проектов куда больше, чем в каком-либо другом сообществе. Стиль — это атрибут, подход и структура.

Выше – юмористическая интерпретация слов из поэмы Чарльза Буковски «Стиль». Вариативность стиля кода настолько многогранна, что не всегда удается прийти к единому мнению в пользу того или иного подхода, поэтому стиль в сегодняшнем понимании — это целая культура.

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

Читать далее

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

Пишем собственный макрос на Dart 3.5: глубокий разбор

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

Я потратил месяц фул‑тайма, чтобы поиграть и разобраться с макросами. И вот всё, что вам нужно, чтобы быстро стартовать.

В первой части мы установили бета‑версию Dart для экспериментов с макросами, испытали макрос @JsonCodable, который команда Dart выпустила для демонстрации технологии, и написали свой hello‑world макрос.

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

Потребуются знания из первой статьи.

Осторожно: Макросы в Dart это пока эксперимент, и много всего сломается, пока они станут стабильными. Просто мне было слишком интересно.

Читать далее

Как работают изоляты в Dart?

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

При разработке Dart изначально была заложена идея полной независимости динамической памяти (objectstore / heap), снимка кода и event loop между изолятами. Одним из сценариев использования такой изоляции является разделение сервисного процесса виртуальной машины (vm-service, используется в том числе в DevTools) и основного кода, но также API для изолятов позволяет создавать собственные независимые процессы для выполнения кода с автономной памятью. Но как на самом деле работают изоляты сейчас и почему порты на самом деле существуют в модели «плоского мира», попробуем разобраться в этой статье.

Читать далее

Полный гайд по тестированию на Flutter. Часть 1: Знакомство с методами тестирования

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. Мы с командой подготовили для вас перевод статьи о тестировании во Flutter. Рассмотрим Unit-тестирование, Widget-тестирование, Golden-тесты и интеграционное тестирование. Всем приятного чтения!

Читать далее

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

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

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

Читать далее

Пишем собственный макрос на Dart 3.5 вместо старого генератора кода

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

В Dart 3.5 большое новшество: макросы. Это как старая генерация кода, но прямо в памяти, без временных файлов, плюс ещё много преимуществ.

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

Читать далее

Книга «Основы Dart»

Время на прочтение7 мин
Количество просмотров3.7K
imageПривет, Хаброжители!

Книга «Основы Dart» адресована тем, кто интересуется этим удивительным языком программирования. Вы узнаете об истории создания, синтаксисе и особенностях языка, таких как встроенные типы данных, и многом другом. В главе 2 вас ждет проект, который будет изменяться и расти вместе с вашими знаниями и навыками, а к главе 6 преобразится в полноценное клиент-серверное приложение. После каждой новой итерации проекта вас будут ждать предложения по внесению изменений в его кодовую базу, что позволит прокачать свои hard-скиллы. Исходный код рассматриваемых в книге примеров можно найти в GitHub-репозитории автора (весь код в книге соответствует Dart 3.4).
Читать дальше →

Flutter 3.22 — наше мнение

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

14 мая Flutter зарелизили новую версию 3.22. Подробнее об этом тут (мы всё заботливо перевели и художественно отредактировали), оригинал здесь

Наша Flutter-команда не могла остаться в стороне и уже опробовала новинку. Делимся мнением.

Читать дальше
1
23 ...