Хабрахабр

[Перевод] Анонсирован Dart 2.3: оптимизирован для разработки пользовательских интерфейсов

3 SDK с новыми языковыми конструкциями, которые улучшают ваш опыт разработки при создании пользовательских интерфейсов, новой поддержкой инструментов для разработки Flutter UI и двумя новыми веб-сайтами: dart.dev и pub.dev.
Сегодня (8 мая 2019) мы объявляем о релизе Dart 2.

В этом году данные показали рост популярности и осведомленности о Dart, который впервые вошел в список самых любимых языков и занял место рядом с другими популярными языками, такими как JavaScript, C# и Go и впереди таких, как C++, F# и R. Каждый год мы с нетерпением ждем опрос разработчиков StackOverflow Developer Survey, который предоставляет полный набор данных о тенденциях в разработке и настроениях разработчиков по отношению к различным технологиям. На Codementor в прошлом месяце опрос на тему, какие языки программирования стоит и не стоит учить, также сообщил хорошие новости: В то же время наши хорошие друзья в сообществе Flutter заняли третье место в списке самых любимых фреймворков.

"Два языка программирования, которые действительно заслужили звание "Самые улучшенные", — это Dart и Ruby." Codementor, Апрель 2019 [источник]

Для нас очень важно видеть, как вы принимаете Dart, даете обратную связь и продолжаете быть с нами, когда мы пытаемся создать лучший оптимизированный для клиента язык для быстрых приложений, которые работают на любой платформе. Мы хотели бы выразить большую благодарность всем разработчикам в сообществе Dart.

Мы считаем, что использование одного языка для поведения и представления имеет достаточно преимуществ. Говоря о разработке "клиентов", важно сказать, что один из давних совместных проектов команд Dart и Flutter дает отличные возможности для создания пользовательского интерфейса с помощью Dart без необходимости в языке разметки. К ним относятся сокращение переключений контекста, отсутствие необходимости изучать два языка и предоставляя использование всех свойств абстракций языка программирования общего назначения при создании пользовательского интерфейса.

В Dart 2. За последние несколько релизов мы сделали несколько улучшений, таких как упрощение кода для создания виджетов, добавление автоматического преобразования int-to-double и добавление Set литералов. 3 мы делаем еще один большой шаг вперед с тремя новыми конструкциями для создания пользовательского интерфейса, связанного со списками, условиями и повторениями в списках.

Некоторые узлы содержат списки виджетов, например, список прокручиваемых элементов. UI можно рассматривать как дерево узлов виджетов. Для этого мы добавили spread оператор для "распаковки" элементов одного списка в другой. Часто эти списки составляются из других списков. В следующем примере buildMainElements() возвращает список виджетов, который затем распаковывается во внешний список с помощью оператора spread :

Widget build(BuildContext context) { return Column(children: [ Header(), ...buildMainElements(), Footer(), ]);
}

Например, вы можете включить кнопку "Далее" на всех страницах, кроме последней. Другой распространенной задачей пользовательского интерфейса является включение определенного элемента на основе условия. 3 вы можете сделать это, используя collection if: С Dart 2.

Widget build(BuildContext context) { return Column(children: [ Text(mainText), if (page != pages.last) FlatButton(child: Text('Next')), ]);
}

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

Widget build(BuildContext context) { return Column(children: [ Text(mainText), for (var section in sections) HeadingAction(section.heading), ]);
}

Данные конструкции вошли в релиз Flutter 1. Так как эти три новые возможности языка, а не разметки, то они могут быть использованы в любом контексте, где вы работаете с коллекциями. 3, который вы уже можете скачать. 5 и доступны в релизе Dart 2. Мы также добавили новые правила, которые можно настроить в анализаторе, чтобы применение новых возможностей spread, collection if и collection for было рекомендованным.

Для получения подробной информации о всей работе, которая была сделана, чтобы добавить эти возможности, ознакомьтесь с недавней статьей от Bob Nystrom (он же munificentbob), инженера в команде Dart.

Мы также хотели бы выразить нашу благодарность разработчикам, участвовавших в исследованиях UX, которые были важны для формирования этих новых языковых конструкций.

UI Guides представляют собой горизонтальные и вертикальные линии, отображенные в коде пользовательского интерфейса, что упрощает просмотр древовидной структуры метода build () во Flutter. Дополнительно к улучшениям разработки на Dart мы также расширили поддержку IDE, добавив новый функционал UI Guides. Ниже пример (из приложения Calculator), где UI Guides показывают, что пользовательский интерфейс построен из Expanded Column, содержащего несколько KeyRows, каждая из которых содержит NumberKeys.

2 плагина для IntelliJ IDEA и Android Studio. UI Guides доступны в версии 35. Мы надеемся добавить аналогичную поддержку в VS Code в более поздних релизах. Чтобы включить, выберите Preferences > Languages & Frameworks > Flutter > UI Guides.

Завершение кода хорошо работало для изучения API в библиотеках, которые вы уже импортировали, но оно не было доступно для API в библиотеках, которые еще не импортированы. Наконец, мы заметили, что разработчики часто используют завершение кода в своих IDE для изучения API. Если вы выберете завершение из еще не импортированной библиотеки (помечено Auto import, как показано в следующей анимации), инструмент добавит инструкцию import для вас. Наши инструменты теперь могут поддерживать последний вариант использования: вы можете вызвать завершение кода для любого префикса, и вы увидите завершения для всех API в текущем пакете, пакеты, от которых он напрямую зависит, и SDK.

26, в IntelliJ 2019. Данная функция автоматического импорта доступна в VS Code в плагине Dart с версии 2. 5. 1 и предстоящем релизе Android Studio 3.

И последнее, но не менее важное: последние несколько месяцев мы были очень заняты созданием нового веб-сайта для платформы Dart: dart.dev

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

Аналогичным образом мы визуально обновили сайт пакетов Pub и переместили его на новый удобный URL: pub.dev

Если вы нашли проблему или у вас есть предложение, пожалуйста, создайте issue в dart.dev issue или pub.dev issue трекере. Мы будем рады услышать ваши отзывы по обоим сайтам. Спасибо за вашу поддержку!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть