ASP.NET 開発者のための10の素晴らしい CodePlex プロジェクト
はじめに
新しい技術に取り組む開発者が最も良く遭遇するジレンマの1つが、どのようにして実践経験を積み重ねるかだ。これはニワトリが先か卵が先かというおなじみの問題だ。技術を適切に理解していなければ、どうやって現実のプロジェクトを立ち上げるのだろうか? その一方で、実体のある何かを構築することが現実的でないならどのようにして知識の豊富な開発者となるための進歩を遂げれば良いのだろうか? その明らかな解決策は、単純に歯を食いしばって試行錯誤によって学ぶことがほとんどだ。しかし、プロジェクトの納期が数か月単位ではなく数日単位になっている時代では、現実的なプロジェクトに向けて興味深いアイデアを絞り出すのは言うまでもなく、ゆっくり学習するような贅沢ができない場合もある。
では、最良の代替案は何だろうか? より知識の豊富な開発者のソースコードを見ることは当然だ。オープンソースコミュニティーは、何年も前から正にこのような方法で学び、豊富なコードをSourceForgeやGitHubなどのサイト経由で共有してきた。組織的にははるかに自由だが、Microsoft のコミュニティーも何年も前からコードを共有してきた。だが、これらの取り組みが本格的に始まったのはCodePlexの登場後だ。
本稿では、CodePlex プロジェクトのトップ10を紹介する。ASP.NET 上で構築された無償の素晴らしい MVC フレームワークの ASP.NET MVCに精通するようになれば、学習に要する時間が間違いなく大幅に削減されるだろう。これらのプロジェクトのなかには ASP.NET MVC の力を示す模範的なものもあれば、まだダイヤの原石の状態であるものもある。しかし、このエキサイティングな技術の世界の中を歩み始めたときに非常に貴重な存在になる有益なインプリメンテーションの実例をこれらがすべて提供してくれることは疑いない。
NerdDinner
IT 業界における成功は、交際費の額と直接つながっているように思える。会議前の食事、会議後の飲み物、ユーザーグループに届けるピザなど、食事はまるで IT 関係者を次々に捕まえるハエ取り紙のようである。
ディナーのセッティングなどがかかわる兵站関連の込み入った事情の管理でプログラミングコミュニティーを支援すべく、Rob Conery 氏、Scott Hanselman 氏、および Scott Guthrie 氏といった Microsoft の有名人がNerdDinnerを作成している。 彼らの共著による「Professional ASP.NET MVC 1.0」の手引きになるこの NerdDinner プロジェクトは、ユーザー登録やログイン、自分の食事会の登録や各地で開催されている食事会の検索、近々開かれる食事会の出欠など、このようなウェブサイトで見かける典型的な機能の多くを用意している。同プロジェクトはBing Maps Platformを使って食事場所も表示する。同プロジェクトのページによると、OpenID のサポート、Virtual Earth API の統合、同サイトのモバイル版など、まもなく多数の仕様が追加されるという。
NerdDinner プロジェクトは、前述のすべての機能とやりとりできるライブサイトを使って調べることができる。CodePlex プロジェクトからも書籍のサイトからも、同書の NerdDinner プロジェクトの立ち上げを解説する章196ページ分のサンプルがダウンロードできる。
Activate Your Glutes
本稿で解説する10のプロジェクトのなかで、Activate Your Glutesは最も新しく、CodePlex に登録されたのは1カ月ちょっと前のことだ。James Randall 氏の着想による Activate Your Glutes では、ユーザーが毎日行うエクササイズをトラッキングできる。かなり新しいプロジェクトではあるが、Activate Your Glutes は既に強力機能満載で、「jQuery」、「Rhino Mocks」、および「VisiFire Charts」などの技術を組み込んでいる。
筆者は電子メールで James に連絡を取り、立ち上げたばかりのプロジェクトを CodePlex でホスティングすることにした理由を聞いた。すると同氏は、「私は CodePlex コミュニティーには最近参加したばかりだが、貢献はしなくとも2年前から利用はしており、定期的に利用しているプロジェクトの一部(ASP.Net MVC、Unity、および AutoMapper)は CodePlex がホームになっている。このコミュニティーに何か恩返しがしたいと考えたとき、自分の MVC ベースプロジェクトのホームをここにするのは自然な流れだった。それに、使い始めるのも簡単だし、Wiki や問題トラッカなど、ソースを管理するサポート機能も優れている」との回答を寄せてきた。
Activate Your Glutes プロジェクトは、http://www.activateyourglutes.com/からアカウントを作成して機能を試すことができる。
Tailspin Travel
TailSpin Travel は、PDC 2009初日に行われ、Microsoft Visual Studio 2010の重要な機能を大々的に売り込んだ基調講演のなかで解説されたテーマプロジェクトに与えられた名前で、.NET Framework 4を利用することで、パワフルな Web アプリケーションを作成することができる。ASP.NET MVC 2上に構築されていることに加え、Tailspin Travel プロジェクトはWindows Identity Foundation、Windows Server AppFabric、および SQL Server 2008の Data-Tier Application (DAC)機能も採用している。
TailSpin の CodePlex サイトをチェックしてダウンロードを行うか、PDC の基調講演をご覧いただきたい。
ASP.NET MVC 2 Knowledge Exchange
Wiki、ブログ、掲示板、そしてDiggのさまざまな側面を採り入れた次世代のコミュニティーベースサポートサイト、Stack Overflowは、聞いたことがないのはもちろん、使ったことのないプログラマーも少ない。たぶん、Stack Overflow のユニークなアプローチと素晴らしいインターフェースは、最先端のコミュニティー主導サイト構築に興味のある開発者のケーススタディになっている。
Knowledge Exchangeを開設したとき、Andrew Siemer 氏の頭には同じ考えがあったに違いない。同プロジェクトは、同氏による「Buildinga StackOverflow Inspired Knowledge Exchange」というタイトルの DotNetSlackers 連載記事のガイドになっている。同プロジェクトはプロジェクト開発に対して全体論的アプローチをとり、技術だけでなく、適切な開発環境の整備、ワイヤーフレームの作成、CruiseControl.NET の使い方といった話題にも重点を置いている。
同プロジェクトのコードはKnowledge Exchange CodePlex サイトからダウンロードすることが可能で、連載記事はDotNetSlackers.comでチェックされたい。
Who Can Help Me?
Who Can Help Me?は、特定の望ましい技術スキルセットを有する個人の検索を支援する興味深いアイデアがベースになっている。DotNetOpenAuth、Castle Windsor、TweetSharp、およびLess CSS for .NETなどの各種技術を使って構築された Who Can Help Me?は、真の異種 MVC フレームワークベースのアプリケーション構築方法にとって貴重な知識を深めることができるかもしれない。
同プロジェクトのアカウント作成はライブサイトにおいて可能で、同プロジェクトのコードはCodePlex サイトからダウンロードできる。
Hollywood Hackers
Hollywood Hackers は MSDN に先ごろ掲載された Kevin Hoffman および Nathan Dudek 共著による「Fuel Your Application’s Engine with Microsoft Azure Storage」という記事の手引きになるプロジェクトで、ASP.NET MVC 2と連携した Windows Azure の各種機能の使い方を紹介する。同プロジェクトのテーマは、ハリウッド映画で使われる魔法のような技術を売り物にする ASP.NET MVC 2主体のサイトを中心に展開され、非同期メッセージングや Windows Azure Storage を使った処理のデモを行う。
Hollywood Hackersプロジェクトのコードは CodePlex プロジェクトサイトからダウンロード可能で、記事はこちらから読める。
Oxite
Oxite は、VisitMixやPDCといった知名度の高い複数のウェブサイトを支える ASP.NET MVC Framework ベースのブログアプリケーション。プラグインサポート、スキン機能 、コメントのモデレート、API サポートといった企業ブログに期待される無数の機能を提供する Oxite は、ASP.NET の機能に対する理解を大きく深めてくれる。
スタンドアロンブログエンジンを提供するという目標達成に向けた Oxite の開発は続いておらず、前述のウェブサイトを発展させるための開発が代わりに進められている、と同プロジェクトのメインテナーは指摘している。そして、ASP.NET MVC フレームワークベースのブログエンジンソリューションを探し求めている開発者にはOrchardをチェックするよう提案している。
Kooboo
ちょうど Oxite が本来はブログエンジンの構築に関心のある開発者向けのモデルプロジェクトであるように、Kooboo CMS の方は ASP.NET MVC フレームワークを使ってパワフルなコンテンツ管理ソリューションを作成する方法を学習するためのケーススタディになっている。カスタムコンテンツタイプを作成する、コンテンツのテンプレートとメニューを管理する、ワークフローを整理する、そして作業のスケジューリングをする機能を提供する Kooboo は、開発者がエンタープライズ CMS の基盤を非常に深く理解できるようにしてくれる。
CodePlex の Kooboo プロジェクトをチェックするか、Kooboo.comで Kooboo についてさらに学ばれたい。
Prsync.com
Prsync.comはプレスリリース集約サイトで、ユーザーコミュニティーからリリースを受け付けるほか、企業の RSS フィード経由でそれらを自動的に集約する。CodePlex の手引きとなるPrsync.com プロジェクトには、同サイトの運用に使われるすべてのソースコードが含まれている。プロジェクトの解説には専用の付加機能への言及がないものの、Microsoft パターンと手法N-Tier Web Application Patterns グループによって定義されたベストプラクティスがかなり重視されているようだ。
Prsync.com ウェブサイトをご覧頂き、こちらから同サイトのソースコードをダウンロードされたい。
The ASP.NET MVC Membership Starter Kit
今日成功を収めている大半のオンラインプロジェクトにとって、アクティブなユーザーコミュニティーがその重要な要素の1つであることは明らかだ。そのため、どの開発者も効果的なユーザーアカウント管理方法を理解することに十分な時間を割くことが賢明だ。ほかの人々がユーザーやロール管理のために ASP.NET の Membership & Roles プロバイダー活用方法に関するもっと詳しい情報を得られるよう支援すべく、Troy Goode 氏は「MVC Membership Starter Kit」と呼ばれる評判の良い CodePlex プロジェクトを立ち上げた。その機能としては、ユーザーの作成、修正、および削除、ユーザーの電子メールアドレス変更、そしてユーザーロールのアップデートなどがある。MVC Membership Starter Kit は MVC 2の新機能を一切活用していない。とはいえ、このプロジェクトはユーザーアカウントの管理を初めて行う開発者にとって素晴らしい入門書となるはずだ。
同プロジェクトの詳細や、インターフェースのスクリーンショットは Troy のウェブサイトを参照されたい。
まとめ
ASP.NET MVC プロジェクトのソースコードを公開したことはあるだろうか? コメント欄にぜひ情報をいただきたい。
著者紹介
Jason Gilmore(Jason Gilmore)
http://japaninternetcom.pheedo.jp/click.phdo?i=ae9c32b96a71d081f7a6f97121a31d2a
なんかふと思うんですが、自分はいつ死ぬのかな〜〜〜なんて、、ww
物事にはいつか終わりが来るんですもんね〜。
人気漫画の最終回はがらになくいつも涙ぐんでしまうんですよねぇw
ワンピースなんて毎回泣いてますからね!!w
有終の美といいますもんね!終わりがあるから物事は美しいんですよ。。
PICKUP
探偵社の選び方元彼氏がストーカー?先物取引サービスを利用して先物会社を見つける介護福祉士の仕事紹介身近な税理士を探す[浦和市]自己破産無料相談事務所悲喜交々(ひきこもごも)カナディアンロッキー任意整理で過払い請求多重債務でお金に困ったら専門家に相談!PR