BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Lively Kernel:Webプログラミングは最初からどのようになされるべきであったか?

Lively Kernel:Webプログラミングは最初からどのようになされるべきであったか?

Sun Labsで試験的なものとして開始されたLively Kernel(source)は、デスクトッププログラミングでは30年間も存在している簡易性、普遍性、柔軟性と同種のものを、Webプログラミングにおいて実現するよう目指している。またJavaScriptの動的な側面を利用して、システム内蔵のツールを使用し、アプリケーションの作成、修正および配置をオンザフライで可能にする。

Contrarian Mindsの記事(source)で、プロジェクトリーダーであるDan Ingalls氏(source)がプロジェクトが開始された経緯とWebプログラミングの発端について自身の見解を述べている。

Webプログラミングをしようとするとき、人びとはテキストマークアップ言語でやろうとしていた。これは非常に後進的なステップであった。リンクがあった ために、HTMLがうまくいき始めた。それは人気が出て、突然Webになった。ほとんどすべてのコンピュータでテキストやグラフィックを用いてそれをおこ なうコンピュータサイエンスやグラフィックのノウハウが豊富にあったが、Webプログラミングをしている人たちはそういう気持ちにはならなかった。

時間の経過とともに、多くのものを要求しさらに複雑になった。

そこでまず文書オブジェクトモデル、その上にスタイルシートを追加し、果てはJavaScriptを 追加して動的な振る舞いを実現する。そして、それらすべては動的言語ときちんとしたグラフィックモデルさえあれば、もっと単純にできたはずだった。 1980年代のデスクトップシステムのように、動的言語で始めグラフィックを構築したならば、Webベースのアプリケーションでさえ最高のデスクトップソ フトフェアと同じくらい活発かつインタラクティブであっただろう。

Lively Kernelと同じ分野における他のシステムの主な違いはこれに起因している。一様性へのプロジェクトのフォーカスである。 HTML、CSS、DOM、JavaScriptお よびXMLのような多様な一連のテクノロジーを利用する、現在の多くのクライアントWebフレームワークとは対照的に、Lively Kernelの目標は最小数の基礎となるテクノロジーを使用して、プラットフォームをビルドすることである。具体的には、Webブラウザのユビキタスな可 用性とC++ やJavaのようなポピュラーな言語との構文上の類似のため、選択されたテクノロジーはJavaScriptだった。そこでIngalls氏によると、Lively Kernelは新たなオプションを提供している。

必要なものはすべて、ブラウザにある。動的言語もそこにある。好みではないかもしれないが、悪くない。グラフィックシステムもある。最高のものではない が、かなり良い。それらすべてを単純なユーザインターフェイスに接続すれば、人びとがコンピューティングで楽しむように、楽しむだろう。単にエンターテイ メントとして楽しいという意味ではなく、独創的に感激させるということである。格好いいことをしたいと思わせる。

Lively Kernelの主な機能には以下のものがある。

  • Morphicユーザインターフェイスフレームワークを通じたJavaScriptからのユーザインターフェイスへのプログラマチックなアクセス。ほとんどのブラウザにおなじみのイベントベースのプログラミングモデルを中心にユーザインターフェイスはビルドされる。
  • 小規模のWebプログラミング環境およびコンピューティングカーネルは、プラットフォームが統合開発環境(IDE)としても機能するようにし、システム全体を内蔵型にし、オンザフライで改善および拡張が可能にする。
  • AJAXに似た、非同期のHTTPの使用による非同期のネットワーキング

Lively Kernelの基本的なコンポーネントである、Morphic(source)はユーザインターフェイスフレームワークであり、構成可能なグラフィカルオブジェクトおよび それを表示し、アニメートし、ユーザによるインプットを取り扱い、ディスプレイ、フォントおよびカラーマップのような基本となるシステムリソースを管理する必要のある機械装置をサポートする。Morphicは元来Selfプログラミングシステム(source)にビルドされており、のちにSqueak Smalltalk(サイト・英語)環境へ内蔵された。

ブラウザのグラフィックスエンジンへの低レベルのアクセスについては、Lively Kernelは、Scalable Vector Graphics (SVG) グラフィックス言語(source)に依存している。SVGはほとんどのブラウザによってサポートされるW3C仕様で、その機能性はHTMLのような宣言構文およびJavaScriptか らプログラムでアクセス可能である。Internet Explorerは、Vector Markup Language (VML)によりグラフィックス機能を実装している。そういうものとして、Lively Kernelはそれと連動していないが、SafariはLively Kernelのアプリケーションでの最高のパフォーマンスや経験を提供する。

プロジェクトのよくある質問のページ(source)に記載されているように、「Kernel」という名前の由来はシステムが以下の通りであるからである。

  • 依然として比較的小型-10000行未満のJavaScriptコード
  • 内蔵型で拡張可能な設計-システム機能がシステム自体のみで拡張可能
  • 質のような多種多様なオペレーティングシステムを表示-複数のアプリケーションを同時に実行するといった機能

Lively Kernelはインストールやプラグインをまったく必要とせず、リンクをクリックしてシステムがスタートしたら、すべてのLively Kernelコードがブラウザにロードされ実行される。ソースコードがGPLライセンスを通じたオープンソースであるので、ダウンロード(ファイルの拡張子・英語)に利用できる。プ ロジェクトのWebサイトの免責条項は、Lively Kernelはまだ「初期段階の試験的なものおよび研究環境にあって、現時点ではおそらく商用Webサイトの設計者向けというよりははむしろ、学生やコンピュータ 愛好者、それこそ子供向けであるかもしれない」と明記している。

ブラウザで最新の実装されたSVGサポートを必要としていたら、Lively KernelはWebプログラミングの複雑性から過去にはデリバーしなかっただろう。しかしながらテクノロジーの統合とWebプログラマに見込まれる使いやすさを実現することは、早い段階で約束できる。「Lively Kernelに参加しよう」(source)、Interactive Tutorial(source)を見たり、プロジェクトの詳細についてはここ(PDF・英語)を参照のこと。

原文はこちらです:http://www.infoq.com/news/2008/02/lively-kernel

この記事に星をつける

おすすめ度
スタイル

BT