Lutz Hühnken11.09.2015
SCALA.JS
Lutz Hühnken
JavaScript
Über mich
• Java seit ~1997
• Im Laufe der Zeit verschiedenste Rollen: Consultant, Architekt, IT
Projektleiter, IT Manager...
Front-End / JavaScript Erfahrungen
scala.js code.talks 2014 3
• Backoffice für Reise-Website mit GWT
• Migration umfangrei...
JavaScript
JavaScript ist so eine Sache..
scala.js code.talks 2014 5
• Eine moderne Web-Anwendung ist im wesentlichen eine JavaScript...
JavaScript ist so eine Sache..
scala.js code.talks 2014 6
• Andererseits betreiben viele Leute einigen Aufwand, um nicht i...
Und jetzt auch noch Scala..
scala.js code.talks 2014 7
Wenn man Scala mag, warum es nicht auch für das Front-End verwenden...
Scala.js
Überblick
scala.js code.talks 2014 9
Bild von Sébastien Doeraene
Compiler Plug-in
• scala-js sbt Plug-In erweitert Scala-Compiler um ein Compiler-Plug-
In
• Compiliert den AST nach JavaSc...
Pipeline
scala.js code.talks 2014 11
Bild von Sébastien Doeraene
Scala.js Eigenschaften
• uneingeschränkter DOM Zugriff
• sbt Integration
• Source Maps
• Statische Typisierung
• Closure C...
(Umschalten zu Source Code)
Schön und gut.. was noch?
Java-VM vs. JS-Runtime
• Ziel: Bekannte Abstraktionen aus Scala auch auf JS-Runtime
verwenden.
• Vieles (HOF, Patter match...
Nebenläufigkeit
• JVM: Threads.
• JavaScript: Callbacks.
• Gemeinsame Abstraktion?
scala.js code.talks 2014 16
Akka
scala.js code.talks 2014 17
Was ist ein Aktor?
• Hat eine Mailbox (Queue)
• Empfängt Nachrichten
• Nachrichten werden sequentiell abgearbeiten
• Aktor...
Akka.js
• Akka-Implementierung in Scala.js
• Läuft leider noch nicht, kann nichts zeigen 
• Aber ist in Arbeit (Kooperati...
Li Haoyi
• https://github.com/lihaoyi/scalatags
• https://github.com/lihaoyi/scala.rx
• http://www.scala-js-fiddle.com
sca...
Danke schön!
Scala JS Hompage
http://www.scala-js.org
Bitte folgt mir auf Twitter:
https://twitter.com/lutzhuehnken
scala....
Nächste SlideShare
Wird geladen in …5
×

Scala.js at code.talks 2014, Hamburg

367 Aufrufe

Veröffentlicht am

Scala.js at a glance - a quick overview of what Scala.js is and how it works.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
367
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Scala.js at code.talks 2014, Hamburg

  1. 1. Lutz Hühnken11.09.2015 SCALA.JS Lutz Hühnken JavaScript
  2. 2. Über mich • Java seit ~1997 • Im Laufe der Zeit verschiedenste Rollen: Consultant, Architekt, IT Projektleiter, IT Manager, Scrum Master. • Meine “Entdeckung” von Scala (ca. 2011) hat mich wieder zum Programmieren gebracht • Seit 2012 Entwicklung mit Scala (vor allem REST-Services für mobile Anwendungen) • Seit April 2014 Trainer und Consultant bei Typesafe scala.js code.talks 2014 2
  3. 3. Front-End / JavaScript Erfahrungen scala.js code.talks 2014 3 • Backoffice für Reise-Website mit GWT • Migration umfangreicher Set-Top-Box / TV Applikation von Flash nach “HTML5” (JavaScript/jQuery) • PhoneGap-Applikation mit jqMobi, require.js, underscore.js, backbone.js
  4. 4. JavaScript
  5. 5. JavaScript ist so eine Sache.. scala.js code.talks 2014 5 • Eine moderne Web-Anwendung ist im wesentlichen eine JavaScript- Anwendung • JavaScript ist plattformübergreifend verfügbar, erfordert keinerlei Installation, ist von Nutzern akzeptiert • Aber…
  6. 6. JavaScript ist so eine Sache.. scala.js code.talks 2014 6 • Andererseits betreiben viele Leute einigen Aufwand, um nicht in JavaScript programmieren zu müssen • CoffeeScript, TypeScript, Dart, ClojureScript, Haste, Ceylon, emscripten… • Platform ja, Sprache nein?
  7. 7. Und jetzt auch noch Scala.. scala.js code.talks 2014 7 Wenn man Scala mag, warum es nicht auch für das Front-End verwenden? Scala.js ermöglicht dies.
  8. 8. Scala.js
  9. 9. Überblick scala.js code.talks 2014 9 Bild von Sébastien Doeraene
  10. 10. Compiler Plug-in • scala-js sbt Plug-In erweitert Scala-Compiler um ein Compiler-Plug- In • Compiliert den AST nach JavaScript • erzeugt auch “Source Map” • optimiert Code (Google Closure) • bester Startpunkt: sbt sample project scala.js code.talks 2014 10
  11. 11. Pipeline scala.js code.talks 2014 11 Bild von Sébastien Doeraene
  12. 12. Scala.js Eigenschaften • uneingeschränkter DOM Zugriff • sbt Integration • Source Maps • Statische Typisierung • Closure Compiler scala.js code.talks 2014 12
  13. 13. (Umschalten zu Source Code)
  14. 14. Schön und gut.. was noch?
  15. 15. Java-VM vs. JS-Runtime • Ziel: Bekannte Abstraktionen aus Scala auch auf JS-Runtime verwenden. • Vieles (HOF, Patter matching etc.) lässt sich übersetzen, vergl. Code, den wir gerade gesehen haben. • Aber nicht alles.. scala.js code.talks 2014 15
  16. 16. Nebenläufigkeit • JVM: Threads. • JavaScript: Callbacks. • Gemeinsame Abstraktion? scala.js code.talks 2014 16
  17. 17. Akka scala.js code.talks 2014 17
  18. 18. Was ist ein Aktor? • Hat eine Mailbox (Queue) • Empfängt Nachrichten • Nachrichten werden sequentiell abgearbeiten • Aktoren-Framework für die JVM: Akka scala.js code.talks 2014 18
  19. 19. Akka.js • Akka-Implementierung in Scala.js • Läuft leider noch nicht, kann nichts zeigen  • Aber ist in Arbeit (Kooperation EPFL/Typesafe)! • Prototyp (veraltet): https://github.com/sjrd/scala-js-actors scala.js code.talks 2014 19
  20. 20. Li Haoyi • https://github.com/lihaoyi/scalatags • https://github.com/lihaoyi/scala.rx • http://www.scala-js-fiddle.com scala.js code.talks 2014 20
  21. 21. Danke schön! Scala JS Hompage http://www.scala-js.org Bitte folgt mir auf Twitter: https://twitter.com/lutzhuehnken scala.js code.talks 2014 21

×