Другой язык Google, Dart, только что был выпущен в версии 1.0, и он утверждает, что он стабилен и готов к реальной работе. Кто-нибудь заинтересован? Может ли он что-нибудь предложить? И можете ли вы положиться на то, что он будет рядом в следующий раз, когда вы посмотрите?
Google сделала решительный шаг в создании своих собственных языков несколько лет назад с помощью Go для общего и системного программирования и Dart, своего убийцы JavaScript. Конечно, не все думают, что JavaScript нужно убить, но есть много программистов, знакомых с классовым, строго типизированным языком, таким как Java или C#, которые находят его настолько отличным, что они действительно не хотят справляться. Dart основан на классах и опционально типизирован и мгновенно понятен любому программисту Java, C++ или C#.
Дарт может быть как раз для них, но есть много сложных и запутанных проблем.
Версия 1.0 содержит все необходимое для написания и запуска программ Dart. Он поставляется с редактором Dart, легкой IDE, которая поддерживает завершение кода, рефакторинг, переход к определению и отладчик. Это делает создание дротика довольно простым, но где вы собираетесь его запускать?
Вам предлагается два варианта, но в большинстве случаев только один из них будет практичным. Существует модифицированная версия Chromium, Dartium, которая запускает Dart непосредственно с помощью виртуальной машины. Вы также можете использовать виртуальную машину для запуска Dart на сервере, что делает ее альтернативой Node.js.
Подход к виртуальной машине может быть идеальным, но у большинства пользователей будут браузеры, которые запускают JavaScript, а не Dart. В solution.is чтобы использовать компилятор dart2js. Это выводит оптимизированный JavaScript, который, как утверждается, работает быстрее, чем идиоматический JavaScript.
Как JavaScript может работать быстрее, чем JavaScript? Идея заключается в том, что dart2js генерирует лучший код, чем вы, потому что ему не нужно заботиться о написании кода, который можно понять. Последняя версия компилятора также утверждает, что производит меньшие программы JavaScript. Он также использует «встряхивание дерева», которое просто удаляет любой код, включенный в вашу программу, который не используется. Например, если вы включаете библиотеку, но используете только одну функцию, содержащуюся в ней, то встряхивание дерева удаляет все остальные функции.
В настоящее время существует более 500 пакетов Dart, которые можно использовать через менеджер пакетов Pub, включая AngularDart и Polymer.dart. Если ваш любимый пакет недоступен в Dart, то есть возможность взаимодействия.
Команда Dart утверждает, что теперь она готова к производству и переходит в фазу, когда:
«…команда Dart сосредоточится на улучшении Dartium, повышении производительности Dart и обеспечении того, чтобы платформа оставалась прочной. В частности, изменения в основных технологиях будут обратно совместимы в обозримом будущем. »
Все это замечательно, и если вы ищете язык на основе классов для создания веб-приложений, Dart-это возможный выбор, но…
Принятие языка-это большое обязательство. Вы тратите много времени на создание приложений, и вам нужно верить, что язык будет там в будущем. Понятно, что JavaScript будет существовать некоторое время, но как насчет Dart?
Большая проблема заключается в том, что у Google нет хорошего послужного списка, чтобы придерживаться своих инноваций. Например, GWT, способ компиляции Java в JavaScript, был изюминкой месяца, пока не появился Dart и Google не перевел программистов из этого проекта с открытым исходным кодом в Dart. Проект GWT продолжается с открытым исходным кодом, но без движущей силы Google на 100%.
Также ясно, что Dart не получит поддержки Mozilla и Microsoft, и это означает, что Chrome-единственный браузер, который, вероятно, будет поддерживать прямую реализацию. Некоторые подозревают, что Google может использовать Dart как способ сделать Chrome уникальным на рынке браузеров — возвращение к «лучшим работам в дни x». Тем не менее, Google также очень настойчиво продвигает реформу JavaScript изнутри, внося свой вклад в разработку ECMAScript 6.
Dart-хороший язык и хорошо реализован, но при выборе языка есть много других соображений.