Привет из Google I/O 2023. Сегодня, в прямом эфире из Маунтин-Вью, мы объявляем о выпуске Dart 3 - самого крупного релиза Dart на сегодняшний день! Dart 3 содержит три основных усовершенствования. Во-первых, мы завершили путь к 100% надёжная null безопасности. Во-вторых, мы добавили новые возможности языка для записей, шаблонов и модификаторов классов. В-третьих, мы заглядываем в будущее, где мы расширим поддержку наших платформ, добавив нативный код для веб с помощью Wasm-компиляции. Давайте разберемся во всём в деталях.
Dart *
Язык программирования, созданный Google
Больше классов богу классов
Совсем недавно команда разработки Dart выпустила 3-ю версию языка, которая привнесла много новых крутых штук и возможностей. Одним из нововведений стали модификаторы классов, которые довольно сильно расширили выразительные возможности Dart. С одной стороны, новые модификаторы ложатся в стройную картину и даже логичны; с другой - чувствуется некоторая многословность ( abstract interface class
вместо общепринятого interface
) и появление ряда ограничений, которых ранее не было. Новые модификаторы классов безусловно интересны и требуют внимания, но сегодня мы будем говорить не о них). Оставим уже вышедшие модификаторы для одной из следующих статей. Логично задаться вопросом: о чем тогда сейчас пойдет речь? Заинтригованы? Тогда добро пожаловать под кат.
Dart для бэкэндеров. Часть 1
Идея создавать полный стек веб или мобильного приложения с использованием одной технологии не является новой. Этим путем уже прошел 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.
Алгоритм создания бесшовного списка данных
Как оптимизировать процесс миграции данных из разных источников и получить бесшовный список? В этой статье мы расскажем о фронд-способе в кроссплатформенном фреймворке Flutter. Flutter — это мощный и популярный фреймворк для создания мобильных и веб-приложений. Он предлагает широкий спектр функций и инструментов, облегчающих и ускоряющих разработку. Статья особенно полезна тем, кто создает мобильные приложения на языке Dart.
Истории
Дружим Flutter с С# и С++
На Flutter`е очень удобно и хорошо пишутся интерфейсы для пользователей. Но использовать Dart для решения алгоритмических задач тяжко и неэффективно. Семейство Си справляется гораздо лучше и позволяет легко распараллеливать вычисления. Кроме того, за многолетнюю историю С++ и С# обзавелись множеством полезных библиотек, не все из которых имеют аналоги во Flutter.
Зная про существование библиотеки FFI для Flutter, что позволяет даже синхронно запускать Си-шный код, я решил закопаться в эту тему и попробовать объединить наследие Си и их эффективность с удобным фреймворком. Учитывая то, что в интернете маловато информации про использование FFI, особенно с C#, я решил поделиться своим опытом "построения мостов" на примере двух приложений в этой статье.
Как сделать авторизацию блокчейне TON на DART с помощью кошелька через TON Connect
В данной статей будет показано, как использовать библиотеку darttonconnect для быстрого создания авторизации и отправки транзакций для блокчейна TON. Таким образом можно быстро создавать кроссплатформенные приложения на Flutter для блокчейна TON.
Настройка Flutter/Dart на Linux
Простая пошаговая инструкция для начинающих в программистов Flutter/Dart.
Flutter прекрасный фреймворк для создания кроссплатформенных приложений. Тем не менее в нашем сегменте интернета всё ещё нет пошаговой инструкции его установки для Linux систем. Данная статья это исправляет. Она рассказывает как настроить Flutter/Dart на Linux легко, почему не стоить использовать некоторые сторонние пакетные менеджеры и чего избегать.
Что нового во Flutter 3.10, ч.2
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga и Тимур Моисеев, Teamlead Flutter Amiga. Мы продолжаем рассказывать об обновленной версии Flutter 3.10, и в этой части затронем разработку веб и мобильных приложений, Impeller, производительность и изменения в устаревших функциях.
Что нового во Flutter 3.10, ч.1
Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev Amiga и Тимур Моисеев, Teamlead Flutter Amiga. Буквально пару недель назад вышла новая версия Flutter 3.10. Из этой статьи вы узнаете об изменениях фреймворка Flutter, обновленных компонентах и SLSA.
Аутсорс-разработчики и эдтех: какие шишки мы набили, сделав курс по Flutter, и к каким выводам пришли
2,5 года назад мы запустили собственный курс по Flutter. Идея была простая: во-первых, мы много вкладываемся в развитие Flutter-сообщества в России (с — скромность), и было логично систематизировать знания и опыт в виде курса. Во-вторых, мы хотели выращивать хороших разработчиков в наш Flutter-отдел: спрос на Flutter-проекты у клиентов рос, а количество разработчиков на Flutter в России было ничтожно мало.
Курс эти задачи решал, но со временем вскрылись проблемы, которые не были очевидны для нас на старте.
Рассказываем о нашем первом опыте в эдтехе: как была устроена первая версия курса, что пошло не так, чем мы вдохновились при создании второй версии и как провели работу над ошибками.
Паттерны проектирования на Dart с примерами кода. Часть 2
Команда Flutter-разработчиков Mad Brains продолжает рассказывать про паттерны проектирования на Dart. Использование паттернов проектирования помогает разработчикам создавать более масштабируемое и сопровождаемое ПО, а также улучшать читаемость и содержательность кода. Первую часть статьи можно прочитать тут.
Паттерны проектирования на Dart с примерами кода. Часть 1
Если вы занимаетесь программированием на Flutter, то наверняка сталкивались с задачами, которые можно было бы решить более эффективно и легко, используя уже проверенные практиками решения. В этом и помогают паттерны проектирования на Dart — шаблоны, которые разработчики применяют для решения часто встречающихся проблем. В двух статьях команда Mad Brains рассмотрит 16 паттернов проектирования на Dart, как они могут быть использованы для улучшения качества кода и повышения эффективности разработки.
Анонс Dart 3
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
Спроектировать и построить приложение не так-то просто. Как правило, всё упирается в продуманную архитектуру, которая должна быть масштабируемой и легко поддерживаемой. Данный материал предлагает вполне элегантный способ, в некотором роде основанный на чистой архитектуре (Clean Architecture).
Рассмотрены:
• взаимодействия слоёв
• структура папок
• основные характеристики каждого уровня
Предлагаю определить сильные и слабые стороны данного предложения.
Создаем клон Instagram при помощи Flutter и Feeds. Часть 3
Привет! Продолжаю выкладывать перевод статьи, которую я использовал как основу для реализации социального функционала в нашем проекте Dom24x7, где люди могут общаться друг с другом, решать возникающие бытовые проблемы, а также взаимодействовать с УК/ТСЖ. Первую часть статьи можно прочитать тут, а вторую смотрите тут.
Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config
Обновления в реальном времени, feature flagging и A/B тестирование – что, если я скажу вам, что вы можете включить эти мощные функции в своё приложение Flutter с минимальными усилиями по разработке и без каких-либо затрат? В этой статье я расскажу о нескольких реальных случаях использования, когда Firebase Remote Config может помочь вам при создании приложений Flutter.
Если вы предпочитаете видеоконтент, посмотрите видеоверсию этой статьи на YouTube (EN).
Dart 3 на практике: что принесёт нам мажорное обновление языка
Dart 3 – самое мажорное обновление языка со времён Null Safety: он изменит многое в том, как мы пишем код и какие библиотеки используем. Рассказываем, как новые фичи помогут вам на практике и как от этого изменится способ взаимодействия с языком.
Эй, разработчики Flutter, я слышал, что вам нравятся модификаторы классов
В Dart 3.0.0 появилось много новых вещей. Об одной из таких – модификаторы классов – мы сегодня и поговорим.
Спойлер: 5 новых модификаторов + их комбинации: Base, Interface, Final, Sealed и Mixin.
Все о фабричном конструкторе в Dart
Изучив классы фреймворка, пакеты сторонних разработчиков или документацию Dart / Flutter, вы, натыкались на ключевое слово factory
и задавались вопросом, что это значит.
В этой статье мы собираемся прояснить:
• Значение ключевого слова
• Когда вам следует его использовать
• Разница между factory
и порождающим конструктором
• Различия между factory
и static
Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter
Сделать стриминг на Flutter — та ещё задача. Недостаточная функциональность пакета видеоплеера, сложности с реализацией фичи картинка-в-картинке, ошибки из-за особенностей платформ — список проблем можно перечислять долго.
Часть багов специфична для Flutter, часть — неспецифична для Flutter, но специфична для натива. Поэтому статья — не только для флаттеристов и сочувствующих. Нативные разработчики, не спешите скроллить ленту дальше ;) Сейчас всё расскажем.
Вклад авторов
-
Wriketeam 245.6 -
dmitriizolotov 120.0 -
bunopus 100.4 -
Surf_Studio 93.4 -
sharpfellow 92.8 -
alphamikle 81.0 -
dariaiv 59.6 -
g0rdan 55.0 -
mrDevGo 54.9