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

Dart *

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

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

Разработка мультиплеерной игры на Dart+Flutter

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

Разработка простой мультиплеерной игры с использованием языка программирования dart на сервере и flutter+flame на клиенте. Небольшой гайд от любителя игростроя.

Читать далее

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

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

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

Читать далее

Анонс 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 в будущем

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

О чём говорили на конференции Flutter Forward в Найроби: перевод статьи с комментариями разработчиков Surf.

Читать далее

3D-объекты во Flutter. Расширяем Flame

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

В конце прошлого года движок Flame для создания игровых приложений на Flutter опубликовал первую стабильную версию 1.0 и анонсировал большие изменения в системе миксинов, подходах к управлению компонентами и созданию сцены из иерархии объектов, каждый из которых может выступить в роли контейнера. Прежде всего Flame ориентирован на двумерную графику (спрайты, системы частиц, визуальные эффекты), но возможности Skia позволяют использовать трехмерные преобразования и обеспечивать работу с шейдерами, благодаря чему можно приблизиться к созданию трехмерных игр. В этой статье мы обсудим возможный путь создания трехмерных компонентов в Flame с произвольной визуализацией с использованием компилируемых шейдеров.

Читать далее

Разработка приложения на Flutter с нуля до релиза: Part 2

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

Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом "номере" я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метрики, например - сколько данных сможет распарсить ваше приложение за одну милисекунду и начиная с какого размера JSON’а, прилетевшего с бэка UI начнет тормозить. Как говорится - с места...

В карьер!

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

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

Flutter for Web и null safety в Dart переходят в стабильную версию, бета-версия Flutter for Desktop и многое, многое другое!

Перевод официального анонса Flutter team с комментариями от Flutter Team Lead Surf Евгения Сатурова

Сегодня мы с радостью объявляем о релизе Flutter 2. С тех пор, как вышел Flutter 1.0, прошло чуть больше двух лет, но за этот короткий срок мы внесли 24 541 исправлений и смёрджили 17 039 пул-реквестов от 765 членов сообщества. Отдельное спасибо нашим волонтёрам за то, что щедро тратят своё свободное время на улучшение Flutter. Flutter – самое настоящее коллективное детище, и мы бы не добрались до второй версии без тех, кто сообщал нам о проблемах, отправлял пул-реквесты и проверял код. Этот релиз посвящается всем вам.

Читать далее

Подготовка экосистем Dart и Flutter к переходу на null safety

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

Поезд null safety мчится вперёд, уже почти официально анонсирован Flutter 2.0 (подключайтесь к предстоящему Flutter Engage), экосистема Dart тоже не стоит на месте. Мы перевели на русский язык новость из официального блога Dartlang и настоятельно рекомендуем вам переводить свои пакеты на новые рельсы, если вы этого ещё не сделали!

Читать далее

Обновление роадмапа AngularDart

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


Недавно команда языка Dart опубликовала важный анонс про обновление роадмапа AngularDart. Мы решили перевести эту новость на русский язык и добавить свой комментарий о том, что это сообщение будет значить для Dart-сообщества.
Читать дальше →

Как провести онлайн митап и сколько это стоит

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


Привет! Меня зовут Антон Матренин, я один из организаторов сообщества ArtFlutter. Сегодня мы поговорим об онлайн митапах, платформах для онлайн конференций, стриминговых сервисах и в конце покажу пример настройки собственного онлайн-события.

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

Читать дальше →

Тестирование производительности Flutter приложений

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

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



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

Читать дальше →

Flutter. Keys! Для чего они?

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


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


Данная статья адаптирована из следующего видео. Если вы предпочитаете слушать / смотреть, а не читать, то видео предоставит вам тот же материал.

Читать дальше →

Кодогенерация в Dart. Часть 1. Основы

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

Известно, что для программиста очень хорошо быть ленивым, потому что делать больше с меньшими затратами — ключ к прогрессу. Никто не любит делать одно и то же снова и снова. Это утомительно, скучно, да и совсем не креативно. Повторяя одно и то же действие мы часто делаем ошибки, но, к счастью, есть те, кто действительно хорош и эффективен в выполнении однотипных задач. И это КОМПЬЮТЕРЫ!


https://yougottobekidding.wordpress.com/2012/02/18/geeks-and-repetitive-tasks/


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


В мире Android разработки такие инструменты хорошо известны каждому разработчику. Это и Retrofit, и Dagger, и Room. А как насчет Dart? И не менее важный вопрос: что нам нужно, чтобы создавать собственные инструменты для кодогенерации?

Читать дальше →

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

Как создать собственный RenderObject

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

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

Меня зовут Александр, я Flutter-разработчик в Surf, и сегодня мы сделаем ещё один небольшой шаг к этим крутейшим возможностям — мы научимся создавать собственные RenderObject. 

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

Читать дальше

Telegram Web App: Интеграция с Flutter

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

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

Теперь рассмотрим, как создать Telegram Web App с использованием Flutter, фреймворка для разработки кроссплатформенных приложений.

Читать далее

Two-Tier Data Model архитектура: концепт и мысли

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

Краткая цель статьи — сделать потоки данных проще, более тестируемыми и управляемыми с DTO и Runtime Model структурой.

Эта статья — набор мыслей и экспрессии опыта моего текущего видения этой проблемы, как комбинации опыта от работы над проектами и может быть, переизобретение колеса:) Но, в то же время, я хотел бы поделиться этими мыслями — и, надеюсь, вдохновить и посмотреть на структуры данных.

Концепт использует немного функционала Entities, описанных Robert C. Martin (Uncle Bob) в Clean Architecture, также Model‑Driven engineering вместе с концептом immutability.

Эта статья:

— разделена на секцию теории и применения, чтобы статью можно было понять разработчикам не знающим язык используемый в примерах (Dart).
в основном фокусируется на client‑side (frontend, app, server‑side рендеринг) разработчиках, но думаю что может быть интересна и другим разработчикам..
— для примеров используется абстрактное финансовое приложение и язык Dart.

Читать далее

Ещё одна статья про макросы. Часть 2

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

Продолжаем предыдущую статью — вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и разберём оставшиеся интересные (и негативные, да!) примеры.

Читать дальше

Что нового в Flutter 3.24?

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. В режиме торнадо перевели для вас статью о нововведениях в Flutter 3.24: Flutter GPU, Multi-View Embedding и многое другое. А ещё оставили несколько восторженных комментариев о виджетах, которые так давно ждали!

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее