Hi, Those among you who have an interest in AJAX-style web development - that is to say the development of web applications that run entirely into the browser environment, calling back to the server back-end only to get raw data -- will probably have noticed the recent appearance of the Google Web Toolkit (http://code.google.com/webtoolkit). The main idea behind it is very simple: you write your Ajax application in Java and your code is compiled down to JavaScript/HTML (rather then to Java Virtual Machine bytecode) so that it can be executed in any browser. The main advantages of this solution are: - Development using a typed language with good compile-time checks and debugger support - No plugins (e.g. a Java VM) required on the user machine The disadvantages are: - An additional compilation step - Probably, a significant loss of performance with respect to hand-written code Assuming that the balance is positive, this naturally raises the question: why not doing the same with our favourite language? This would require to: - Retarget one of the existing Haskell compilers to generate JavaScript (other possible targets would be Flash or higher level UI languages such as OpenLaszlo that in turn compiles down to either Flash or JavaScript/HTML) - Write a suitable runtime library (including support for native JavaScript or Flash UI components, remote method invocations, multi-threading, etc.) - Port a usable subset of the Haskell Libraries - Select an approach to write user interfaces in Haskell. There have been many attempts in this direction but I am unsure if any of them has proven particularly successful. All considered, quite a significant amount of work -- that would require a concerted group effort -- with a rather uncertain pay-off. Is anyone working on anything similar or that might be interested in such a project? And has anyone any thoughts to offer on what compilers/libraries/UI frameworks would be more suitable for the task? Regards, titto assini
2006/8/9, Pasqualino 'Titto' Assini <tittoassini@gmail.com>:
Hi,
Those among you who have an interest in AJAX-style web development - that is to say the development of web applications that run entirely into the browser environment, calling back to the server back-end only to get raw data -- will probably have noticed the recent appearance of the Google Web Toolkit (http://code.google.com/webtoolkit).
...
Is anyone working on anything similar or that might be interested in such a
project?
I am currently working on a Google Summer of Code project relating to some of this... The project is more or less bound to Haskell Server Pages ( http://www.cs.chalmers.se/~d00nibro/hsp/), enabling JavaScript code generation. The main difference compared to the Google Web Toolkit approach is that there are no special compiler magic added for compiling directly into JavaScript. Instead the compiled program, e.g. a cgi program generates the code (JavaScript/HTML/XML) at runtime. However, type safety is gained via an embedded language (HJScript) and a typed abstract representation of JavaScript in Haskell. For more info see http://www.dtek.chalmers.se/~bjornson/soc/ Regards, Joel
Hi, I have added a page to the Haskell Wiki (http://www.haskell.org/haskellwiki/Hajax) to summarise the key features of a possible tool to develop Ajax applications. Please modify/extend as appropriate. Regards, Titto assini
participants (2)
-
Joel Björnson -
Pasqualino 'Titto' Assini