NancyFxとは

この記事は、Nancy Advent Calendar 2013の1日目の記事です。

(寝落ちしてしまったので2日になってしまいましたが・・)

NancyFxの勉強をかねて、(ひとり)NancyFxアドベントカレンダーを作成しました。

NancyFxを使うひとが一人でも増えてくれたら嬉しいです。ともだちぼしゅうちゅう。

NancyFxとは

NancyFxとは、.NET Framework / Mono上で動作するように作られた軽量Webアプリケーションフレームワークで、RubySinatraのような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ですね・・・。

おわりに

AdventCalendarのはじめは、簡単なアプリケーションを作成するチュートリアル的に進めていこうと思います。残った部分は試してみたいことやTipsを書いていこうと思います。

ひとりで完走できるようにがんばりますが、参加してくださる方がいたらぜひお願いします!

次からはNancyFxのチュートリアルです。最初は基本的なプロジェクトの作り方をまとめます。

それでは、よろしくお願いします!