Opaはクラウド向けWebアプリケーション開発に特化したプログラミング言語。

Opaはオープンソースのプログラミング言語。世の中には幾つのプログラミング言語があるだろうか。最近だと人気なのはJavaScriptだろう。10年くらい前から言えば、Web向けのプログラミング言語であるPHPがシェアを一気に高めた。


デモのチャット

しかし常に人気が高い状態が続く訳ではない。栄枯盛衰、時代は常に変わらなければならない。今回紹介するのはWebアプリケーション開発用プログラミング言語として登場したOpaだ。

OpaはPHPと同じくWeb向けに特化したプログラミング言語だ。主に3つの特徴があり、シンプル、セキュアそしてスケーラブルだ。HTMLタグとOpaの変数とを区別せずに書けてしまう。コールバックを使って書くのでJavaScriptにも似ている。書きやすそうな印象を受ける。


イメージギャラリー

セキュアについて言うと、OpaはWebサーバ/アプリケーションサーバ/データベースの全てをこなすようになっている。そのためXSSやSQLインジェクションの入り込む余地がないという。DBは一般的なSQLが使える訳ではないが、スキーマレスで簡単に使えるようだ。

さらに全ての機能がOpa一つで提供されることによって、Opaサーバを増やせば自動的にスケールする。その時にはノンブロッキングでスムーズだ。クラウド向け言語と言っているのも分かる。コンパイルすれば一つのバイナリになるので、後はこれを実行すればOpaサーバが立ち上がる。とても簡単だ。

チャットのようなシンプルなWebアプリケーションの他、ホワイトボード共有やイメージギャラリー、WebGLのサンプルなど既に多数のWebアプリケーションが開発されている。既存のDBシステムが使えないのはちょっと気になるが、それ以上にわくわくさせられる言語だ。

[s2If current_user_can(access_s2member_level1)]


ホワイトボード(プレミアム限定)

[/s2If]

MOONGIFTはこう見る

Opaだけではなく、最近はごく小さなWebアプリケーションを開発するためのフレームワークが増えてきている。昔は大きなWebアプリケーションを開発する際によくある機能を集めたフレームワークが多かったが、今はごく小さなものを手早く作る目的で使われている。

Opaが面白いのは結果的にコンパイルされるのは一つの実行ファイルだけで、それだけで全てをこなすということにあると思う。Webアプリケーションをソフトウェアとして配布する、そんな未来を感じさせるソフトウェア、それがOpaだ。

Opa: Advancing web development to the next generation

iMage: a magical image viewer!

MLstate/opalang - GitHub