Skip to content

siroky/swat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Swat - Scala web application toolkit

Aim of this project is to create a set of tools that will help to create rich internet applications using the Scala language. That is compilation of programs written in Scala to JavaScript and runtime environment which should enable execution of the compiled code in modern web browsers. On top of that, advanced libraries or features can be built in order to simplify tasks, that aren't very progrmmer-friendly to implement directly in JavaScript. Unlike ScalaGWT, it should be completely separated from any web application framework, so existing frameworks would be easily integratable into the Swat. Or new frameworks implemented directly in Scala could be created from scratch.

Core Components

Component Status
Scala to JavaScript compiler. 100%
Type safe adapters of existing & native JavaScript objects (and means of simple integration). 100%
Runtime that would support execution of the compiled code. 100%
Port of the most important Scala Library classes to JavaScript (hopefully with big help of Swat). 40%
Object graph serializer/deserializer to/from JSON. 100%
Remote procedure call mechanism between the client-side and the server-side. 100%
Classloader that can dynamically fetch compiled class definitions from the server on the fly. 100%

Optional Components

Other possibilities stemming from new web browser features should be at least investigated from the feasibility point of view. And optionally implemented as a proof of concept.

Component Status
Actors-like abstraction based on web workers. 25%
Web sockets. 0%
Template engine based on Scala XML support, or rather string interpolation. 0%