Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

軽量ASP.NETフレームワークNancy

5,417 views

Published on

2014.03.01に行われた「Room metro #23 大阪」のLTにて発表した資料
http://metrostyledev.net/index.php/event/20131026/

Published in: Technology
  • Be the first to comment

軽量ASP.NETフレームワークNancy

  1. 1. 軽量ASP.NETフレームワーク Nancy きよくら ならみ Room metro #23 大阪 LT 2014.03.01
  2. 2. 自己紹介 • きよくら ならみ – @kiyokura / id:kiyokura • 岡山生まれ岡山育ちのプログラマー – 現在は県内の某製造業で社内SE • NET系の開発やWebアプリ開発 – Microsoft MVP for ASP.NET/IIS
  3. 3. 宣伝 • 3/22(土) • MVP Communiy Camp 2014 • 私も広島会場で登壇 – Visual Studioで始めるTypeScript開発入門! • http://atnd.org/events/47438
  4. 4. 本題
  5. 5. One ASP.NET Sites Services Single Page Apps Web Forms Web Pages MVC ASP.NET Web API SignalR
  6. 6. One ASP.NET • ASP.NETにはそれぞれ特徴を持ったいく つかのフレームワークが存在 • それぞれをプラガブルに取捨選択/ミック スして使えるのが今のASP.NET – VS2013ではミックスして使いやすくなった
  7. 7. そして"You" Sites Services Single Page Apps YOU! Web Forms Web Pages MVC ASP.NET Web API SignalR YOU!
  8. 8. 非MS製のフレームワークも使える • その一例が「Nancy」
  9. 9. http://nancyfx.org/
  10. 10. 軽量フレームワークNancy • Sinatraインスパイア系 – 軽量 – シンプル • OSS – http://nancyfx.org/ – https://github.com/NancyFx – MIT License
  11. 11. HTTP動詞+パス+アクション public class SampleModule : Nancy.NancyModule { public SampleModule() { Get["/"] = _ => "Hello World!"; Get["/Hoge/"] = _ => "fuga!!"; } }
  12. 12. 実行結果
  13. 13. 使い方 • NuGetでインストールするだけ – 「空のASP.NET Webアプリケーション」に PM> Install-Package Nancy.Hosting.Aspnet
  14. 14. View Engine (template)もあるよ • HTML全部文字で返すはもちろん面倒 • ちゃんとview engineがあります • それも、複数あるのでお好みで!
  15. 15. 2013.12現在の選択肢 • • • • • • • • Razor Spark DotLiquid NDjango Nustache Markdown NHaml Parrot
  16. 16. View engineの使い方 • 使いたいView Engineのパッケージを NuGetからインストール – 例:razor PM> Install-Package Nancy.Viewengines.Razor • 一つのサイトで複数のエンジンを併用可 能
  17. 17. Markdownの例 コードから変数を渡す例
  18. 18. Viewを戻す viewに値を渡すには こんな感じで オブジェクトを作って渡して やる
  19. 19. 実行結果
  20. 20. シンプルなので… • ちょっとしたことをするときにイイ – ワンライナー的なWeb APIが欲しいとき – 2~3ページくらいでシンプルなサイト • Web Pagesと天秤にかけるかも • ルーティングとかテストの書きやすさとか
  21. 21. まとめ • • • • NancyはASP.NETの軽量フレームワーク Sinatraインスパイア系 プラガブルなViewエンジン ちょっとしたことに結構便利!

×