Scala.js 0.6.0: Scala-JavaScript-Compiler reif für den Produktionseinsatz

Michael Thomas

Scala Logo (Quelle: scala-lang.org)

Wie das Scala-Entwicklerteam bekannt gegeben hat, ist Scala.js mit der Veröffentlichung von Version 0.6.0 nicht mehr als experimentell, sondern als reif für den Produktionseinsatz zu betrachten. Da Scala.js kein Teil der Typesafe Reactive Platform ist, steht jedoch kein kommerzieller Support für den Scala-JavaScript-Compiler zur Verfügung.

Als Grund für die Freigabe für den Produktionseinsatz wird die im Vergleich zu früheren Versionen deutlich verbesserte Stabilität genannt. So ist die Semantik der Sprache mittlerweile festgelegt; abgesehen von Aspekten der Abwärtskompatibilität werden sich keine Änderungen mehr ergeben. Im Gegensatz zu vorherigen Versionen werden die sbt-Builds quellkompatibel bleiben; die Standard-Bilbiothek von Scala.js quell- und binärkompatibel. Heute geschriebener Code wird also auch in den absehbaren Versionen, mindestens bis einschließlich den 1.x-Versionen, funktionieren.

Über Scala.js: Compiler und Ökosystem in einem

Will man moderne Webseiten entwickeln, führt an JavaScript praktisch kein Weg vorbei. Allgemein beherrschen viele Enterprise-Entwickler JavaScript allerdings eher schlecht als recht – was zum einen mit der Ablehnung der Sprache als „unsicher“, „inkonsistent“ etc. zu tun hat, zum anderen mit der Unterschätzung der Andersartigkeit von JavaScript. Die Lücke zwischen Java und JavaScript soll Scala.js füllen.

Im Grunde ist Scala.js ein Compiler für die Übersetzung von Scala in JavaScript. .scala-Dateien werden in eine einzelne optimierte und minimierte .js-Datei pro Anwendung kompiliert. Bei dem so entstandenen Code handelt es sich um reinen ECMAScript 5.1-Code. Er funktioniert also auf jedem Betriebssystem, jedem Browser und sogar auf Node.js. Dabei stehen alle Sprachfunktionen von Scala zur Verfügung; außerdem kann Scala.js in statischer wie dynamischer Weise mit JavaScript interoperieren.

Abgesehen vom Compiler bietet Scala.js ein komplettes Ökosystem aus Bibliotheken und Tools. Sowohl IntelliJ IDEA als auch Eclipse können Erfahrungsberichten zufolge reibungslos eingesetzt werden. Das Scala.js-Tooling bietet die meisten Features, die auch das Scala-Tooling bietet, u. a. Syntax-Hervorhebung und Codevervollständigung. Wenn die genutzte IDE den Scala.js-Code nicht ausführen oder debuggen kann, kann dafür stattdessen ein Browser verwendet werden. Ein sbt-Plugin bietet dasselbe Entwicklererlebnis wie Scala auf der JVM; es können sogar automatische Unit-Tests mit Rhino, Node.js oder PhantomJS durchgeführt werden. Das stetig wachsende Ökosystem aus Bibliotheken deckt u. a. UI-Frameworks, statisch typisierte Client-Server-Kommunikation und reaktive Erweiterungen ab.

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: