Как стать автором
Обновить
17.69

Dart *

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+10
Комментарии4

Полный гайд по тестированию на Flutter. Часть 3: Mocking и Stubbing

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

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

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии0

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+14
Комментарии2

Полный гайд по тестированию на Flutter. Часть 2: Простые модульные тесты

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства разработки сайтов и мобильных приложений Amiga. Продолжаем нашу серию статей переводов о тестировании в Flutter. В этой и нескольких следующих частях поговорим о модульном (Unit) тестировании.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

Истории

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

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+12
Комментарии1

Макросы на Dart: первые ощущения от использования и лайфхаки на будущее

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

Макросистема Dart — это новая важная языковая функция. Она добавляет поддержку статического метапрограммирования в язык Dart, но в настоящее время находится в разработке.

Макрос Dart — это определяемый пользователем фрагмент кода, который принимает другой код в качестве параметров и работает с ним в режиме реального времени для создания, изменения или добавления кода.

В отличие от генерации кода с помощью сторонних пакетов (например, build_runner) макросы полностью интегрированы в язык Dart и автоматически работают в фоновом режиме. Это делает макросы более эффективными, чем использование вспомогательного инструмента:

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии4

Компонентная архитектура приложений на Flutter: почему выбрать BLoC недостаточно

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

Всем привет! Меня зовут Никита Королев, я тимлид Flutter‑команды в компании IBS. Уже год я работаю на проекте компании Атом — разработчика российского электромобиля. На данный момент наша команда занимается разработкой приложений для направления Такси.

Мы с командой выработали свой подход к построению архитектуры Flutter‑приложений и хотим поделиться им со всеми, кому будет интересна эта тема.

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии4

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

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии2

Road to Flutter – анализ опыта миграции с React Native

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

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

Читать далее
Всего голосов 7: ↑4 и ↓3+4
Комментарии10

Widget тесты с помощью ApprovalTests | Flutter / Dart

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

Всем привет, я уже писал статью о ApprovalTests для юнит-тестов.
В этой статье мы затронем Widget тесты и то, как этот пакет может быть полезен для нас.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Разбираемся с текущим состоянием реализации макросов и механизма аугментации в Dart

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

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

В этой статье я хочу:

👉 поделиться очень черновым наброском 9-й главы - «Макросы и механизм аугментации (Augmentations)». Несмотря на то, что данная функциональность пребывает в экспериментальном режиме и требует для своего прощупывания Dart 3.5.0-152.dev (и старше), текущей реализации макросов и аугментации достаточно для того, чтобы разобраться в тех принципах, которые будут лежать в их основе.

👉 рассказать об изменениях, которые случились с книгой "Основы Flutter" за прошедший месяц.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

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

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

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

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Telegram bot и Mini app на Dart. Боль?

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

Ни слова про Flutter, и да, боль.

А теперь перейдем к делу. Я Максим, и сейчас расскажу тебе, какого писать бэкенд и веб на Dart, когда ты мобильный разработчик. 

Читать дальше ->
Всего голосов 5: ↑4 и ↓1+3
Комментарии9

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Встроенные коллекции Dart: как реализовать в коде основные структуры данных. Глава из книги

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

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

При поддержке компании Friflex буквально на днях вышла печатная версия моей книги. В ней есть раздел о нюансах изоляционной модели памяти в Dart, сквозной проект на пять глав (игра «Крестики-Нолики») и две дополнительные главы: «Алгоритмы, структуры данных на Dart и встроенные коллекции» и «Интероперабельность в Dart (Dart FFI)».

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

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

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

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

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

Упрощение тестирования с Approval Tests в Dart

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

Approval Tests и почему оно важно | Dart 🎯
Approval Tests представляют собой альтернативный подход к традиционным утверждениям при тестировании программного обеспечения. Они особенно полезны при работе со сложными объектами, такими как длинные строки, коллекции или объекты с большим количеством свойств. Захватывая результат вывода и сравнивая его с утвержденной версией, утверждающие тесты упрощают процесс проверки того, что ваш код ведет себя так, как ожидается. В этой статье мы познакомимся с Dart-реализацией Approval Tests и продемонстрируем их использование на примере.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

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

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

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

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

Читать дальше
Всего голосов 11: ↑10 и ↓1+11
Комментарии14

Что Flutter 3.22 нам готовит?

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

Привет, с вами Flutter-команда Surf с переводом нового релиза Flutter 3.22.

WebAssembly, улучшенный рендеринг графики, способы интегрировать искусственный интеллект — это и многое другое в статье!

Читать дальше
Всего голосов 4: ↑2 и ↓2+2
Комментарии1

Новая жизнь или начало экзистенциального кризиса?

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

Ни для кого не секрет, что популярные языки программирования развиваются по схожему сценарию. Сначала появляется новый язык программирования с амбициозной и благой целью решить те или иные проблемы уже существующего языка, которые иначе, как созданием нового языка программирования, не решить. Далее язык набирает популярность, часто путем обрастания различными модными фичами. Теряет связь с миром свою простоту и лаконичность в бесконечной погоне за новыми возможностями. В какой-то момент наступает экзистенциальный кризис в виде Франкенштейна. А как отмыть кровь решать подобные проблемы, мы уже знаем. Или я несколько утрирую (или нет?), и, возможно, не все так плохо? Сегодня поговорим об этом в общем и о новом функционале языка Dart в частности.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии5

Flutter 3.22: что нового

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

WebAssembly, улучшения рендеринга графики и дополнительные возможности для интеграции ИИ.

Я, Юра Петров, Flutter Tech Lead в Friflex, делюсь первым переводом официального релиза Flutter 3.22 от Google с комментариями.

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии0