X-Dev 2007に行ってまいりました。スケジュールの都合上参加できたのは【サーバサイド X フレームワーク】Vista時代の最新サーバーサイド開発事情という講義だけでした。備忘的にblogに残しておきたいと思います。後援者は
Wingsプロジェクト 代表の山田祥寛(やまだよしひろ)さん。
ユーザエクスペリエンスの重要性
Webアプリケーションで機能要件どおりのものを作成するのは、いまや当たり前で+αの付加価値をつけるべきである。それは何か?アプリケーションとしての使いやすさ、直感的なユーザインターフェースが必要
当たり前といえば当たり前のことですが、時間 or お金の問題から毎回プロジェクトで実現することは難しく、またはどうすれば上記2点を実現できるか?昨今のテーマではあると思います
マイクロソフトのプレゼンテーション技術(UIを操作する技術の事)
マイクロソフトテクノロージとして以下のものあげられます
ASP.NET AJAX
Silverlight(旧WPF/E)
Windowsフォーム(click once)
WPF
なんといってもRIAのSilverlightに期待です!!
WPF
.NET Framework 3.0で提供されるプレゼンテーション技術
2D/3Dグラフィック、静止画像、動画コンテンツをリッチに表現可能
XMLベースのマークアップ言語XAMLでUIの開発が可能
XAMLをデザイナが習得すれば、プログラマはよりいっそうロジック部分に集中できるようになるかな?!
Silverlight
クロスプラットフォーム対応(Windows、MacOSXに対応します)
対応ブラウザはIE、Firefox、Safari(Macに対応するのがうれしい!)
WPFと共通のXAMLでの開発が可能
開発言語は.NET対応言語から選択が可能(VB.NET、C#、IronRuby...)
Siliverlight1.0ではJavaScriptのみ対応
PHPやJavaEEなどの既存記述も容易である仕様
Adobe Airに対抗する技術である
.NETのクローン構築を目指すNovell傘下のオープンソースプロジェクト「Mono」を基盤に、Linux版Siliverlight「Moonlight」を構築する
Aode AirとのRIA分野での一騎打ちの様相になるとにらんでいます。個人的にどっちをとって習得するかとなると、Silverlightかと思います。1.0はリリース(2007/9/5)されたばかりで一体どんなpluginか想像がつかないのですが、1.0以降のリリースには.NET開発言語での開発が可能になるということで、新しく言語を覚える必要もなく、既存の言語スキルでpluginを開発できるというところでしょうか。なら1.0もほぼJavaScriptということで、既存の技術ではあるのですが、マイクロソフトの初版リリースはどうもβテスト的な思いがありそうで、あまり使いたくないといったところです
Expression Studio
デザイナ向け開発ツール(VisualStudioのデザイナ版みたいなもの)
visual Studioとの連携も容易(Expression Studioで開発したプロジェクトをVisual Studioから読み込むがことが可能)
とうとうデザイナ領域にまで手を延ばし始めましたね。どちらかというと、Dream Weaver(Adove)に軍配があがっている分野であるが、Visual Studioとの親和性の高さを謳って、巻き返しを図れるかどうか?!みものです
ASP.NET AJAX
サーバ/クライアントを包括する総合的なAJAX対応フレームワーク
基本的にJavaScriptの知識がなくても実装可能(要はVisualStudio側で隠蔽しているということ)
Ajaxを使って、一部のHTMLを書き換えるという処理が簡単(Prototype.jsでいうAjax.Update機能を実現するのにPrototype.jsより簡単)
何から何まで万能ではないので以下の点に注意が必要
☆JavaScriptを意識させない代わりに裏側の処理が重い(巨大なViewStateには気をつける)
☆何から何まで非同期で処理される危険性がある(テキストボックスの変更なども)
☆不要な処理はScriptManager.IsAsysncPostbackプロパティを使って識別する
☆TImer.Inervalプロパティには十分な間隔を指定
☆TImer.Inervalプロパティをエンドユーザによって入力させるようなロジックは避けるべきである
JavaScriptを完全に意識しなくていいというのは簡単(サンプル程度)な処理でしかなくて、複雑なことをするには、やはりガリガリコードを書く必要があるので、JavaScriptを極める必要はないにしろ、言語仕様位は押さえておくべきかと思いました
Visual Studio 2008 + .NET Framework3.5
CSSサポート強化でプロパティウィンドでCSSの適用状態がより確認しやすく
JavaScriptのデバッグ機能が大幅にUP!!
マルチターゲッティングサポート(.NET Framework2.0/3.0/3.5の切り替えが可能に)
LINQプロバイダにより、XML・RDBMS・Object・DataSetに対して一元メソッドにより同じようにアクセスしデータを取得できる
マルチターゲッティング機能が、個人的には一番便利になるなーという印象でした。バージョン毎にVisualStudio2003、2005とインストールして保守しなくて済むようになりますので。折角なら、1.0/1.1にも対応してほしかったですが、それができないほど1.0/1.1と2.0以上のバージョン間で互換性が低いのでしょうか...