Sortie de Opa 0.9.0 « S4 »

Posté par  . Édité par Florent Zara, claudex, patrick_g et Lucas Bonnet. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
24
21
fév.
2012
Technologie

Opa, le langage de développement d'applications web libre, est sorti en version 0.9.0 nommée « S4 ».

Opa est un langage unique qui spécifie les codes client, serveur et base de données d'une application. Opa est aussi une plate-forme d'exécution unique des applications web, basée sur une réécriture propre (en OCaml) de l'ensemble de la pile applicative web.

Cette version majeure introduit deux principaux changements :

  • le changement de la syntaxe par défaut, maintenant beaucoup plus proche de JavaScript comme cela était réclamé par la communauté (y compris dans la dépêche ici-même annonçant la sortie du projet) ;
  • le support étendu de la base libre MongoDB, avec l'introduction d'une couche d'abstraction automatique type ORM à ceci-près que Opa est un langage fonctionnel et non objet, et que MongoDB est une base NoSQL non-relationnelle.

Au-delà de ça, Opa S4 introduit de très nombreux changements et améliorations, signe du développement très actif du projet à la fois par la société qui le supporte et par un nombre grandissant de contributeurs. Concrètement, un programme Opa ressemble à :

database mydb {
  int /counter = 0;
}
function action(_) {
    /mydb/counter <- /mydb/counter + 1;
    #msg = <>Hello, user number {/mydb/counter}!</>;
}
function page() {
    <h1 onclick={action}>Hello, world</h1>
    <div id="msg">Click the header</div>;
}
Server.start(
    Server.http,
    { ~page, title: "Hello, world" }
);

et peut stocker ses données aussi bien dans sa base de données interne que dans MongoDB (à partir du même code). La documentation a été largement revue avec un manuel en ligne plus complet, un navigateur pour la bibliothèque standard et un « carte de référence ». Enfin, Opa a même son académie.

Aller plus loin

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.