それにつけても、カールは“おやつ”だけじゃない
今回は、リッチクライアント技術の1つで、RIA実行環境であり、企業名であり、プログラミング言語でもある「Curl(カール)」について説明します。
企業向けのリッチクライアント技術として定評がありますが、最近は一般ユーザーでも手軽に楽しめる「Curl Apps Gallery」で、その特徴を生かした面白いアプリを多数公開しています(参考:Curlの無料投稿サイトでアプリをいろいろ試してみた〜Webブラウザや俺YouTube番組表、3Dキューブも〜)。
Curl Apps Galleryのアプリケーションの動かし方の前に、まず「Curlとは、何なのか?」から始めたいと思います。
マサチューセッツ工科大学生まれの「Curl」
1995年、米の国防総省(DARPA)が、将来のインターネット社会で標準となるリッチクライアント言語の研究のためにMIT(マサチューセッツ工科大学)へ補助金を出資し、MITがCurlの研究・開発をスタートしました。1998年に、MITの研究員12名が米Curl社を設立し、現在のCurlに至っています。10年以上前の話ではありますが、Webベースの開発基盤としてのコンセプトは一貫していて、バージョンを重ねるごとにニーズに合った拡張が取り込まれています。
発表当時のWebシステムはサーバ主体であり、以下のような課題を抱えていました。
- クライアント/サーバ間の通信量の増大に伴うレスポンス低下
- 事あるごとにボタンを押すなど、サーバとの通信が発生
- 見た目、操作性が貧弱で、見栄えがしない
■クライアント/サーバの分散?
Curlは「クライアント/サーバ分散協調」という仕組みで、これらの課題解決へのアプローチを行いました。クライアント側に処理を移行することで通信量の軽減と応答性能を確保しつつ、Webシステムの利点ともいえるモジュール配信不要との両立を実現しています。また、クライアント/サーバ・システムと同等の見た目や操作性も兼ね備えています。まさに、「リッチクライアント」な環境を提供できる基盤となりました。
■Ajaxやほかのライバルたちの出現
とはいえ、数年前からはAjaxの浸透に伴い、非同期通信によるレスポンス改善やサーバ負荷軽減が行えるようになっていますし、ほかにも同様のアプローチでのリッチクライアント技術がそろってきています。利用者からすると、選択肢が増えることは、用途に応じた選択が可能となり、非常に喜ばしいことだと考えています(参考:カール−特徴)
足かけ10年を超えるCurlですが、米「InfoWorld」誌の2008年InfoWorld Technology of the Yearリッチ・インターネット・アプリケーション(RIA)プラットフォーム部門で最優秀賞を受賞しており、米での高い評価もうかがえます。
次のページでは、筆者なりの観点ではありますが、長年開発に携わってきた経験を踏まえて、5つの「ここがおいしい!」と考えている部分について触れておきたいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.