Junger Opa will Web-Entwicklung revolutionieren
Immer mehr Programmierer und Entwickler konzentrieren sich auf Web-Anwendungen. Klar – denn dem Web 2.0 gehört die Zukunft, meinen zumindest diejenigen, die Programmiersprachen, Developer-Frameworks und Tools machen. Es sind aber nicht nur die Großen wie Google, IBM, Apple oder Mozilla, die sich nach Kräften mühen, moderne Web-Entwicklung mit HTML5, CSS3 oder Javascript zu fördern. Dass sogar das Thema Programmiersprachen für’s Web noch lange nicht ausgereizt ist, will uns in diesen Tagen ein Opa zeigen, denn das Opa-Projekt, eine Open-Source-Plattform zum Entwickeln von Cloud-Anwendungen, hat gerade den stabilen Versionsstand 1.0 erreicht. Laut Aussage der Entwickler bietet Opa insbesondere Immunität vor XSS-Angriffen und SQL-Injections.
Die primär für Cloud-Anwendungen vorgesehene Programmierplattform Opa wurde von den französischen Startups Mlstate und Plug Up, einem Zusammenschluss von Forschern und Programmierern aus dem Bereich Online-Softwareentwicklung, ins Leben gerufen und vor rund einem Jahr unter eine Open-Source-Lizenz gestellt. Die Opa-Laufzeitumgebung selbst steht unter der GPL mit Classpath-Erweiterung. Der Compiler dagegen ist mit der Affero GPL lizenziert und dem Node.js-Backend liegt eine MIT-Lizenz zugrunde.
Wie Javascript – nur besser
Opa setzt sich aus einer Javascript-ähnlichen Programmiersprache, einem Webserver, einer Datenbank und der Engine zum Ausführen des Codes zusammen. Diese Architektur soll laut Ansicht der Entwicklern weitgehend immun gegen SQL-Injections und XSS-Angriffe sein und hervorragend skalieren. Opa ist eine statisch typisierte Programmiersprache, mit der sich Web-Anwendungen sowohl server- als auch clientseitig entwickeln lassen. Die erklärte Zielgruppe der Opa-Programmierplattform sind Javascript-Entwickler. Die sollen in Zukunft die Client-Komponenten ihrer Web-Anwendungen mit Opa schreiben, welche dann ein in “OCaml” geschriebener Compiler in Javascript übersetzt. Dabei soll Opa die jeweiligen Client- und Serverkomponenten automatisch erkennen und auch auf Fehler hinweisen.
Opa 1.0
Die jetzt fertiggestellte Version 1.0 unterstützt auf Backend-Seite nun den kompletten Javascript-Stack, sowie das Event-gesteuerte I/O-Framework “Node.js” und die NoSQL-Datenbank “MongoDB”. Ferner sollen sich mit der strikten statischen Typisierung vom Client zur Datenbank viele automatisierte Tests vermeiden lassen. Darüber hinaus ist eine Funktion implementiert, die dafür sorgt, dass der Code automatisch neu geschrieben wird, wenn sich ein Node.js-Programm aufhängen.
Für künftige Versionen stehen Verbesserungen der Standard-Bibliotheken und Programmier-Schnittstellen und ein besseres Verhalten des Node.js-Backends auf dem Plan.