MozillaZine.jp

Mozilla 関連情報の提供、啓蒙活動を行っているオンラインマガジン「MozillaZine」の日本語訳を提供しています。
リリース版 |    Firefox 125.0 ESR 115.10.0 Android 125.0 Focus 125.0 iOS 125.1 | Thunderbird 115.10.1 | SeaMonkey 2.53.18.2 |
プレビュー版 | Firefox Nightly Developer Edition Beta Android Nightly Beta | Thunderbird Nightly Beta | SeaMonkey Beta |
相互サポート | Firefox | Thunderbird | SeaMonkey | Lightning | Android | Firefox OS | iOS

Next Generation Javascripting


コンピュータプログラムは、一行のコードで色のついた斑点を表示するのを止めたときに、重要な何かを失ってしまった。Apple II ではただ “plot x,y” とするだけでディスプレイに蛍光の染みがついた。これはもはや今日では通用しない。一行の素朴な描画コードが無くなった今、コンピュータ上で手軽に(視覚的な)結果が得られる喜びも無くなってしまったのだ。オープン Web は、創造の場として、失われた単純さを取り戻そうとせずにはいられない。

しかし JavaScript、そして操作対象となる HTML 要素は成熟していっているにも関わらず、これらの技術で何が実現できるかという一般的な感覚は変わっていない。Web 2.0 革命により、JavaScript や Dynamic HTML は主にフォームの検証や目障りな Web サイトの作成に使われるものだといった偏見は払拭された。Firefox には Tamarin が、WebKit には SquirrelFish が組み込まれる。何が Web で実現できるのか、その理解を再び広げる次の波がやってくる準備は整っているのだ。

近頃、Web の進む先となる新天地を思わせるプロジェクトが 3 つ、Mozilla から生み出された。

まず最初に Mozilla のエバンジェリスト John Resig による Processing.js である。これは Java ベースの Processing を移植したものである。「Processing はオープンソースのプログラミング言語であり、画像、アニメーション、インタラクティブな操作をプログラムしたい人のための環境です。学生、芸術家、デザイナー、研究者、趣味人などが学習、試作、製品化のために使うものです。視覚的な操作を通じてコンピュータプログラムの基礎を教え、ソフトウェアスケッチブックやプロが仕事で使うツールとして使ってもらうために作られました。」Processing.js は JavaScript の可能性に対する人々の理解を広げるプロジェクトの模範となった。

2つ目は Mozilla Labs の Atul Varma が作った Parchment である。Parchment は JavaScript ベースの Z-Machine インタプリタで、インタラクティブフィクションの記述プラットフォームである。Douglas Adams と Steve Meretzky による The Hitchhikers Guide to the Galaxy や Emily Short の書いた Galatea などといった不朽の名作が、どのブラウザでも楽しめるようになった。Parchment は作家達にオープンな技術で新たな手法を与える、素晴らしい例である。

そして 3つ目が、私の作った ContextFree.js である。ContextFree.js では最小限の量のコードで印象的な画像を描き、芸術を生みだせる。

Mozilla の外部でも、JavaScript で実現できる世界を広げる、Objective-JSprout Core のような面白いプロジェクトがある。

グラフィカルで感動的な UI を生み出すオープン Web テクノロジーの力を目の当たりにすると心が踊る。次にやってくるのは何か、想像するだけでもう堪らない。

[ 原文 / 2008年6月30日(月) ]

コメントを投稿

XHTML: これらのタグが使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>