About

What is Opa?

Opa is an open source, simple and unified platform for writing web applications. All aspects are directly written in Opa: Frontend code, backend code, database queries and configuration. And everything is strongly statically typed.

Simple and fun

Building a web application or web service and run it in the cloud is a challenge. Many technologies are involved and gluing them together is never fun.

Opa is a single and simple language to write web applications and then run them in the cloud.

A hello world is just four lines long, everything included. And a single command line launches the customized application server for you.

All features that would require external frameworks, languages and technologies are already included with Opa:

  • automatic generation of client code in Javascript
  • automatic “slicing” of the code between client and server parts
  • event-driven programming
  • database query generation (currently for MongoDB)
  • parsers generators built-in.

Clean and well done

Not only is Opa simple and fun. It’s also a well-engineered technology resulting of more than 100 man years of work.

Unlike many “hacked” web technologies, Opa foundations are rock-solid:

  • Opa is a fast compiled technology
  • Opa features advanced strong static typing
  • Opa features type inference - meaning that you don’t have to annotate types in your Opa programs
  • the Opa compiler itself is implemented in OCaml.

The static typing system catches bugs and protects applications against most common web attacks including XSS attacks and all forms of code injections with no additional effort from the programmers. Opa’s runtime also benefits from a dedicated web stack that compliments the compile-time security protections.

Take a tour of Opa


Why Opa?

Designed specifically for web apps, Opa is a great tool for easily building real-time web applications and services as well as games! And thanks to it's event-driven, non-blocking approach, Opa is perfect for writing any social application.

Key Benefits

Correctness

In Opa, thanks to strong static typing, a large spectrum of programming errors will be detected by the compiler, which may even suggest a hint on how to solve them.

Productivity

Opa’s functional and high-level nature make for a very expressive language. Also its focus on web applications means that typical things needed in such development you will have at your fingertips. Opa code is efficient from first version and easy to maintain.

Security

Opa is a statically, strongly typed language with built-in constructions for web programming. In Opa, web objects such as URL, HTML, CSS are not manipulated as raw characters by the servers but represented by structured data with a specific semantics and secured output methods. Opa’s runtime also benefits from a dedicated web stack that complements the compile-time security protections.

Scalability

Opa apps are concurrent, non blocking and distributed. They can be easily deployed in the cloud, making scalability as easy as it gets.

Ease of deployment

No configuration needed, Opa apps deployment is remarkably easy.

Check out Opa use cases

The browser you use is not supported by this application, probably because it lacks some critical features.
For a better experience, please consider using this application with a supported browser.