To read all comments associated with this story, please click here.
Javascript has no type verification.
Which probably results with more debugging or more bugs.
Opa has a syntax similar to Javascript.
Opa is designed from scratch for the job and provides integrated high-level constructions that are very handy (html, slicing, db ...).
It means you can focus on your application and partly forget about AJAX, escaping, comet and other boring stuff.
ps : I am working on Opa
I would really like to study OPA in the future.
I am unfortunately one of those guys that need "how to do" manuals.
Not just those "how to program" type books but actual applications, "by example" books.
In php for example you get cookbooks, how to program a shopping cart, blog, cms ect.
Hope we'll see books like this for OPA in future.
I would like to delve into this in the future.
Having to learn just one language for site development is very alluring.
The main problem I have with these things that "ALL" of my code is tied into your language.
I have enough problems with just with all our current code relying on 3 blobs (dlls) from a 3rd party.
Also all the generated JavaScript appears to be jQuery.
http://i.imgur.com/z22WE.png
15 seconds on one method when viewing your documentation. I use an 8 virtual processor (4 physical cores) Xeon Workstation and your documentation is bringing my PC to its needs in the latest firefox.
I am sorry but I couldn't recommend your framework.
Edited 2012-02-22 17:29 UTC
Indeed, there are many common points between Node+Express and Opa.
But, as the previous commenter said, Opa is strongly statically typed, which mean way easier for building complex applications.
And Opa uses an advanced mechanism named 'CPS' for continuation passing style which does automatic term rewriting to ensure the application is non-blocking. Something like Fibers for Node.js but with the big advantage it's fully automated and you don't have to write all the time Fiber(function() ... and yield calls.
That and the new mongo stuff.
Very good question. Let me just summarize and extend a bit on previous answers:
*) strong, static typing (that has an AMAZING impact on the number of problems detected by the compiler hence saving you LOTS of debugging time; you'll love it when you try it).
*) full automation of client-server split and communications between the two (in particular that means that: moving some code between client/server is as easy as changing function's client/server annotation; and calling remote function is exactly the same as calling a local function).
*) tight database (MongoDB) integration, with type-safety guarantees (persisting any Opa value in the database is as easy as it gets)
*) truly non-blocking nature (thanks to CPS)





Member since:
2006-02-27
How is that different to NodeJS + Express (or any other of the Javascript MVC Frameworks)? With NodeJS at least you don't have to learn yet another language ...