Как стать автором
Обновить
9.5
Рейтинг

Dart *

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

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

Телеграм-каналы о Flutter и Dart-разработке

Dart *Flutter *

Hola, Amigos!

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

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 1.9K
Комментарии 1

Новости

Как стать Flutter-разработчиком, или Почему кроссплатформа сейчас — это лучший выбор

Разработка мобильных приложений *Dart *Карьера в IT-индустрии Flutter *
Из песочницы

Hola, Amigos!

На связи Александр Чаплыгин, Flutter Dev. В разработке я 3 года, сейчас работаю в компании по заказной мобильной разработке, за последний год делал проекты для частного медицинского центра, системы маркировок и нескольких стартапов. По свежим следам хочу рассказать о том, как попасть в мобильные разработчики, поделюсь личным опытом взлетов и факапов, приложу чек-лист по устранению ошибок новичка. Если вы начинающий специалист — эта статья для вас. Также полезно почитать заказчикам мобильных приложений, чтобы погрузиться во внутреннюю кухню проектов и команды.

Читать далее
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 11K
Комментарии 52

Flutter Web и WebAssembly — ключ к тайной комнате

Блог компании OTUS Разработка мобильных приложений *Dart *WebAssembly *Flutter *

Web для Flutter-платформы с одной стороны является очень хорошо изученной платформой (поскольку Dart создавался как альтернатива JavaScript и изначально хорошо компилировался в JS и предусматривал возможности взаимодействия с JS-объектами и функциями, а также с DOM браузера), но в действительности и сейчас это Terra Incognita из-за большого потенциала интеграции с веб-платформой (как на уровне API HTML5, так и с использованием технологий WebAssembly). В этой статье мы обсудим некоторые аспекты взаимодействия Dart-кода с WebAssembly-модулями, поговорим о компиляции Flutter-приложений в WASM и о том, как можно компилировать C-библиотеку для использования во Flutter-приложениях.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.8K
Комментарии 0

Наводим мосты между Flutter и нативными библиотеками

Блог компании OTUS Разработка мобильных приложений *Dart *Flutter *

Все вы знаете, что Flutter реализует несколько абстракций для передачи данных между Dart-кодом и кодом, связанным с оболочкой Flutter Engine на языке платформы (например, Kotlin для Android). Но в действительности у Dart есть еще один инструмент для взаимодействия с внешним миром и он может использоваться для добавления C/C++ библиотек и вызова функций из Dart-кода. Основную сложность представляет разные соглашения по кодированию типизованных числовых значений, строк и структур, но часть задач по преобразованию и работе с памятью выполняют библиотека dart:ffi и пакет package:ffi/ffi.dart, а некоторые из них могут быть выполнены самостоятельно. В статье мы рассмотрим общие принципы подключения внешних библиотек и кодогенерации для создания связываний dart-функции и классов и структур данных C.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.8K
Комментарии 0

Flutter: Настройка тем приложения

Dart *Flutter *
Recovery mode

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.8K
Комментарии 2

Расплывающаяся менюшка

Программирование *Dart *Flutter *

Понадобилось мне в приложении меню которое появляется по нажатию на floating button. Начал смотреть, что там такого есть в этих ваших интернетах. Мне хотелось как в самсунге меню для стилуса. Поскольку я не придумал, как это гуглить правильно, я не нашел такого меню готового. Поэтому решил сделать его сам.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.1K
Комментарии 1

Всплывающие окна на флаттер карте или flutter_map_marker_popup

Maps API *Dart *Flutter *

#Введение#
Понадобилась мне как-то карта во флаттер-приложении. Гугл и яндекс карты использовать не хотелось и оставалось только воспользоваться OSM. Ну и понадобилось добавить всплывающее окно при нажатии на маркер положения на карте, нашел как это делать для гугла и яндекса, а для flutter_mup не сразу нашел. Но оказалось есть плагин flutter_map_marker_popup.

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

Работа со списками во Flutter-приложениях (часть 2)

Программирование *Разработка мобильных приложений *Dart *Flutter *


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


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

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2K
Комментарии 0

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

Программирование *Разработка мобильных приложений *Dart *Flutter *
Из песочницы

Оптимизация производительности, Dart 2.18, Wonderous App, улучшение виджетов Dart и Material, новый рендерер Impeller и многое другое!

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 5.9K
Комментарии 4

Flutter Flame: ускоряем в 32 раза работу со столкновениями

Разработка игр *Алгоритмы *Разработка под Android *Dart *Flutter *

Как я уже писал ранее, на FPS в Flame в основном влияют операции, производимые на CPU. Если в вашей игре достаточно много взаимодействующих объектов, то одной из самых дорогих операций будет определение столкновений. Настолько дорогой, что на экране performance-метрики она закроет собой любые другие неоптимизированные участки.

Сами авторы Flame отлично осознают, что их алгоритм – не идеальный, а просто «дающий достаточную производительность». Достаточна она, видимо, для случаев, когда у вас всего объектов 10, не более. Если же у вас что-то более сложное – тогда приятного чтения!

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.5K
Комментарии 3

Вопрос использования ассетов в Flutter web проекте

Dart *Flutter *

В этой статье я хочу рассказать об опыте применения ассетов (assets), а именно картинок для web приложения написанного на фреймворке Flutter.

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

Вопрос создания виджетов

Dart *Flutter *

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.2K
Комментарии 6

Как подружить Redux и Elementary

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *

Поговорим об управлении глобальным состоянием с помощью Redux. Расскажу, как наиболее продуктивно связать Elementary — архитектурный пакет для Flutter — и Redux.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 1.5K
Комментарии 0

Паттерны проектирования в Dart. Часть 3

Блог компании OTUS Анализ и проектирование систем *Dart *Flutter *

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

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

Истории

CherryPick DI — di библиотека для dart/flutter проектов

Dart *Flutter *
Из песочницы

CherryPick DI

DI-контейнер – это библиотека, которая обеспечивает функциональность механизма внедрения зависимостей.

Содержание

1. Предисловие

2. Возможности библиотеки

3. Компоненты библиотеки

- 3.1. Scope

- 3.2. Module

- 3.3. Binding

4. Пример использования

5. Заключение

1. Предисловие

Первые попытки разработать свой DI для пет проектов написанных на Flutter SDK были начаты в начале 2020 года.

Сподвигло меня на этот шаг несколько причин:

1. На тот момент я не нашел DI в pub.dev с возможностью делить контейнер на scope (возможно плохо искал)

2. Упростить работу с зависимостями в проекте

3. Желание написать собственный DI

4. Иметь в арсенале простой DI (надеюсь с простым API)

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.7K
Комментарии 0

Паттерны проектирования в Dart. Часть 2

Блог компании OTUS Анализ и проектирование систем *Проектирование и рефакторинг *Dart *Flutter *

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.3K
Комментарии 1

Создание инициализатора Flutter-проектов. Чисто и SOLIDно

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *

Pet-проект или самописный инструмент помогают решить проблемы, которые возникают в разработке. На примере инициализатора Flutter-проектов рассказываем, как следует подходить к разработке собственной «тулзы» правильно: с SOLID и чистой архитектурой.

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

Flutter jank shaders — история проблемы и пути решения

Блог компании Россельхозбанк Разработка под iOS *Разработка под Android *Dart *Flutter *

Меня зовут Андрей, я Flutter-разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня поговорим о «jank shaders» — дёргающейся анимации при первых запусках приложений на Flutter — и о том, как можно постараться её исправить.

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

На скриншоте ниже приведен пример задержки анимации перехода между экранами при первом запуске.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.1K
Комментарии 2

Паттерны проектирования в Dart

Блог компании OTUS Анализ и проектирование систем *Dart *Flutter *

В последние годы растет популярность фреймворка для кроссплатформенной разработки приложений Flutter, а вместе с ним вторую жизнь получил и язык программирования Dart. Dart создавался как потенциальная замена JavaScript и мог бы занять нишу, которая сейчас принадлежит TypeScript, но по ряду причин он так и оставался длительное время "одним из проектов Google", который не был оценен ни для использования в web (после транспиляции в JavaScript), ни для создания серверных или десктопных приложений.

При этом компилятор Dart создает оптимизированный высокопроизводительный код для основных операционных систем и может также использоваться для компиляции в другие аппаратные архитектуры (например, для микроконтроллеров) и, в целом, Dart может использоваться как язык общего назначения для создания серверных приложений (Shelf, Aqueduct), устройств умного дома (с целевой платформой ARM и пакетом dart_periphery) и, конечно, десктопных, мобильных и веб-приложений (Flutter).

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

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

Мой опыт flutter собеседований

Разработка мобильных приложений *Dart *Интервью Flutter *
Из песочницы

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 13K
Комментарии 14

Вклад авторов