jscala. write your javascript in scala

17
JScala Write you JavaScript in Scala. Let it be type safe! Alexander Nemish @atlanter

Upload: alexander-nemish

Post on 15-Jan-2015

572 views

Category:

Technology


1 download

DESCRIPTION

JScala library allows you to translate your Scala code to JavaScript. You can express your data and logic as Scala code and reuse it on both server and client sides. It uses Scala macros and macro annotations features, yet experimental but very powerful technics. Even though JScala is a young project you already can implement quite complex logic.

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]