軽量フレームワークnancy
DESCRIPTION
2013/12/14 (土) に行われた『合同勉強会 in 大都会岡山 -2013 Winter-』の同名のLTの資料。 ASP.NET で利用できる軽量フレームワーク、Nancyを紹介するLT。TRANSCRIPT
軽量フレームワークNancy
きよくら ならみ
合同勉強会 in 大都会岡山 -2013 Winter2013.12.14
自己紹介
• きよくら ならみ
– @kiyokura / id:kiyokura
• 岡山生まれ岡山育ちのプログラマー
–現在は県内の某製造業で社内SE
• NET系の開発やWebアプリ開発
– Microsoft MVP for ASP.NET/IIS
One ASP.NETの話し
• ASP.NETは其々特徴を持ったいくつかのフレームワークが存在
• それぞれをプラガブルに取捨選択/ミックスして使えるのが今のASP.NET
そして"You"
ASP.NET
Web
Forms
Web
PagesMVC
Web
APISignalR
Single Page Apps
Sites Services
YOU! YOU!
非MS製のフレームワークも使える
• その一例が「Nancy」
軽量フレームワークNancy
• Sinatraインスパイア系
–軽量
–シンプル
• OSS
– http://nancyfx.org/
– https://github.com/NancyFx
– MIT License
HTTP動詞+パス+アクション
public class SampleModule: Nancy.NancyModule
{public SampleModule(){
Get["/"] = _ => "Hello World!";Get["/Hoge/"] = _ => "fuga!!";
}}
実行結果
使い方
• NuGetでインストールするだけ
–「空のASP.NET Webアプリケーション」に
PM> Install-Package Nancy.Hosting.Aspnet
View Engine (template)もあるよ
• HTML全部文字で返すはもちろん面倒
• ちゃんとview engineがあります
• それも、複数あるのでお好みで!
2013.12現在の選択肢
• Razor
• Spark
• DotLiquid
• NDjango
• Nustache
• Markdown
• NHaml
• Parrot
View engineの使い方
• 使いたいView EngineのパッケージをNuGetからインストール
–例:razor
• 一つのサイトで複数のエンジンを併用可能
PM> Install-Package Nancy.Viewengines.Razor
Markdownの例
コードから変数を渡す例
Viewを戻す
viewに値を渡すにはこんな感じで
オブジェクトを作って渡してやる
実行結果
シンプルなので…
• ちょっとしたことをするときにいいかも
–ちゃんとMVCを意識して設計するまでもないようなものとか
まとめ
• NancyはASP.NETの軽量フレームワーク
• Sinatraインスパイア系