Как стать автором
Обновить
49.87
Friflex
Мобильные приложения для миллионов пользователей🚀

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

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

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

🌟 Языковые обновления

Подстановочные переменные (Wildcard Variables)

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

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

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

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

Пример использования:

Foo(_, this._, super._, void _()) {}  

main() {  
  var _ = 1;  
  int _ = 2;  
  list.where((_) => true);  
}  

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

🛠 Инструменты и анализатор

Новые исправления и правила

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

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

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

  4. 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 делает язык выразительнее, а инструменты — умнее. Не упустите новые возможности для оптимизации вашего кода! 🚀

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

Теги:
Хабы:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Другие новости

Информация

Сайт
friflex.com
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
Friflex_dev