Transcript
Page 1: JScala. Write your JavaScript in Scala

JScalaWrite you JavaScript in Scala.

Let it be type safe!

Alexander Nemish @atlanter

Page 2: JScala. Write your JavaScript in Scala

What is JScala?

• JavaScript AST

• Scala macros

• JavaScript pretty printer

• Macro annotations

• Typescript import

Page 3: JScala. Write your JavaScript in Scala

Why JScala?

• Type safety

• IDE support

• Modularity

• Single language

• No boilerplate

Page 4: JScala. Write your JavaScript in Scala

Example

Page 5: JScala. Write your JavaScript in Scala

Example

Page 6: JScala. Write your JavaScript in Scala

Features• Variables, functions, lambdas

• if, for, for..in, while, match, try/throw

• classes, traits, inheritance

• Array/Traversable, Map

• JsDynamic

• Injection

Page 7: JScala. Write your JavaScript in Scala

Manual AST

Page 8: JScala. Write your JavaScript in Scala

Macro example

Page 9: JScala. Write your JavaScript in Scala

Generated JavaScript

Page 10: JScala. Write your JavaScript in Scala

Show Tetris

Page 11: JScala. Write your JavaScript in Scala

Server code

Page 12: JScala. Write your JavaScript in Scala

Client code

Page 13: JScala. Write your JavaScript in Scala

Generated JavaScript

Page 14: JScala. Write your JavaScript in Scala

Show AES web app

Page 15: JScala. Write your JavaScript in Scala

@Typescripted

Page 16: JScala. Write your JavaScript in Scala

JScala Cons

• Subset of Scala

• Covers only basic parts of the library

• Uses experimental Scala features

Page 17: JScala. Write your JavaScript in Scala

Thank you!• http://jscala.org

• https://github.com/nau/jscala

• https://github.com/apezel/ts2scala

• Google Group: jscala-user

• Follow me on twitter: @atlanter

• Email: [email protected]


Top Related