RIA/リッチクライアントの明日はどっちだ?
RIA in Developers Summit 2008 レポート
@IT編集部
平田 修
2008/2/20
「JavaScriptは一粒で4度おいしい言語」
続いて紹介するのは、サイボウズ・ラボ株式会社とShibuya.jsというコミュニティに所属し、自ら「IT戦士」を名乗る天野仁史氏によるセッション「JavaScript Tips&Technique」だ。RIAには欠かせないAjaxやウィジェット/ガジェット開発の主役となる言語、JavaScriptのエキスパートである天野氏が、JavaScriptの魅力やおすすめのJavaScriptライブラリについて熱弁をふるった。
「JavaScriptはプログラミング初心者がプログラミングを始めるのに最適の言語です」
天野氏はその根拠としてまず、テキストエディタなどでコードを書くことを“すぐに”始められ、Webブラウザで実行できるので“すぐに”試せて楽しめること、JavaScriptを実装できるブログサービスなどがあるため“すぐに”インターネットに公開できて評価も受けられることを挙げた。次に、FirebugやAptana、Dreamweaverなど開発環境が充実していることや、オブジェクト指向やイベント処理、関数、XML/Ajaxなどさまざまなことが学べるなど、中級者からも学ぶのに最適な面も述べていた。
JavaScriptの魅力はまだある。先に述べたとおり、オブジェクト指向言語であることやプロトタイプベース言語であること、そして関数指向言語であることなど、具体的なコードを天野氏ならではのJavaScriptを使ったスライドで解説していた。天野氏いわく、「JavaScriptは一粒で4度おいしい言語なので、JavaScriptを第1言語、または第2言語としてせび使ってみませんか」
サイボウズ・ラボ株式会社/Shibuya.js 「IT戦士」天野仁史 氏 |
また、天野氏おすすめのJavaScriptライブラリとしては、jQueryやEXT JSが挙げられた。天野氏はjQueryを「やわらかい言語」と表現し、CSSセレクタとメソッドチェーンを使ってHTMLを操作できるので、効率の良くきれいなコードが流れるように書けるとしている。また、クラス型のオブジェクト指向をサポートするなど言語自体を便利にする機能はないが逆にそういったものがなくてもいいところがjQueryのすごいところだという。「それでは不満だ」という人のためには、jQuery上で動くプラグインがたくさん開発されていて、自分でカスタマイズしても使用できる。
一方、天野氏はExt JSを「かたくて大規模開発でも使える」言語と評し、prtotype.jsのようにJavaScript本来のクラス継承ができるとしている。Ext JSはリッチなGUIを作るのに強力なクラス群を持ち、イベント処理の前後にメソッドのオブジェクトを挿入できる。つまり、アスペクト指向も可能だという。「いろいろなクラスやアイデアが満載の新しいライブラリで比較的バグも少ないのでおすすめです」(天野氏)
■ 関連リンク
新しいWebの潮流「クラウドコンピューティング」とRIA
続いて紹介するのは、株式会社セールスフォース・ドットコム アライアンス事業本部 AppExchange/VARプログラム シニアマネージャー 土田達郎 氏によるセッション「SaaSプラットフォーム上でのアプリケーション開発」だ。セールスフォース・ドットコムでは、コードエディタやDBなどの開発環境と実行環境などのインフラ、さらにUIとプラットフォームもWeb上で提供し、同社のSaas実行環境「Salesforce.com」上で動くWebアプリケーションの開発を奨励している。これをセールスフォース・ドットコムでは「PaaS(Platform as a Service)」と呼んでいる。いわゆる、クラウドコンピューティングだ(参考「Web上に登場した3種類の“プラットフォーム”」)。
株式会社セールスフォース・ドットコム アライアンス事業本部 AppExchange/VARプログラム シニアマネージャー 土田達郎 氏 |
土田氏は「PaaSのサイトForce.comでは、DBサービス、WebサービスAPI、ビジネスロジックサービス、UIサービスなど6階層のサービスをWeb上で提供していて、開発者は何も用意する必要はありません」と語り、開発者に関係ある4つの階層について説明を加えた。
「DBサービス」としては、DBをWeb上で提供し自分の好きなようにスキーマを変更できたり、DB登録画面もウィザード形式で簡単に作り操作できる。また、JavaプログラムからもDB操作が可能だ。
「WebサービスAPI」としては、WSDL/RESTを介してWebサービスの利用ができ、外部のデータをSQLのように操作できる。WSDL/RESTを提供しているので、Javaや.NETからも利用できるのはもちろん、PHPやPerl、Rubyのツールキットも提供しているという。
「ビジネスロジックサービス」としては、サーバサイドのロジックをJavaに似たApexという言語を使ってストアドプロシージャのように作成する。さらに、ローカルで作成したロジックをメールで送信してアップロードすることもできる。例えば、日報を作成するロジックを作ってメールで送信すると、作成された日報をメールで受け取るなどの使い方が示された。
「UIサービス」としては、先ほどのウィザード形式での画面作成に加え、HTML/JavaScirptを記述したり、ActiveXやFlex、EXT JSなどのAjaxライブラリ、Web APIのマッシュアップで作ったリッチで複雑な画面も保存できるという。
土田氏は最後に「Force.comは、さらに作りこむとWebOSも作成できるなど、かなり自由度が高いです。作ったアプリケーションはAppExchangeというサイトにアップロードでき、またいろいろなものが使用できます。無料の『Developer Edition』というアカウントを提供していますので、ぜひ遊んでみてください」と締めくくった。
■ 関連リンク
どのRIA/リッチクライアント技術を使うべきか?
このように、さまざまなRIA/リッチクライアントに関するセッションをお届けしたがいかがだっただろうか。冒頭の「リッチクライアント最前線」のセッションでも示されたように、RIA/リッチクライアント技術にはそれぞれの特性があるので、案件ごとにそれを見極める必要がある。今回のレポートがそのヒントになれば幸いだが、やはり選定は難しいところだろう。そこで、最後に紹介しておきたいことがある。
デブサミでは、昨年より「サブサミライブ!」と称したコミュニティ主催のミニセッションも開いており、今年は「Linuxコンソーシアム リッチクライアント部会」が「『リッチクライアント』を広く深く掘り下げる!〜最新情報&最新デモ〜」というセッションを開いた。そこでは、「リッチクライアント技術をリッチに評価するアプリ」のデモが行われ、さまざまなリッチクライアント技術の評価をグラフィカルに表示していた。
リッチクライアント技術の選定に困ったときに使ってみてはいかがだろうか。
■ 関連リンク
“リッチクライアント”に至るまでの軌跡と現在(いま) いまさら聞けないリッチクライアント技術(6) 今回はフォーラム名にもある“リッチクライアント”の成り立ちとAjax、Flashなど現在活躍している主な技術を一覧で紹介します 「リッチクライアント & 帳票」フ ォーラム 2007/11/26 |
ブラウザの限界を超える「今」のリッチコンテンツ Webオーサリングツールを使ってみよう(番外編) これまで2回にわたって紹介したWebオーサリングツールを離れてリッチコンテンツを取り巻く「今」の状況に注目しよう 「リッチクライアント & 帳票」フ ォーラム 2007/5/22 |
集中と分散を繰り返すクライアント環境の歴史 21世紀はじめのWeb技術史(1) 2000年以降のインターネット関連技術の動向と、それが企業向けシステムの開発に及ぼした影響について概観する |
1-2-3 |
INDEX RIA in Developers Summit 2008 レポート | ||
RIA/リッチクライアントの明日はどっちだ? | ||
Page1 「業務でリッチクライアント技術は本当に必要なのか」 |
||
Page2 「エクスペリエンス」とは何か? なぜ必要なのか? 標準技術で実現できるRIAとComet型サーバプッシュ 「テレビで動くウィジェット」という新しい可能性 |
||
Page3 「JavaScriptは一粒で4度おいしい言語」 新しいWebの潮流「クラウドコンピューティング」とRIA どのRIA/リッチクライアント技術を使うべきか? |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|