Все потоки
Поиск
Написать публикацию
Обновить
4.71

Dart *

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Полный гайд по тестированию на Flutter. Часть 9: Best practices написания Unit-тестов

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. Поздравляю вас, коллеги, мы это сделали — это последняя серия нашего многосерийного сериала про тестирование Flutter приложений. И напоследок разберем 9 лучших практик написания модульных тестов, которые помогут создавать более эффективные Unit-тесты. Оригинал оставлю тут, если вы вдруг знаете вьетнамский :–)

Читать далее

Полный гайд по тестированию на Flutter. Части 7-8: Ошибки, которые усложняют написание тестов

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

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

Мы объединили 2 статьи (1, 2), чтобы сразу рассказать о всех часто встречаемым ошибкам при написании кода. Поехали!

Читать далее

Полный гайд по тестированию на Flutter. Часть 6: Тестовые двойники: Faking vs Mocking

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

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

Читать далее

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

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

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

Читать далее

Эффективный Dart: Руководство по документации

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

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про руководство по документации в Dart!

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

Читать далее

Эффективный Dart

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

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про руководство по эффективному Dart-у!

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

Быть последовательным и кратким!

Читать далее

Навигация по страницам | Flutter

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

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про организацию данных на экране во Flutter!

Содержание:
1. Навигация по страницам с Routes (Imperative)
2. Навигация по страницам с Routes (Declarative)
3. Реализация Navigation Drawer
4. Работа с вкладками
5. Добавление нижней панели навигации
6. Использование ключей для передачи информации

Сим-сим откройся!

Организация данных на экране | Flutter

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

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про организацию данных на экране во Flutter!

Для начала мы сосредоточимся на наиболее распространенных вариантах использования данных, с которыми вы столкнетесь как разработчик Flutter. Вы узнаете, как:
• Создать вертикальный список
• Создать горизонтальный список
• Добавить адаптивный раздел заголовка
• Использовать сетку для отображения элементов
• Отображать уведомление

Читать далее

Разработка интерфейса | Flutter

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

Привет, если вы на пути изучения Flutter/Dart или вам просто интересно почитать про путь изучения, подписывайтесь на мой канал в telegram, буду рад вас видеть! А сегодня поговорим про разработку пользовательского интерфейса во Flutter!

В этой статье мы переходим к теме создания пользовательских интерфейсов. Теперь, когда разобрали основы Flutter widgets (1 и 2 часть). Обсуждение сосредоточено на ключевых технических элементах проектирования красивого интерфейса. Мы поговорим, как:

• Используйте шрифты для улучшения текстового интерфейса

• Определите макет на экране для лучшего размещения

• Укажите адрес хост-платформы

• Используйте возможности Flutter для фундаментального улучшения ваших приложений

• Понять, как обращаться к функциональным областям, зависящим от платформы, с помощью Dart SDK

• Создать код, работающий с Flutter, для представления информации наиболее эффективным способом

Читать далее

Flutter 3.19 — Что нового во Flutter

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

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

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

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

Читать далее

Создаем параллакс-эффект во Flutter с CustomPaint

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

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

Читать далее

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

И певец, и на дуде игрец. Или почему ChatGPT необходим стажеру

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

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

Предлагаю сразу начать с главной парочки — Dart/Flutter. Когда мы говорим о кроссплатформенной разработке на Flutter, то мы говорим о… Flutter, как это ни странно. И только о нем. Если вы начинаете свой путь изучения фреймворка, то найдете много туториалов, обучалок, статей и прочего: Stateful vs stateless виджеты, BLoC vs RiverPod, основы верстки на Flutter, в конце концов. 

Если составлять список, то он покроет большинство фич разработки на Flutter. Но почему-то все забывают о, так сказать, базе — языке Dart.

Такая забывчивость в целом понятна. Dart в отрыве от Flutter никто и звать его никак, будем честны. Однако для новичка, особенно для того, кто пришел из веб-разработки, папаша нашего любимого фреймворка покажется достаточно интересной штукой, так как гораздо больше полагается на ООП. Наличие миксинов, особенностей приватных и паблик полей, куча способов объявить переменную, необходимость указывать типы данных — все эти особенности усложняют переход из классического веба. Сложно найти больше одного практического задания, а практика — важная штука в разработке на любом языке.

Узнать, как запрашивать задания у ChatGPT

Полное руководство по управлению навигацией во Flutter с помощью пакета go_router: часть 1

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

Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб-канала «Мобильный разработчик» и Flutter Team Lead в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

В этом руководстве я хочу рассказать про пакет go_router. Он помогает управлять навигацией во Flutter. Команда разработки Flutter поддерживает библиотеку go_router. Это позволяет надеяться, что она продолжит развиваться.

Рассказывать буду на примере простого проекта — Todo (заметки). Я понимаю, что таких проектов на Хабре очень много. Но, по-моему, лучшего примера не найти.

Читать далее

Полиморфизм в языке Dart

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

Полиморфизм в языках программирования и теории типов — способность функции обрабатывать данные разных типов

Читать далее

4.0 Асинхронность. Isolates, потоки, процессы

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

Ну вот она самая интересная тема по моему мнению)

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

Читать далее

3.0 Асинхронность. async и await

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

Как научиться ждать?

Синтаксический сахар, появившийся в Dart 1.9 async и await это декларативный способ определения асинхронных функций, они помогают убрать громоздкие конструкции и повысить читабельность кода.

Читать далее

Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config

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

Обновления в реальном времени, feature flagging и A/B тестирование – что, если я скажу вам, что вы можете включить эти мощные функции в своё приложение Flutter с минимальными усилиями по разработке и без каких-либо затрат? В этой статье я расскажу о нескольких реальных случаях использования, когда Firebase Remote Config может помочь вам при создании приложений Flutter.

Если вы предпочитаете видеоконтент, посмотрите видеоверсию этой статьи на YouTube (EN).

Узнать больше...

Эй, разработчики Flutter, я слышал, что вам нравятся модификаторы классов

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

В Dart 3.0.0 появилось много новых вещей. Об одной из таких – модификаторы классов – мы сегодня и поговорим.

Спойлер: 5 новых модификаторов + их комбинации: Base, Interface, Final, Sealed и Mixin.

Узнать