категории | RSS

Обновление Dart 3.7.0: ключевые изменения и комментарии от компании Friflex

Dart снова обновился! Локальные переменные и параметры с именем теперь можно не использовать, а анализатор подсказывает переменные экземпляра внутри инициализаторов late. Про эти и другие обновления, которые отследил бот @FlutterObserver_bot (кстати, сообщил быстрее команды Dart и Flutter), — дальше.🌟 Языковые обновленияПодстановочные переменные (Wildcard Variables)

Локальные переменные и параметры с именем _ теперь:

Не требуют обязательного использования.

Могут объявляться многократно без конфликтов.

Недоступны для чтения (значение игнорируется).

Пример использования:Foo(_, this._, super._, void _()) {} main() { var _ = 1; int _ = 2; list.where((_) => true); }

Юрий Петров, Tech Lead Friflex: Это упрощает код в случаях, когда значение переменной не важно (например, в колбэках). Но будьте осторожны — теперь _ не хранит данные!🛠 Инструменты и анализаторНовые исправления и правила

Автодополнение для late-полей: Теперь анализатор подсказывает переменные экземпляра внутри инициализаторов late.

Конвертация forEach в for: Учитывает правила prefer_final_in_for_each.

Объединение else if: Анализатор предлагает объединить вложенные if внутри else в else if.

30+ новых быстрых исправлений: Например, автоматическое добавление await или исправление импортов.

Юрий Петров, Tech Lead Friflex: Анализатор стал умнее — теперь он не только находит ошибки, но и помогает писать более красивый и понятный код.🎨  Dart formatНовый стиль для декларативного кода:

Автоматические запятые: сам добавляет/удаляет конечные запятые в списках.

Ширина страницы: Настраивается через analysis_options.yaml:formatter: page_width: 120

Исключение участков кода:// dart format off неформатируемый_код(); // dart format on

Петров Юрий, Tech Lead Friflex: Новый стиль делает код Flutter-виджетов гибче. Используйте // dart format off для сложных структур данных и только там, где это действительно необходимо!⚠️ Критические измененияУстаревшие библиотеки

Следующие библиотеки помечены как deprecated и будут удалены в следующем релизе:

dart:html, dart:js, dart:svg, dart:web_gl

Рекомендация: Переход на dart:js_interop и пакет package:web.

Петров Юрий, Tech Lead Friflex: Пора начать миграцию! Лучше не затягивать с этим.🚀 Производительность и компиляцияКомпиляторы dart2js и dartdevc.

Используют AOT-снимки вместо JIT, что ускоряет запуск.

Для DDC:/bin/dartaotruntime /bin/snapshots/dartdevc_aot.dart.snapshot

Петров Юрий, Tech Lead Friflex: AOT-компиляция уменьшает время сборки — особенно заметно в CI/CD-процессах.🐞 Исправления в версиях 3.6.x

HttpServer: Исправлено кодирование заголовков с Content-Type (#59719).

dart format: Корректная обработка цифровых разделителей (#59815).

dart fix: Исправлено применение исправлений в многофайловых проектах (#59572). Советы для миграции

Обновите SDK в pubspec.yaml:sdk: '^3.7.0'

Запустите dart pub get перед форматированием кода.

Используйте dart fix вместо dart format --fix.

Заключение: Dart 3.7 делает язык выразительнее, а инструменты — умнее. Не упустите новые возможности для оптимизации вашего кода! 🚀

Ознакомиться со всеми изменениями можно посмотрев:

CHANGELOGBreaking changes

Не пропустите обновления в мире Flutter на канале Мобильный разработчик



Источник новости: habr.com

DimonVideo
2025-02-12T18:50:13Z

Здесь находятся
всего 0. За сутки здесь было 0 человек
Яндекс.Метрика