🔥 НОВОСТЬ: Что ждёт Dart в ближайшие годы? Станислав Чернышёв делится подробностями
На прошедшей конференции CrossConf 2025 автор книги «Основы Dart» и один из самых узнаваемых экспертов в сообществе, Станислав Чернышёв, выступил с докладом о будущем языка Dart. Он рассказал о ключевых фичах, которые уже находятся в разработке или планируются к внедрению в ближайших версиях. Вот самые важные анонсы:
### 🧠 1. Макросы (Macros) — новый уровень метапрограммирования
Одна из самых долгожданных фич в Dart — макросы — наконец-то приближается к релизу. Они позволят:
- Генерировать код на этапе компиляции.
- Упрощать шаблонную логику (например, сериализацию/десериализацию JSON).
- Делать аргументацию классов и функций без необходимости использования отдельных кодогенераторов.
📌 Макросы будут работать через специальные аннотации и поддерживать три типа:
-
-
-
⚠️ Важно: макросы не смогут использовать
### 🔢 2. Цифровые разделители (Dart 36)
Начиная с Dart 36, появятся разделители в числах — удобный способ читать большие значения. Это улучшение качества жизни разработчика, особенно при работе с финансовыми или статистическими данными.
### 🎯 3. Wildcards (Dart 37)
Теперь можно использовать
Это упростит работу с ненужными параметрами и уменьшит количество "заглушек".
### 🔄 4. Изменяемые ресурсы между изолятами
Разработчики рассматривают возможность передачи изменяемых объектов между изолятами, используя модификатор
💡 Предполагается, что вместе с этим будет добавлена библиотека
### 🛠 5. Первичные конструкторы (Primary Constructors)
Ещё одна фича, которая поможет писать меньше кода:
Сокращает объявление простых классов, где поля создаются прямо в конструкторе. Также добавлено ключевое слово
### 📦 6. Новые возможности импортов
Появление scoped imports позволит писать меньше повторяющегося кода:
Такой подход упростит работу с перечислениями и статическими методами.
### 💬 7. Интерполяция строк с тегами (String Tags)
Такие теги позволят обрабатывать строки особым образом, например, экранировать HTML, форматировать SQL-запросы или валидировать регулярные выражения.
### 📐 8. Static Extensions
Фича, которая позволит добавлять новые конструкторы к классам, не изменяя их исходный код:
Отличное решение для расширения сторонних библиотек без fork’ов.
### 🚀 Итого: куда движется Dart?
Dart продолжает эволюционировать, становясь более мощным и выразительным. Фичи вроде макросов и изменяемых ресурсов между изолятами могут сделать язык конкурентоспособным даже в сложных системах. Однако растёт и порог входа: новые разработчики теперь столкнутся с гораздо более сложным инструментарием.
📌 Dart больше не просто язык для Flutter. Он становится полноценным системным языком с широкими возможностями абстракции, метапрограммирования и параллелизма.
🎥 Видео доступно на YouTube
#FlutterPulse #DartLanguage #FlutterDev #FutureOfDart #MacrosInDart #Isolates #StaticExtensions #FlutterCommunity #MobileDevelopment #PotokConf #Dart36 #Dart37 #FlutterNews #DartEvolution #CodeGeneration #DartIsMoreThanFlutter
На прошедшей конференции CrossConf 2025 автор книги «Основы Dart» и один из самых узнаваемых экспертов в сообществе, Станислав Чернышёв, выступил с докладом о будущем языка Dart. Он рассказал о ключевых фичах, которые уже находятся в разработке или планируются к внедрению в ближайших версиях. Вот самые важные анонсы:
### 🧠 1. Макросы (Macros) — новый уровень метапрограммирования
Одна из самых долгожданных фич в Dart — макросы — наконец-то приближается к релизу. Они позволят:
- Генерировать код на этапе компиляции.
- Упрощать шаблонную логику (например, сериализацию/десериализацию JSON).
- Делать аргументацию классов и функций без необходимости использования отдельных кодогенераторов.
📌 Макросы будут работать через специальные аннотации и поддерживать три типа:
-
type
— для работы с типами.-
declaration
— для добавления объявлений.-
definition
— для изменения поведения существующих сущностей.⚠️ Важно: макросы не смогут использовать
dart:io
, dart:isolate
и другие небезопасные библиотеки, чтобы избежать нежелательного влияния на систему.### 🔢 2. Цифровые разделители (Dart 36)
int bigNumber = 1_000_000;
Начиная с Dart 36, появятся разделители в числах — удобный способ читать большие значения. Это улучшение качества жизни разработчика, особенно при работе с финансовыми или статистическими данными.
### 🎯 3. Wildcards (Dart 37)
Теперь можно использовать
_
как имя переменной в callback’ах, без опаски получить ошибку анализа кода:list.forEach((_, index) {
print(index);
});
Это упростит работу с ненужными параметрами и уменьшит количество "заглушек".
### 🔄 4. Изменяемые ресурсы между изолятами
Разработчики рассматривают возможность передачи изменяемых объектов между изолятами, используя модификатор
sharable
. Это может радикально изменить подход к многопоточности в Dart и Flutter, особенно в тяжёлых приложениях.💡 Предполагается, что вместе с этим будет добавлена библиотека
dart:concurrent
, предоставляющая примитивы синхронизации и безопасной работы с общими ресурсами.### 🛠 5. Первичные конструкторы (Primary Constructors)
Ещё одна фича, которая поможет писать меньше кода:
class User(primary constructor(this.name, this.age));
Сокращает объявление простых классов, где поля создаются прямо в конструкторе. Также добавлено ключевое слово
required
для именованных параметров.### 📦 6. Новые возможности импортов
Появление scoped imports позволит писать меньше повторяющегося кода:
import 'package:mylib/mylib.dart' show Color;
Color red = Color.red; // Теперь работает!
Такой подход упростит работу с перечислениями и статическими методами.
### 💬 7. Интерполяция строк с тегами (String Tags)
var html = htmlTag"<div>$content</div>";
Такие теги позволят обрабатывать строки особым образом, например, экранировать HTML, форматировать SQL-запросы или валидировать регулярные выражения.
### 📐 8. Static Extensions
Фича, которая позволит добавлять новые конструкторы к классам, не изменяя их исходный код:
static extension UserExtensions on User {
User.fromMap(Map<String, dynamic> data) => ...;
}
Отличное решение для расширения сторонних библиотек без fork’ов.
### 🚀 Итого: куда движется Dart?
Dart продолжает эволюционировать, становясь более мощным и выразительным. Фичи вроде макросов и изменяемых ресурсов между изолятами могут сделать язык конкурентоспособным даже в сложных системах. Однако растёт и порог входа: новые разработчики теперь столкнутся с гораздо более сложным инструментарием.
📌 Dart больше не просто язык для Flutter. Он становится полноценным системным языком с широкими возможностями абстракции, метапрограммирования и параллелизма.
🎥 Видео доступно на YouTube
#FlutterPulse #DartLanguage #FlutterDev #FutureOfDart #MacrosInDart #Isolates #StaticExtensions #FlutterCommunity #MobileDevelopment #PotokConf #Dart36 #Dart37 #FlutterNews #DartEvolution #CodeGeneration #DartIsMoreThanFlutter