Scala.js Выход Из Экспериментальной стадии


Разработчики Scala.js сбросили экспериментальный флаг, связанный с их компилятором Scala для JavaScript, и обновили версию до v0.6.0.

Scala.js разрабатывается уже два года, и разработчики говорят в блоге о новой версии, что они, наконец, чувствуют себя комфортно, называя ее готовой к производству. Тем не менее, он по-прежнему не является частью реактивной платформы Typesafe, и Typesafe, компания, созданная создателем Scala Мартином Одерски для продвижения Scala, не оказывает ей никакой коммерческой поддержки.

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

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

Вы можете использовать различные IDE для разработки в Scala.js, и разработчики говорят, что и IntelliJ IDEA, и Eclipse работают хорошо, и другие редакторы тоже должны это делать. В Scala.js инструментарий дает подсветку синтаксиса, а завершение кода распространяется на библиотеки JavaScript и DOM. Основное ограничение заключается в том, что ваша среда IDE не сможет работать или отлаживаться Scala.js код, но вы можете сделать это в своем браузере, включая пошаговое выполнение кода Scala, потому что Scala.js выдает исходные карты.

Scala.js имеет то, что разработчики описывают как растущую экосистему библиотек, на которую вы можете положиться через Maven (libraryDependencies в sbt). Библиотеки охватывают фреймворки пользовательского интерфейса, статически типизированную связь клиент-сервер и реактивные расширения. Несколько популярных библиотек сообщества Scala, таких как Shapeless и Scalaz, кросс-компилируются с Scala.js.

Решение снять экспериментальный флаг было принято из-за нескольких аспектов стабильности, в том числе из-за того, что семантика языка урегулирована. Стандартная библиотека Scala.js будет оставаться обратно совместимым с исходным кодом, как и сборки sbt.

В блоге говорится, что все учтено:

“это означает, что код, который вы пишете сегодня, для Scala.js 0.6.0, будет продолжать работать в течение 0.6.x и 1.x.y без изменений.”

Главное, что, возможно, придется изменить в будущих версиях, — это формат промежуточных файлов Scala.js, файлы .sjsir. Эти файлы, по сути, Scala.js эквивалент файлов .class для JVM, и разработчики еще не полностью уверены, что формат установлен, поэтому было принято решение назвать эту версию 0.6.

Scala.js имеет свой собственный сайт, scala-js.org где вы можете скачать автономный дистрибутив и найти учебник. Вы также можете попробовать Scala.js в браузере в его официальной песочнице, scala-js-fiddle.com. 


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