Обновить
7.68

Dart *

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

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

Больше классов богу классов

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

Совсем недавно команда разработки Dart выпустила 3-ю версию языка, которая привнесла много новых крутых штук и возможностей. Одним из нововведений стали модификаторы классов, которые довольно сильно расширили выразительные возможности Dart. С одной стороны, новые модификаторы ложатся в стройную картину и даже логичны; с другой - чувствуется некоторая многословность ( abstract interface class вместо общепринятого interface) и появление ряда ограничений, которых ранее не было. Новые модификаторы классов безусловно интересны и требуют внимания, но сегодня мы будем говорить не о них). Оставим уже вышедшие модификаторы для одной из следующих статей. Логично задаться вопросом: о чем тогда сейчас пойдет речь? Заинтригованы? Тогда добро пожаловать под кат.

Читать далее

Dart для бэкэндеров. Часть 1

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

Идея создавать полный стек веб или мобильного приложения с использованием одной технологии не является новой. Этим путем уже прошел Javascript (JS + React/Native + Node.JS), Python (cowasm + kivy) и даже Go (go/wasm, gomobile) и Dart тоже не исключение (web для него естественная среда обитания, поскольку язык создавался для замены JavaScript, также поддерживается компиляция в Wasm с включенным экспериментом wasm gc, для мобильной разработки существует фреймворк Flutter). Кроме того, приложение на Dart может компилироваться в исполняемый файл и это может дать прирост производительности для высоконагруженных систем. В этой статье мы рассмотрим несколько решений для создания бэкэнда на Dart, в первой части обсудим общие вопросы архитектуры и создадим простой сервер без фреймворка и с использованием Shelf, а во второй части статьи речь пойдет о Frog и Conduit.

Читать далее

Алгоритм создания бесшовного списка данных

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

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

Читать далее

Дружим Flutter с С# и С++

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

На Flutter`е очень удобно и хорошо пишутся интерфейсы для пользователей. Но использовать Dart для решения алгоритмических задач тяжко и неэффективно. Семейство Си справляется гораздо лучше и позволяет легко распараллеливать вычисления. Кроме того, за многолетнюю историю С++ и С# обзавелись множеством полезных библиотек, не все из которых имеют аналоги во Flutter.

Зная про существование библиотеки FFI для Flutter, что позволяет даже синхронно запускать Си-шный код, я решил закопаться в эту тему и попробовать объединить наследие Си и их эффективность с удобным фреймворком. Учитывая то, что в интернете маловато информации про использование FFI, особенно с C#, я решил поделиться своим опытом "построения мостов" на примере двух приложений в этой статье.

Читать далее

Как сделать авторизацию блокчейне TON на DART с помощью кошелька через TON Connect

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

В данной статей будет показано, как использовать библиотеку darttonconnect для быстрого создания авторизации и отправки транзакций для блокчейна TON. Таким образом можно быстро создавать кроссплатформенные приложения на Flutter для блокчейна TON.

Читать далее

Настройка Flutter/Dart на Linux

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

Простая пошаговая инструкция для начинающих в программистов Flutter/Dart.

Flutter прекрасный фреймворк для создания кроссплатформенных приложений. Тем не менее в нашем сегменте интернета всё ещё нет пошаговой инструкции его установки для Linux систем. Данная статья это исправляет. Она рассказывает как настроить Flutter/Dart на Linux легко, почему не стоить использовать некоторые сторонние пакетные менеджеры и чего избегать.

Читать далее

Что нового во Flutter 3.10, ч.2

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

Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga и Тимур Моисеев, Teamlead Flutter Amiga. Мы продолжаем рассказывать об обновленной версии Flutter 3.10, и в этой части затронем разработку веб и мобильных приложений, Impeller, производительность и изменения в устаревших функциях.

Читать далее

Что нового во Flutter 3.10, ч.1

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

Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga и Тимур Моисеев, Teamlead Flutter Amiga. Буквально пару недель назад вышла новая версия Flutter 3.10. Из этой статьи вы узнаете об изменениях фреймворка Flutter, обновленных компонентах и SLSA. 

Читать далее

Аутсорс-разработчики и эдтех: какие шишки мы набили, сделав курс по Flutter, и к каким выводам пришли

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

2,5 года назад мы запустили собственный курс по Flutter. Идея была простая: во-первых, мы много вкладываемся в развитие Flutter-сообщества в России (с — скромность), и было логично систематизировать знания и опыт в виде курса. Во-вторых, мы хотели выращивать хороших разработчиков в наш Flutter-отдел: спрос на Flutter-проекты у клиентов рос, а количество разработчиков на Flutter в России было ничтожно мало.

Курс эти задачи решал, но со временем вскрылись проблемы, которые не были очевидны для нас на старте.    

Рассказываем о нашем первом опыте в эдтехе: как была устроена первая версия курса, что пошло не так, чем мы вдохновились при создании второй версии и как провели работу над ошибками.

Читать далее

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

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

Команда Flutter-разработчиков Mad Brains продолжает рассказывать про паттерны проектирования на Dart. Использование паттернов проектирования помогает разработчикам создавать более масштабируемое и сопровождаемое ПО, а также улучшать читаемость и содержательность кода. Первую часть статьи можно прочитать тут.

Читать далее

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

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

Если вы занимаетесь программированием на Flutter, то наверняка сталкивались с задачами, которые можно было бы решить более эффективно и легко, используя уже проверенные практиками решения. В этом и помогают паттерны проектирования на Dart — шаблоны, которые разработчики применяют для решения часто встречающихся проблем. В двух статьях команда Mad Brains рассмотрит 16 паттернов проектирования на Dart, как они могут быть использованы для улучшения качества кода и повышения эффективности разработки.

Читать далее

Анонс Dart 3

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

100% sound null safety. Records, patterns, and class modifiers. And a peek into the future.

Привет с Google I/O 2023. Сегодня в прямом эфире из Mountain View мы анонсируем Dart 3 — крупнейший релиз Dart на сегодняшний день! Dart 3 содержит три мажорных улучшения. Во-первых, мы завершили путь к 100-процентной null-безопасности. Во-вторых, мы добавили новые языковые возможности: записи (records), паттерны (patterns) и модификаторы классов (class modifiers). В-третьих, мы даем предварительный прогноз на будущее, в котором расширим поддержку наших платформ, добавив нативный код для web с помощью Wasm-компиляции. Давайте углубимся в детали.

Читать далее

Проектируем flutter-приложение «чистым» способом используя bloc

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

Спроектировать и построить приложение не так-то просто. Как правило, всё упирается в продуманную архитектуру, которая должна быть масштабируемой и легко поддерживаемой. Данный материал предлагает вполне элегантный способ, в некотором роде основанный на чистой архитектуре (Clean Architecture).

Рассмотрены:

взаимодействия слоёв

структура папок

основные характеристики каждого уровня

Предлагаю определить сильные и слабые стороны данного предложения.

?

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

Создаем клон Instagram при помощи Flutter и Feeds. Часть 3

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

Привет! Продолжаю выкладывать перевод статьи, которую я использовал как основу для реализации социального функционала в нашем проекте Dom24x7, где люди могут общаться друг с другом, решать возникающие бытовые проблемы, а также взаимодействовать с УК/ТСЖ. Первую часть статьи можно прочитать тут, а вторую смотрите тут.

Читать далее

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

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

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

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

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

Dart 3 на практике: что принесёт нам мажорное обновление языка

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

Dart 3 – самое мажорное обновление языка со времён Null Safety: он изменит многое в том, как мы пишем код и какие библиотеки используем. Рассказываем, как новые фичи помогут вам на практике и как от этого изменится способ взаимодействия с языком.

Читать далее

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

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

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

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

Узнать

Все о фабричном конструкторе в Dart

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

Изучив классы фреймворка, пакеты сторонних разработчиков или документацию Dart / Flutter, вы, натыкались на ключевое слово factory и задавались вопросом, что это значит.

В этой статье мы собираемся прояснить:

Значение ключевого слова

Когда вам следует его использовать

Разница между factory и порождающим конструктором

Различия между factory и static

Читать далее

Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter

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

Сделать стриминг на Flutter — та ещё задача. Недостаточная функциональность пакета видеоплеера, сложности с реализацией фичи картинка-в-картинке, ошибки из-за особенностей платформ — список проблем можно перечислять долго.

Часть багов специфична для Flutter, часть — неспецифична для Flutter, но специфична для натива. Поэтому статья — не только для флаттеристов и сочувствующих. Нативные разработчики, не спешите скроллить ленту дальше ;) Сейчас всё расскажем.

Читать далее

Создаем клон Instagram при помощи Flutter и Feeds. Часть 2

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

Привет! Продолжаю выкладывать перевод статьи, которую я использовал как основу для реализации социального функционала в нашем проекте Dom24x7, где люди могут общаться друг с другом, решать возникающие бытовые проблемы, а также взаимодействовать с УК/ТСЖ. Первую часть статьи можно прочитать тут.

Читать далее