Scala.js Улучшает Работоспособность


Scala.js был обновлен до версии 1.0 после семи лет разработки. В новом выпуске улучшена производительность среды выполнения, расширена поддержка библиотек JavaScript и улучшена переносимость по отношению к Scala/JVM.

Scala.js состоит из компилятора от Scala до JavaScript, который компилирует файлы .scala в один оптимизированный и свернутый файл .js для каждого приложения. Полученный код JavaScript является ванильным ECMAScript, поэтому он работает в разных операционных системах и браузерах. Scala.js предлагает функции языка Scala, включая вывод типов, классы, признаки и объекты, сопоставление шаблонов и библиотеку коллекций Scala. Точно так же, как Scala полностью совместима с Java, Scala.js полностью совместим с JavaScript.

Разработчики Scala.js опишите версию 1.0 следующим образом:

“кульминация наших усилий по упрощению, конкретизации и защите всех аспектов Scala.js, от семантики языка до внутренних API”

Хотя это первый выпуск 1.0, в нем не так много серьезных изменений. Единственное критическое изменение-это использование глобальной области, а не глобального объекта.  Это означает, что когда среда JavaScript предоставляет глобальную переменную, она теперь будет видна Scala.js.

В новом выпуске также по умолчанию создается код ECMAScript 2015, а не вывод в строгом режиме ES 5.1, созданный более ранними выпусками. Разработчики говорят, что это позволяет лучше отображать трассировки стека и сообщения об ошибках в интерактивных отладчиках. Это также означает, что статические поля и методы в классах JS должным образом наследуются, а сгенерированный код короче.

Еще одним улучшением является то, что вложенные неродные классы JS предоставляют разумные конструкторы JavaScript, что позволяет объявлять неродные классы JS внутри внешних классов или внутри defs и использовать их js.constructorOf осмысленным образом.

Разработчики говорят, что библиотеки должны быть перекомпилированы и переизданы с использованием Scala.js 1.0, чтобы быть совместимым, но что несколько библиотек в основе Scala/Scala.js экосистемы уже опубликованы и доступны для Scala.js 1.0. Список библиотек, поддерживающих новую версию, доступен на GitHub.


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