Gestalt:Ruby,Python,XAMLを使用したWebスクリプトの作成

2646 ワード

最近、マイクロソフトはMixオンラインラボでGestaltというプロジェクトを発表し、高度な言語とコンパイラの強力な機能を利用して、先端開発者の従来の作業方式と習慣(作成=>保存=>リフレッシュ)を維持しながら、複雑なAJAXやRIAアプリケーションの構築の生産性を高めたいと考えています.GestaltのWebサイトには次のように書かれています.
私たちがGetaltプロジェクトを作成したのは、MIX Onlineの精神に合っているからです.Web分野で面白いシーンや問題を選んで、アプリケーション、サービスを作成したり、ソリューションのアドバイスをしたりします.Gestaltもそうです.Web開発者は、標準ベースのフロントエンドWeb開発とRIA(Flash/Silverlightなど)の2つの開発モデルの間で揺れていることが多く、Gsstaltの目標はこの問題を解決することであることが分かった.注目すべきは、RubyとPythonをスクリプト言語として選択することであり、将来のブラウザで興味深い話題の一つでもある.
Gestaltには主に以下の特徴があります.
  • RubyとPythonをフロントエンドスクリプト言語として使用:Gestaltがあれば、開発者はページにまたはラベルを追加し、RubyまたはPython言語でプログラミングすることができます.従来のJavaScript言語と比較して、RubyとPythonがもたらす強力な生産性は、開発者が複雑な論理を作成し、管理するのに役立ちます.RubyおよびPythonコードは、ページ内のDOM要素、さらにはHTML 5のcanvas要素と同様に対話することができる.例えばGestaltの入門例には、
  • というコードが含まれている.
  • 
    <input id="say_hello" type="button" value="Say, Hello!" />
    <script language="ruby">
        document.say_hello.onclick do |s,e|
            window.alert "Hello, World!"
        end
    </script>
    
  • 透明コンパイル、高速実行:SilverlightのDLRの強力なダイナミックコンパイル機能を利用して、gestalt.jsは、ページのロードが完了した後、RubyまたはPythonコードを動的に取得し、IronRubyまたはIronPythonを使用してコンパイル実行することができる.JavaScriptと比較して、RubyとPythonコードはロード時にミリ秒レベルの遅延がありますが、ページ全体のパフォーマンス(特に長時間実行されているページ)は著しく向上します.
  • XAMLを使用して複雑なスタイルのニーズに対応:現在ますます複雑になっているアプリケーションに直面して、HTMLとCSSは少し疲れています.Gestaltでは、開発者がXMALファイルを外部からページに導入したり、XAMLを埋め込む方法で複雑なインタラクティブアプリケーションを開発したりすることができます.GestaltのWebサイトでは、Expression Blendを使用してXAMLプログラムを編集することを推奨し、Adobe IllustratorのXAML生成プラグインとTextMate Bundlesを提供し、他のツールまたはプラットフォーム上のXAML開発を支援します.
  • 天然SEOサポート:従来のHTMLページと同様に、すべてのコードと文字がページに表示されます.したがって、開発者は追加の作業を必要とせず、すべてのページ情報を検索エンジンに暴露することができます.
  • 自由な開発と実行環境:テキストエディタ(メモ帳やTextMateなど)さえあれば、開発者は任意のプラットフォームでGestaltページを書くことができますが、Gestaltページは実際には最も一般的な(X)HTMLページにすぎません.GestaltはSilverlightプラグインのDLRを使用してPythonまたはRubyコードを実行します.これは、Gestaltページが複数のプラットフォームで実行できることを意味します.

  • Gestaltでは、次のような問題も解決する必要があります.
    Gestaltは従来のフロントエンド開発モデルに基づいており、ページはJavaScriptのようにPythonやRubyスクリプトを実行するが、importやrequireの機能はまだサポートされていない.PythonとRubyクラスライブラリを外部から導入する場合は、XAPを内蔵したSilverlightモデルで実現する可能性があります.私たちはあなたの理想的なrequireやimportの方法に興味を持っています.フィードバックしてください.
    Gestaltが最終的に成熟した製品になるかどうかについては、MIX Onlineチームは次のように考えています.
    (製品化)は私たちの目標ではありませんが、アプリケーションや概念に溶け込むかどうかは永遠に分かりません.現在私たちが興味を持っているのはGestaltを普及させ、コミュニティからインスピレーションを得ることを望んでいます.これもGestaltソースコードを公開した理由です.Gestaltクラスライブラリをダウンロードして遊んでから、あなたの見方を教えてください.
    Gestaltのホームページにアクセスして詳細を取得したり、クラスライブラリとサンプルをダウンロードしてより深く試したりすることができます.