数多くの言語と同じようにCurlにもコレクションが用意されています。配列(リスト)、ハッシュテーブル(連想配列)、セットについて見ていきましょう。コレクションを扱いやすくするメソッドも提供されています。


 リッチクライアントアプリケーション構築に強い「Curl」ですが、プログラミング言語という側面から注目すると驚くほどよく練られた仕様を見ることができます。言語という側面からその特徴を解説します。


  • 拡張ライブラリ v0.7 概要(2009/8/4)

    Curl拡張ライブラリは、ユーティリティ機能をはじめとして、コレクション操作、ロギング、キャッシング、入出力などのコンポーネントが多数含まれています。 これはオープンソース(Apache License2.0)として提供しており、SourceForgeからダウンロードできます。v0.7はCurl RTE 7.0に対応しています。

  • CurlORB 0.7 リリースノート(2009/8/2)

    Curl ORB for javaとは、CurlとJavaをシームレスに結合し、高速なデータ通信を実現するためのツールです。 Curl ORBを利用することで、CurlアプリケーションからPOJO(Plain Old Java Object)で作成されたjavaオブジェクトのメソッドをコールし、 戻り値をCurlアプリケーションで受け取ることができます。 また、サーバサイドのjavaクラスからCurlのソースコードを自動生成することも可能です。このツールを用いれば、 Curlとサーバサイドjavaとの連携を利用したシステム開発が容易になります。CurlORB 0.7はCurl RTE 7.0に対応しています。

  • Curl Sonntag チュートリアル(2009/5/19)

    ここでは簡単なサンプルプログラムをもとに Curl Sonntag の基本的な使い方を説明します。サンプルプログラムは以下のリンクからダウンロードできます。 (サンプルには pcurl 版の Curl Sonntag 0.6 が含まれています)

  • Curl Sonntag とは(2009/5/18)

    Curl Sonntag (カールゾンターク)とは、画面単位でプログラムを整理するためのCurlによるMVCフレームワークで、オープンソースとして提供しております。 (ライセンス:Apache2.0)ソースコード及びバイナリファイルは、SourceForgeからダウンロードすることができます。

  • 日本発 Curlオープンソース・プロジェクト(2009/5/11)

    我々はコントリビュータを募り、Curl標準APIには含まれないコンポーネントをオープンソース・プロジェクトとして立ち上げ、日本発のプロダクトとして提供しています。

Curlで作られたデスクトップアプリケーションをCurl Apps Galleryよりご紹介。
Curlならこんなアプリケーションも簡単に作ることができます。


YouTubeガイド
~俺のTube~

3D Gallery

advanced-uiサンプル

Google Map と

ブラウザでもデスクトップでも動くRIA

 Curlは大量データ処理、強固なセキュリティ、高度なUIを持ったRIA(リッチ・インターネット・アプリケーション)です。実行環境であるCurl RTEをインストールしておくことで、ブラウザやデスクトップ上で動作させることができます。Curlアプリケーションを実行するためには以下の方法があります。

  • ローカルのデスクトップアプリケーションとして
  • ローカルのアプレットを実行し、ブラウザアプリケーションとして
  • Webサーバに配置されたものにブラウザからアクセスし、Webアプリケーションとして

 Webアプリケーションとして使用する場合はWebサーバ上に未コンパイルのソースファイルを配置します。クライアントPCのブラウザから要求を受けてソースファイルがダウンロードされると、実行環境であるCurl RTEがクライアント側でリアルタイムコンパイルを行い、アプレットを立ち上げブラウザ上で実行します。

 また、いずれの場合もCurlアプリケーションはサーバを通じてデーターベースからデータを取得することができます。その他にもローカル環境にあるCSVファイルや、一般にWeb上で公開されているRSSフィード、Web APIなどを利用してデータを取得することも可能です。

スピーディなアプリケーション開発を実現する「Curl言語」

 Webアプリケーションの開発にはさまざまな言語知識が必要です。画面表示部分にはHTML、CSS、JavaScriptなどが使われます。さらに最近ではAjaxの普及により各種JavaScriptライブラリも利用されるようになり、これらライブラリの使い方も覚える必要があります。サーバではJavaやPHPなどを使用してビジネスロジックを実装しなくてはいけません。開発者は複数の言語を習得しなくてはならず、負担が増加しがちです。

 Curlアプリケーションは「Curl言語」で実装します。Curl言語は本格的なオブジェクト指向で実装されており、ドキュメントのフォーマットや画像などのレイアウト、動きや処理内容などをすべて単一の言語で実装することが可能です。これまで複数の言語を組み合わせて構築してきたようなインターフェースがCurl言語ひとつで実装可能となり、開発者はより簡単にアプリケーションの開発、更新、拡張が行えるようになります。

クライアントサイドMVC

 CurlはWebサーバにビジネスロジックを配置し、クライアントには生成したページだけを渡していたこれまでのWebアプリケーションと違い、クライアントPCに非常に軽量なソースファイルそのものを渡します。ランタイムはこのファイルを元にページの生成やビジネスロジックの生成を行い、アプリケーションを実行します。

 これにより、クライアントはサーバでの処理を待つ必要がなくなるため、高速なデータ処理やページ遷移が可能になります。また、サーバ側では多数のクライアントからの処理を実行する必要がなくなるうえ、バイナリ化されたデータのやりとりのみにリソースを割けるため、サーバや通信回線のコストを削減することができます。

無料で使えるランタイム、そして開発環境

 ランタイムであるCurl RTEは無料で配布されており、誰でも自由にCurlアプリケーションを実行できます。また、開発環境「Curl IDE」も無料でダウンロードでき、今すぐにCurlアプリケーションを開発することができます。他にも開発環境として「Curl Eclipseプラグイン(CDE)」が公開されており、こちらも無償で入手することができます。

 他にも大規模開発向けの開発環境「Curl Pro/IDE」が有償で提供されています。なお、Webサーバにアプリケーションを配置して使用する場合は「Curlデプロイメント・ライセンス」が必要になります。詳しくは以下のページを参照してください。

新旧プログラムの動作が保証される高いメンテナンス性

 Curlの実行環境(以下 RTE)は、クライアントPC上で複数のバージョンが並存できます。

 例えばVer.5で作成したCurlアプリケーションはVer.5用のRTE上で稼動し、Ver6.で作成したCurlアプリケーションはVer.6用のRTE上で稼動します。さらにクライアントPCに異なるRTEバージョンをインストールさせることができます。

 Curlアプリケーションは、実行時に自動的に使用するRTEのバージョンを判別するため、ユーザー側で特に指定する必要はありません。実行するランタイムのバージョンを切り分けているため、例えば最新版のCurl RTEをインストールしたことが原因で旧バージョン向けアプリケーションの動作が不安定になることはなく、高いメンテナンス性を実現することができます。