Что такое Дарт?
Dart - это язык программирования приложений, изначально разработанный Google. Он используется для создания веб-приложений, серверов, мобильных приложений и устройств Интернета вещей (IoT).
да. Это открытый код.
Вот краткое введение, если вы новичок в Dart:
Итак, что нового в Dart 2?
Dart 2 меняет язык Dart во многих отношениях, некоторые из которых не имеют обратной совместимости.
Устаревшие функции
Следующие функции являются избыточными, и их не будет в Dart 2:
Выбранный режим. Строгий режим заменяет отмеченный режим. Чтобы узнать, чем они отличаются, см. В чем разница между усиленным режимом и отмеченным режимом?
Dartium: компилятор dartdevc выполняет быструю компиляцию в JavaScript благодаря сильному режиму. Вместо Dartium вы будете использовать для тестирования Chrome или другие стандартные браузеры. Для получения информации об удалении Дартиума см. Более сильный дротик для всех.
А теперь хорошие новости. Dart 2 представляет строгий режим и статическую типизацию:
В Dart 1.x типы необязательны. Вы можете удалить все аннотации типов из программы Dart 1.x, не влияя на ее поведение.
В Dart 2 типы являются обязательными, но аннотации по-прежнему необязательны. Когда аннотация типа отсутствует, инструменты делают вывод о типе. В Dart 2 есть как статическая проверка, так и проверка типа во время выполнения, в ней есть система звуковых типов. Эта система типов обеспечивает лучший инструментарий, а также более четкую и раннюю обратную связь при написании кода.
Вы можете подготовиться к Dart 2, используя Dart 1.x в сильном режиме.
Краткое изложение грубых деталей: Dart 2 поддерживает вывод типов и во многих случаях не требует аннотаций типов. Например, следующий код действителен как в Dart 1.x, так и в Dart 2:
var i = 1; // i is dynamic in Dart 1.x // i is inferred as int in Dart 2 dynamic x = 1; x = "Hello";
Как показывает пример, вы можете использовать статический тип dynamic
, чтобы указать, что тип среды выполнения неизвестен. Одно большое различие между опционально типизированным Dart и Dart 2 состоит в том, что в первом случае анализатор определяет тип dynamic
. В Dart 2 такие инструменты, как анализатор, часто могут делать выводы о более конкретных типах, чем dynamic
, следуя правилам спецификации языка.
В то время как Dart 2 имеет статическую типизацию, вывод типов и менее точные типы, такие как dynamic
и num
, снимают большую часть бремени указания точных типов. Dart 2 имеет преимущества строго типизированного языка, но требует немного больше работы, чем Dart 1.x.
Чтобы поэкспериментировать с усиленным режимом, откройте DartPad и установите флажок Сильный режим в правом нижнем углу.
Перенесите свой код в усиленный режим, и вы сможете выявить некоторые скрытые ошибки, которые теперь легче определить и устранить. Вам также будет намного проще перейти на Dart 2. Для получения дополнительной информации см. Более сильный Dart для всех и Strong Mode Dart.
Чтобы использовать усиленный режим в Dart 1.x, вы должны включить его. Обратите внимание, что проверки времени выполнения пока недоступны, если вы не разрабатываете для Интернета и не используете dartdevc.
Много ли под капотом?
Вот что Эмили Фортуна говорит о Dart 2 и Flutter на DartConf 2018:
- Вышеуказанное содержимое извлечено из https://www.dartlang.org/.