Ocsigen 1.0.0 released!
Vincent Balat announced today on the Ocsigen mailing-list the release of version 1.0.0 of that of that web server + web programming framework. This is great news, as that magical "1.0.0" will hopefully attract more users to this exciting project. Moreover, I can assure you this is a rock solid release; in fact, it has been fairly mature since the 0.6 days, and the 0.99.x series has been in out and about for almost a year now. (In case you haven't noticed, this is the framework I have been using to develop Lambdium and Lambdium-light).
So, why should you care about Ocsigen? Well, it offers much more than a high-performance web server written in Ocaml (though that's also cool). Integrated with Ocsigen comes Eliom, a web programming framework based on the Ocaml language. It brings the advantages of a safe, functional, strongly-typed, and amazingly fast language to web development. Here are some of the highlights:
- Static checking of XHTML:
Either using native Ocaml or Ocamlduce, the type system makes sure at compile time (no runtime penalties!) that the pages you generate are valid XHTML.
- Web sites consistent by construction:
Again thanks to Ocaml's type system, there's just no way for a website to include broken links, type mismatching of form fields, wrong evaluation of page parameters, and similar brittleness. And again, all this is checked at compile-time.
- One page, one function:
This not only helps to ensure the modularity and conciseness of web sites, but it is a more elegant solution to the consistency problem than the templating offered by other frameworks.
- Continuation-based web programming:
This is one of those features that is a bit hard to explain, but whose advantages are obvious once you actually start using it. It does simplify tremendously the correct use of the "back" button in browsers or "what if" scenarios when users open multiple tabs from the same form.
- Automatic handling of sessions:
Eliom takes care of most of the low-level stuff, automatically taking care of session management. Moreover, it offers you a wealth of possibilities, including the choice between volatile or persistent sessions (even if the web server is restarted!), public versus private sessions, etc.
- Amazing speed without sacrificing
expressiveness:
Ocaml is known to be a very fast language, comparable to C++ in terms of speed. Moreover, it is a very high-level language, with a degree of expressiveness comparable to Python or Ruby. Wouldn't you like to to have the best of both worlds? Now you can.
In short, Ocsigen brings web development from the infant age into maturity. So, if you are curious, or just simply tired of dealing with the slowness of Ruby on Rails or the epic brain damage that goes by the name of PHP, I suggest you pay a visit to Ocsigen's site and take a look at the tutorial. The only prerequisite is that you know the Ocaml language. But it's well worth it.

Comments