GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Moxie Zhang , 翻訳者 金森 諭 投稿日 2008年6月15日
Curl, Inc.はRIAの最前線での立場を宣言する一番最近の発表で、Curl Rich Internet Application(RIA)プラットフォームのVersion 6.0とAdobe Flex 3のベンチマークテスト(source)でCurl言語の方がActionScript 3(Adobe Flash Playerランタイムのプログラミング言語)より8倍から10倍良いパフォーマンス結果を出したという。
Curl, Inc.はこの3ヶ月、ディベロッパが複雑でウェブベースのビジネスアプリケーションのクラスを設計するのに助けとなることを目的とした一連のRIA技術をリリースしてきた。これらのRIA技術にはオープンソースのウェブサービス開発キット(source)やUbuntuのサポート(source)、Mac向けのCurl実行環境(source)などが含まれている。そのため今回のテスト結果は、パフォーマンス性能の高いミッションクリティカルなRIAを構築する生産性の高い方法を探しているディベロッパにとって特に重要なことだ。
テストについてのCurlの発表ではこう述べられている。
このテストの結果からCurlは実行スピードにおいて相当優位で、これは2つのプラットフォームのプログラミング言語の大きな違いに起因すると考えられます。Curl言語は高効率なコードへコンパイルするように設計されていますが、AdobeのActionscriptはそうではありません。最終的にエンタープライズRIAを構築する上でもCurlはパフォーマンスで勝ることになります。
Curlの技術は、特にクライアントサイドにおいて、Flashベースの技術と似た環境で動く。デスクトップアプリケーションで使うにはランタイムエンジンが、ブラウザベースのアプリケーションにはプラグインが必要だ。Curl, Inc.の副社長兼チーフアーキテクトであるBert Halstead氏はこう説明する。「Curlは強力で高パフォーマンスの言語およびプラットフォームとして設計され、並ぶもののない性能は私たちの誇りとするところです。今回のテストの結果は私たちの主張を裏づけるものですし、エンタープライズRIAでのCurlの優位性をさらに立証するため調査を進めていきます。」
しかしFlexのテクニカル・エバンジェリストであるAdobeのTed Patrick氏は今回のテスト結果に異議を唱えている(source)。
これは一見したところかなり印象的です。なんといってもActionScriptより8倍も速いのですからね!しかしよく見れば、今回のテスト結果はほとんど見当違いといえるものです。まず気が付くのは、このベンチマークがJPG画像のエンコーディングについてだということです。JPG画像の描画やアップロードでもなく、各ピクセルを処理して別の画像タイプに変換するというベンチマークなのです。
Patrick氏によるとJPGのエンコーディングだけでは全てを語れるわけではない。
Flex フレームワークでは画像変換をサポートしていますが、それは全く主要機能ではありません。Flash Playerは実行中に直接画像処理できるようになっていて、Flash Player内のどんなオブジェクトからもネイティブオブジェクトとしての画像を作り出すことができます。これらをJPGにエンコードする必要は全くありません。また、そのスピードも軽く速いものです。実際規模が大きくなるとCurlの結果のどれよりも速い結果が出ています。
またPatrick氏はこう意見を述べる。
Flash Playerに対抗した他の実行環境ベンチマークを目にしますが、それらは無意味なパフォーマンスについてのもので、レンダリング性能やクラスプラットフォーム性や互換性を考慮したものではありません。ディベロッパは高速な言語を使いたいと考えますが、実際には一番互換性を保ってインストールされている言語が最終的に勝利を収めるのです。JavaScriptとActionScriptが急速に採用されたのは、それらが広く使われているからです。画像エンコーディングの最速記録を出したからではありません。.
今回のテスト結果に関わる論争にも関わらず、Curlは明らかにRIAの舞台で強豪となろうとしている。Intelligent Enterprise誌のNelson King氏はこう書いている。「CurlはMicrosoft SilverlightやAdobe Flash/AIRで作られたアプリケーションにも張り合えるアプリケーションを生み出す。特にエンタープライズアプリケーションにおいては。」そして、 Curlがデスクトップ製品をリリース時にはComputer World誌のNitro氏とHeather Havenstein氏はこうレポートしている。「CurlはオフラインのRIAの分野を拡大しようとする一番新しいベンダだ。同様の技術には Google Inc.(source)のGoogle Gears(source)技術やMozilla Corp.(source)のPrismソフトウェア(source)やAdobe Systems Inc.(source)のAdobe Integrated Runtime(AIR)(source)がある。」
InfoQは今後のRIA技術の競争がどう進んでいくか念入りに見ていくつもりだ。
原文はこちらです:
【豆蔵】「オブジェクト指向を現場で活かすリファクタリング入門」新規講座キャンペーン中
【ネクストスケープ】.NET、C#のアプリケーション開発者募集
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信