Curlアプリケーションは、「Curl」というプログラミング言語で構築します。Curl言語は、「{」が多いので、Lisp言語っぽく、なじみにくいと思われる方も多いと思いますが、Curlは、中括弧「{」の呼び名、「curly bracket」が語源のようです。
言語としては後発ですが、非常に特徴的であり、後発の強みも感じさせる言語体系となっています。マークアップ言語や手続き型言語、オブジェクト指向といったエッセンスが違和感なく、見事に融合されています。
Curlの言語ドキュメンテーションには、豊富なサンプルが記載されているのですが、それらのサンプルは、その場で編集し、実行可能です。サンプルを手軽に編集して、すぐに動作を確かめられるので、言語が効率的に習得できます。
標準的なAPIに加え、2次元、3次元のグラフィック機能やオーディオ機能、暗号化、SAX(Simple API for XML)パーサー、SOAPリクエストなど、多岐にわたるAPI群が標準提供されているので、ほとんどの需要には応えることができます。
特に、3次元のグラフィック機能については、Google SketchUpで作成した3Dモデリング内を歩き回れるなど、高機能を備えているのが、Curlの特徴です。Google SketchUpで作成した3Dモデリング内を歩き回る方法については、下記の連載が参考になります。
上の2点とは少し異なる次元ですが、複数の戻り値をサポートしています。これは、関数のIN/OUTが明確になり、呼び出し結果とステータス情報を返したい場合など、非常に重宝します。
PerlやRubyのようなスクリプト言語では実装されていますし、配列を返したり、参照渡しと呼ばれる手法が使えたりする言語もありますが、直感的には、複数を明示的に返せる言語仕様は便利だと感じています。
これについては、実際にCurlのアプリケーションを実行したときの方が実感しやすいので、後述します。
Curlには、アプリケーションを使うための実行ランタイム(プラグイン)の「Curl RTE」と作るための統合開発環境の「Curl IDE」があります。実行ランタイムはWindowsだけではなく、LinuxやMac OS Xでも対応していますし、開発環境は、Eclipseプラグイン版も提供されています。
また、開発するための支援ライブラリである「CSK(Curl Starter Kit)」「WSDK(Web Service Development Kit)」「CDK(Curl Data Kit)」「Curl Advanced UI」「CDU(Curl Development Utility)」がオープンソースプロジェクトで提供されています。
さらに最近になって、アドビシステムズがFlexやFlashの開発者向けに開発した、RIAクライアントとサーバ間のデータをバイナリデータで通信するAMF(Action Message Format)プロトコルを使うことができる「CDK-DS(Curl Data Kit Data Services)」や、サーバサイドJavaとの双方向通信を可能にする「Curl ORB for Java」も提供開始されるなど、サーバサイドとの連携も盛んです。
Curlアプリケーションを実行するためのCurl RTEは、以下のページよりダウンロードできます。
「ライセンス契約に同意する」にチェックし、Windows版、Linux版、Mac OS X版の中から選んでダウンロードリンクをクリックしてください。すると、ダウンロードを確認するダイアログが出現するので、確認して適当な場所に保存してください。
ダウンロードした「curl-rte-6.0.5-ja.exe」を実行すると、ライセンスに同意するダイアログが出現するので、[同意します]を選択して[インストール]ボタンを押します(図3)。しばらくすると、インストールが完了します。
ここまでで、準備作業は完了しました。次ページでは、「Curl Apps Gallery」から、アプリケーション(例として、「Curlブラウザ」)をダウンロードして、実際に動かしてみましょう。
Copyright © ITmedia, Inc. All Rights Reserved.