NancyFxとは
この記事は、Nancy Advent Calendar 2013の1日目の記事です。
(寝落ちしてしまったので2日になってしまいましたが・・)
NancyFxの勉強をかねて、(ひとり)NancyFxアドベントカレンダーを作成しました。
NancyFxを使うひとが一人でも増えてくれたら嬉しいです。ともだちぼしゅうちゅう。
NancyFxとは
NancyFxとは、.NET Framework / Mono上で動作するように作られた軽量Webアプリケーションフレームワークで、RubyのSinatraのようなDSLを提供しています。 フルスタックなフレームワークではないので、DBアクセスなどは好きなライブラリが利用できます。
ちなみに、Nancyとは、フランク・シナトラの娘の名前だそうですw
NancyFxを知ったきっかけは、C#を使ってWebアプリを作ろうと思い、軽量(Sinatraライク)なフレームワークを求めてググったらひっかかりました。
軽量なフレームワークといいつつ、普通のWebページやREST APIなどもちゃんと実装できるよう、機能も豊富に用意されています。
どんなフレームワーク?
HTTPのGETやPOST、ルーティングを指定して、値などのレスポンスを返すだけという、ラムダ式で簡単に記述ができます。C#はライトウェイトなんだ!!
public class HomeModule : NancyModule { public HomeModule() { /* GET / */ Get["/"] = parameter => { return "Hello NancyFx!!"; }; } }
それ以外にも、数値を返すとHTTPステータスコードとして返してくれるなど、レスポンスを返す方法にもいろいろあります。
公式サイトやリソースなど
ソースはGithubにホストされています。毎週10以上のコミットがあり、活発に開発されています。
書いてから気づきましたが、11/24の週はコミット数が2ですね・・・。
NancyFx/Nancy · GitHub
Githubのプロジェクトです。Documentation · NancyFx/Nancy Wiki · GitHub
GithubのWikiページです。ドキュメントは結構しっかり作られています。Blog Posts, Video & Audio · NancyFx/Nancy Wiki · GitHub
開発者のブログや、ビデオなどがまとめられています。Sinatra ライクな .NET 用軽量 Web フレームワーク「Nancy」を使ってみた - しばやん雑記
@shibayanさんのブログポストです。WebMatrix 3: Sinatra on ASP.NET 「Nancy」 を利用する - だるろぐ
@daruyanagiさんのブログポストです。.Netの軽量Webフレームワーク「NancyFx」を試してみた - らびたろちゃんにっき
わたしがNancyFxを紹介したときのブログポストです。
おわりに
AdventCalendarのはじめは、簡単なアプリケーションを作成するチュートリアル的に進めていこうと思います。残った部分は試してみたいことやTipsを書いていこうと思います。
ひとりで完走できるようにがんばりますが、参加してくださる方がいたらぜひお願いします!
次からはNancyFxのチュートリアルです。最初は基本的なプロジェクトの作り方をまとめます。
それでは、よろしくお願いします!