クリエイティブ業界の注目情報や求人情報などを発信する、クリエイターのための総合情報サイトです。
interview_general_header

Webクリエイターが今学ぶべきモノ 第1回「スクリプト言語プレイヤーの主役はWebクリエイター」

2008/12/05 インタビュー

私はIBMで企業向けのシステム開発で使われるソフトウェアの技術支援などを行っています。このコラムでは、コンテンツクリエイターの皆さんが今後Webコンテンツの開発などに参加するにあたって、知っておいてほしい最近の事情などをご紹介していきます。

 

スクリプト言語って簡単

Webアプリケーション構築プロジェクトでは、サーバーコンピューターの中で実行されるプログラムを大量に作ります。これがサーバーサイドプログラミングと言われる考え方です。サーバーサイドプログラミングをすることで、サーバーにある巨大なデータベースをネット上で共有し、検索したり書き込みをしたりできるわけですね。

Webが登場した1990年代、Webアプリケーションを記述するのに一番使われていたのはPerlとよばれるスクリプト言語でした。その後、パフォーマンス、セキュリティーの向上、ソフトウェアの効率的な開発や保守のため、JavaやC#といった比較的コ難しい言語でサーバーサイドプログラミングをするようになってしまいました。

Web技術が様々な変化をしていく中、プログラミング言語に変化が起きています。それは「スクリプト言語」が流行していきていることです。スクリプト言語はもはや職業プログラマのためのものではありません。これは、ある程度のWebアプリケーション処理であれば、クリエイターが作れてしまう、ということを意味しています。

20081205_01
図1:Web業界のプレイヤーのシフト

1990年代、一般ユーザーはWebを見るだけでした。コンテンツはコンテンツ屋(新聞、雑誌などの記者やライター)が、絵柄や色遣いはデザイナーやクリエイターが、サーバーサイドのプログラムはITエンジニアが制作していました。しかし今日では、一般の人がブログやWikiなどを使ってコンテンツを作ります。デザインツールも安価になったので、一般の人でもちょっと腕に覚えのあるひとなら、それなりにデザインが作れますし、クラウドソーシングと称して一般の人がデザインを請け負うことさえできます。プログラミング言語が簡単になることで、クリエイターはプログラミングもできるのでサーバーのデータをちょっとくらいなら処理できるプログラムコードを作れてしまうのです。ITの専門家達は今日では、よりビジネス寄りのシステムを提案するようになってきました。(難しい言葉ですが、ビジネス・インテリジェンス、SOA、ビジネス・プロセス管理などです)  サーバーサイドで使えるプログラミング言語には「Perl」「TCL」「Python」「Ruby」「PHP」「Groovy」など多くの種類がありますが、最近流行しているのはRuby、PHP、Groovyです。

 

開発はクラウドで

サーバーサイドプログラミングを行うとなると、「サーバーを用意しないといけない」と心配になる人もいるかと思います。それさえも、今後は状況が変わってきます。

いま「クラウドコンピューティング」という言葉が流行していますね。クラウド(Cloud)とは雲のことです。デスクトップアプリケーションのプログラムもできるだけネット配信にし、データもできるだけネットに置くことで、ネットデバイス(Webブラウザー)さえあれば、どこからでも参加可能という考え方です。インターネットにあるコンピューターシステムが雲のように広がっていてアクセスするため、これを「クラウドにアクセスする」という言い方をします。

旧来はWebコンテンツやプログラムをファイルで用意しサーバーに配置することで使うことができました。今日では一部のWebコンテンツをWebブラウザーから書き込むことが一般的になってきました。コメント、クチコミ、ブログ、Wiki、トラックバックなどです。さらに最近ではメール、ワープロやスプレッドシートなどのデータもみんなサーバーにおいてしまい、デバイス側にはほとんどなにも保存しないようなものも出てきています。この考え方は、クラウドコンピューティングの基礎となる考え方の一つです。

20081205_02
図2:クラウドによる開発環境
このクラウドの考え方はコンテンツクリエイターやプログラマにとっても重要な役割を果たすものなのです。Webプログラムは今後Webブラウザーでアクセスしてサーバーに書き込むような型式のものが増えてくると言われています。つまり「パソコン上で開発してオリジナルファイルはパソコン上にあってサーバーにコピーを置く」のではなく、そもそもサーバー上で開発作業をするのです。そうなると、マシンの管理、サーバーの立ち上げ、運用、セキュリティーなどを自分で実施する必要はありません。サイトにアクセスし、得意のスクリプト言語で書き込みを行い、作業が終了したらすぐアプリケーションとして利用できます。これは、ブログやWikiに似ています。プログラマにとってのクラウドコンピューティングと言えます。Google App EngineやProject Zeroなどはこういったコンセプトのテクノロジーです。もしかすると、デザインツールなどもWebブラウザーで動作するようなものが登場するかもしれません。

 

インタラクティブコンテンツのためのスクリプト

今日のWebコンテンツは、日増しにインタラクティブ性が強くなってきています。インタラクティブ性とはユーザーの操作に反応するような機能のことです。ダイナミックHTMLやFLASHを使ってインタラクティブなコンテンツを作ることはかなり以前からできます。ここでもスクリプト言語のニーズが高まっています。たとえばダイナミックHTMLではJavaScriptが、FLASHコンテンツではActionScriptという言語が使われます。さらに、今日のインタラクティブコンテンツの重要な特徴はサーバーデータの利用でしょう。

旧来のインタラクティブコンテンツのほとんどは、コンテンツの中にすべてのデータが収められていました。たとえば、重さや金額などの諸元データや写真などです。コンテンツにデータがすべて入っていることが原因で、できないことがあります。それは他のユーザーとの共有と、莫大なデータへのアクセスです。

他のユーザーの操作や入力内容を他のユーザーがネット越しに見たり操作したりするにはネットでデータを共有しなければなりません。チャットシステムやSecond Lifeのようなバーチャル空間などがそうです。

また膨大なデータを処理するような場合もそうです。コンテンツの中に1000枚もの画像データを入れることは現実的ではありません。できれば閲覧中に必要なものだけをサーバーからダウンロードしながら使いたいのです。これはGoogle MapsやGoogle Earthなどを見ればその必要性がわかります。

今日の新しいスタイルの、サーバーデータを活用するようなインタラクティブコンテンツのことを「リッチインターネットアプリケーション」と言います。旧来のWebアプリケーションはユーザーとの会話をサーバーで処理しており紙芝居型だったのに対して、インタラクティブコンテンツを組み合わせることで、よりリッチな(かっこいい)ものに生まれ変わらせているからです。

20081205_03
図3:今後のWebアプリケーションの構造

リッチインターネットアプリケーションがサーバーデータを利用するには、二つのことを考えなければいけません。それは、データの動的な取得方法とそれに対するプログラミングです。このへんは次回に持ち越すことといたしましょう。

Project Zeroの情報
http://www.ibm.com/developerworks/wikis/display/swtechnologyj/Project+Zero

yonemochiprof_s

米持 幸寿(よねもち・ゆきひさ)

日本アイ・ビー・エム株式会社
ソフトウェア事業  コンサルティング・テクノロジー・エバンジェリスト


1987年日本IBM入社。メインフレーム系ソフトウェアの障害メンテナンス技術員として障害解析ソフトウェア開発、自動化ワークフローシステム開発、Web開発などを通してオブジェクト指向を経験。 2000年よりソフトウェア事業に移籍し、先進テクノロジーの伝道師として活動。 著書に「XQuery+XMLデータベース入門」など。 普段はIT専門エンジニア向けに「米持先進技塾」として技術セミナーを実施しています。 C&R社のPECと共同でクリエイターの皆様向けにIT技術を紹介するセミナー講師の経験もあり。 USの予測によれば、Web 2.0の普及によりWeb開発者層は、より利用者に近い人材にシフトしていくと言われており、クリエイターの皆様にその期待が寄せられています。

関連記事