新しいWeb技術 SproutCoreがもたらすもの

6月9日のApple Worldwide Developer’s Conferenceは、iPhone 3Gの発表とそれがたった$199で発売されるというニュースで持ち切りでしたが、その陰で他にも非常に興味深い発表が多くありました。

その一つがSproutCoreという技術。これはAppleが発明した技術ではないのですが、Appleが全面的に支援している新しいWeb技術です。ひとことで言うと、SproutCoreを使うとWebの使い勝手が大幅に良くなります。しかも開発が簡単です。

日本語になっている記事がいくつかありますので、下にリンクを用意しました。

  1. アップル、ウェブアプリに向けオープンな「SproutCore」技術を採用か?
  2. アップルのMobileMeを試してみたい人は、SproutCoreをチェックしよう

さて、上のリンクだけだと専門的すぎて、ウェブ開発者でなければ理解できないものばかりです。
そこで僕は、このSproutCore的な技術が、バイオの研究にどのような利点をもたらすかに絞って紹介します。複雑な話なので、順番を追って。

AJAXという技術

HTMLを柱とするウェブ技術は、もともとページという概念が強く、すべての情報はページ単位という考え方でした。紙とかなり概念が似ていました。これはすごくシンプルでネットワーク上も扱いやすいという利点がありましたが、インターネットの双方向性とブロードバンド化が進むに従ってその限界が明確になってきました。

例えばマップ技術を見てみましょう。ぐるなびは初期のインターネットの技術を利用しています。そのため、地図を拡大するにしてもあるいは少しだけ場所をずらすにしても、ページが丸ごと再表示されてしまいます。
これに対してGoogle Mapsではすべての動作がスムーズです。地図の中心をずらすには地図をドラッグすればいいし、拡大縮小のときもページ全体が再描写されることはありません。

これはGoogle MapsでAJAXという技術が利用されているためです。AJAXを使うと、ウェブサイトをページ単位に扱う必要がなく、またドラッグのような操作を使うことができるようになります。ウェブのサイトを見ているというよりは、自分のパソコンにインストールされているソフトを使っている感覚に近くなるのです。

GoogleはMaps以外にもAJAX技術を活用していて、Google Docsではワープロ、スプレッドシート、プレゼンテーションを作成するためのソフトを無償提供しています。これらはいずれも自分のパソコンにソフトをインストールせずに、マイクロソフト オフィスのような機能と操作性のソフトを提供するものです。

まとめると、パソコンにインストールされたソフトと同じような高い操作性のものが、AJAX技術によってウェブで実現できるようになりました。

ソフト開発におけるフレームワークの重要性

AJAX技術はGoogle MapsとGoogle Docsに代表されるように、非常に強力な技術ですが、残念ながら開発は簡単ではありません。簡単なAJAXはずいぶん多くなりましたが、ユーザが入力したデータまで含めて管理する、Google DocsタイプのAJAXウェブサイトはまだ数えるほどしかありません。

SproutCoreはこの問題を解決してくれる可能性のあるテクノロジーです。これはAJAXソフトのための「フレームワーク」です。ソフトの開発ではこのフレームワークが非常に重要で、優秀なフレームワークがあればプログラマーの生産性は何倍にもなります。

フレームワークというのは例えると電気、ガス,水道、そしてそれを利用する流しやトイレ,コンロ、暖房のようなものです。家を造るために自分で電気、ガス、水道を引くのは大変ですし、トイレやコンロも全部用意するのも面倒です。それらをすべて備え付けておいてくれているのがフレームワークです。あとは居住者の趣味に合わせて家具やカーテンをそろえて、住み心地の良い部屋にすればいいのです。フレームワークはすべての人が必要として、ほぼ共通しているものをあらかじめ用意してくれているものなのです。

いままでもAJAXのフレームワークはいくつかありましたが、どちらかというと電気、ガス,水道どまりのものでした。SproutCoreはさらにトイレ,コンロ、暖房を用意したものになっています。ですから、SproutCoreの出現によって、Google Docsのようにデータまで管理してくれるAJAXウェブサイトが簡単に開発できるようになります。

Appleのサポート

AppleはSproutCoreの開発者を雇い入れ、7月に公開するMobileMeにSproutCoreを全面的に活用します。MobileMe Webアプリケーションとしてはメール、アドレス帳(連絡先)、カレンダー、iDisk、そして写真ギャラリーを用意しますが、いずれもパソコンにインストールされたソフト並みの操作性となっています。AppleはSproutCoreの技術を利用するだけでなく、SproutCoreの開発も支援していて、おかげでずいぶんとSproutCoreの性能が向上したと紹介されています。

バイオへの波及

AJAX技術はバイオにとってかなり重要な技術です。バイオの情報はあまりにも多く、多岐に分かれていますので、ページという単位で表現するのは困難です。情報を閲覧している人がいろいろな絞り込み検索を行ったり、画面の微調整をしたり、自分で整理したりしないと、なかなか目的の情報が得られません。

実際、NCBIもかなり努力をしていて、AJAX技術も使われているようです。Sequence ViewerもおそらくAJAXをかなり活用していると思われます。

SproutCoreなどが普及することにより、Sequence Viewerよりもっともっと使い勝手のいいものが、より多くのバイオインフォマティックス系のウェブサイトに登場することが期待されます。Sequence ViewerそのものがSproutCoreのカスタムコンポーネントとして普及し、データを持っているところであれば簡単に自分のウェブサイトに組み込めるようになるかもしれません。

またPubMedなども、いまでは論文のタイトルとリンクが表示されているだけですが、AJAX技術を利用すれば、ページを移動することなく、素早くSummaryをプレビューできるようになるでしょう。またメールソフトのようにお気に入りの論文をフォルダにドラッグして整理できるようになるかもしれません。

あと、塩基配列を解析して制限酵素サイトを探したり、プラスミドマップを作ったりするソフト。。。。AJAX無しのものとしてはNEBcutterPlasMapperなどはいいと思いますが、もっともっと便利なものができてくるでしょう。