SlideShare a Scribd company logo
NancyFX
The super-duper-happy-path
Overview
• Designed for building HTTP based services on .NET and Mono.
• Prioritise conventions over configurations
• Provides an easy Domain Specific Language
• Open-source under MIT license
• No dependencies on existing framework
• Can be used over different hosting environment (ASP.NET, WCF, …) using
specific host implementations
• Handle DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH requests
• Integrate view engines (Razor, Spark, dotLiquid, its own
SuperSimpleViewEngine, and more)
• Advanced routing and parameter capabilities
• Easy response syntax
• Embark its own testing framework
• Model binding
3
Features
The super-what ?
• This is the ethos the team is striving for, but here are the basic ideas behind
it :
– It just works – little to no configuration even when adding modules, viewengines,
dependencies, etc.
– Easily customisable – possibility to redefine each pieces of the frameworks
– Low ceremony – minimal amount of « Nancy code », focus is on the application
code
– Low friction – easy usage of the framework without sacrificing extensibility and
power when you need it
• Define the behavior of your application
• Must inherit NancyModule and are globally discovered
5
Modules
• A lot of common things with ASP.NET MVC routing
• Main differencies :
– Defined in a module constructor
– Each capturing segment pattern has a score
– The route which has the best score (combining all the matching segments
scores) has the priority
– The order of route loading is not important unless two matching routes have the
same score
6
Routing
• Aggregate all the framework pieces together
• Responsible of the automatic discovery of modules, model binders,
dependencies, etc.
• Built on top of a IoC container (TinyIoc)
• Can be replaced with another container (already available : ninject,
structuremap, unity and more)
• Can be overrided to change or add features
7
Bootstrapper
• Takes a “template” and an optional “model” and usually render HTML
• Shipped with the SuperSimpleViewEngine (.html and .sshtml files) but can
be replaced
• Just adding a reference to them via the separate nuget package will make
them available
• Possibility to implement your own view engine and hook it up like any other
8
View engines
9
Some other frameworks
• FubuMVC
– compositional, convention-based framework for complex web applications
• OpenRasta
– open-source .NET framework for building everything web, from web sites to
RESTful APIs
And of course :
• ASP.NET MVC
– You should already know what to insert here…
• Modules and application hooks
• Content negociation
• Authentication
• Hosting and implementing a host
• Application testing
• Diagnostics and dashboard
• Cryptography
11
And some more things
• http://nancyfx.org/
• https://github.com/NancyFx/Nancy
• http://blog.jonathanchannon.com/2012/12/19/why-use-nancyfx/
12
Links
13
Questions
Find out more
• On https://techblog.betclicgroup.com/
About Betclic
• Betclic Everest Group, one of the world leaders in online gaming, has a unique
portfolio comprising various complementary international brands: Betclic, Everest
Gaming, bet-at-home.com, Expekt…
• Active in 100 countries with more than 12 million customers worldwide, the Group is
committed to promoting secure and responsible gaming and is a member of several
international professional associations including the EGBA (European Gaming and
Betting Association) and the ESSA (European Sports Security Association).
• Through our brands, Betclic Everest Group places expertise, technological know-how
and security at the heart of our strategy to deliver an on-line gaming offer attuned to
the passion of our players.

More Related Content

PPTX
Don't worry with bower
PPTX
Advance java session 20
PPTX
Advance java session 15
PPTX
Let's server your Data
PPTX
Power shell basics day 11
PPT
Real World Rails Deployment
ODP
An introduction to Apache Mesos
PPTX
Reactive Architecture
Don't worry with bower
Advance java session 20
Advance java session 15
Let's server your Data
Power shell basics day 11
Real World Rails Deployment
An introduction to Apache Mesos
Reactive Architecture

What's hot (19)

PPTX
Serve like a boss (part one)
PPT
Ruby Setup
PDF
A PHP library for Ontopia-CMS Integration
PDF
Module Web Applications - Pierre Dubois, Chief Executive and President, Requea
PPTX
AngularJS
PDF
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
KEY
Eclipse Enterprise Content Repository (ECR)
PPTX
CloudStack challenges for China customers
PPTX
Advance java session 2
PPTX
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
PDF
Web Performance Part 3 "Server-side tips"
PPTX
Sqlviking
PPTX
Node.js at Nutonian
PDF
An Introduction to Membase
PDF
Beyond Apache: Faster Web Servers
PDF
Apache CloudStack at LinuxCon Japan
PPTX
Interoperable OpenStack guest provisioning with Cloudbase-Init
PDF
unga - boosting opensim
PDF
Gotszling mogo db-membase
Serve like a boss (part one)
Ruby Setup
A PHP library for Ontopia-CMS Integration
Module Web Applications - Pierre Dubois, Chief Executive and President, Requea
AngularJS
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Eclipse Enterprise Content Repository (ECR)
CloudStack challenges for China customers
Advance java session 2
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
Web Performance Part 3 "Server-side tips"
Sqlviking
Node.js at Nutonian
An Introduction to Membase
Beyond Apache: Faster Web Servers
Apache CloudStack at LinuxCon Japan
Interoperable OpenStack guest provisioning with Cloudbase-Init
unga - boosting opensim
Gotszling mogo db-membase
Ad

Similar to Mini-Training: NancyFX (20)

PPTX
Introduction to ASP.NET 5
PPT
Cloud compiler - Minor Project by students of CBPGEC
PPTX
MVC 6 - the new unified Web programming model
PPTX
Short-Training asp.net vNext
PPTX
Frameworks Galore: A Pragmatic Review
PDF
Apereo OAE - Bootcamp
PPTX
OpenStack and Windows
PPTX
ASP.NET 5 - Microsoft's Web development platform reimagined
PPTX
Introduction to Kubernetes
PPTX
Containers, Serverless and Functions in a nutshell
PDF
Open shift and docker - october,2014
PPTX
Getting Started with Apache CloudStack
PPTX
ASP.NET MVC Best Practices malisa ncube
PPTX
.NET Core: a new .NET Platform
PPTX
ASP.NET vNext
PPTX
Get acquainted with the new ASP.Net 5
PDF
Rami Sayar - Node microservices with Docker
PPTX
Introduction to .NET: The Ultimate Development Framework by Infinite Web Solu...
PDF
Asp 1a-aspnetmvc
PDF
Aspnetmvc 1
Introduction to ASP.NET 5
Cloud compiler - Minor Project by students of CBPGEC
MVC 6 - the new unified Web programming model
Short-Training asp.net vNext
Frameworks Galore: A Pragmatic Review
Apereo OAE - Bootcamp
OpenStack and Windows
ASP.NET 5 - Microsoft's Web development platform reimagined
Introduction to Kubernetes
Containers, Serverless and Functions in a nutshell
Open shift and docker - october,2014
Getting Started with Apache CloudStack
ASP.NET MVC Best Practices malisa ncube
.NET Core: a new .NET Platform
ASP.NET vNext
Get acquainted with the new ASP.Net 5
Rami Sayar - Node microservices with Docker
Introduction to .NET: The Ultimate Development Framework by Infinite Web Solu...
Asp 1a-aspnetmvc
Aspnetmvc 1
Ad

More from Betclic Everest Group Tech Team (20)

PPTX
Mini training - Reactive Extensions (Rx)
PPTX
Mini training - Moving to xUnit.net
PPTX
Mini training - Introduction to Microsoft Azure Storage
PPTX
Mini training- Scenario Driven Design
PDF
Email Management in Outlook
PDF
Mini-Training: SSO with Windows Identity Foundation
PPTX
Training - What is Performance ?
PPTX
Mini-Training: Docker
PDF
Mini Training Flyway
PDF
Mini-Training: NDepend
PDF
Management 3.0 Workout
PDF
PPTX
Training – Going Async
PDF
Mini-Training: Mobile UX Trends
PPTX
Training: MVVM Pattern
PPTX
Mini-training: Personalization & Recommendation Demystified
PPTX
Mini-training: Let’s Git It!
PDF
AngularJS Best Practices
PDF
Mini-Training: Roslyn
Mini training - Reactive Extensions (Rx)
Mini training - Moving to xUnit.net
Mini training - Introduction to Microsoft Azure Storage
Mini training- Scenario Driven Design
Email Management in Outlook
Mini-Training: SSO with Windows Identity Foundation
Training - What is Performance ?
Mini-Training: Docker
Mini Training Flyway
Mini-Training: NDepend
Management 3.0 Workout
Training – Going Async
Mini-Training: Mobile UX Trends
Training: MVVM Pattern
Mini-training: Personalization & Recommendation Demystified
Mini-training: Let’s Git It!
AngularJS Best Practices
Mini-Training: Roslyn

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Spectroscopy.pptx food analysis technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
A Presentation on Artificial Intelligence
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Getting Started with Data Integration: FME Form 101
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectroscopy.pptx food analysis technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A Presentation on Artificial Intelligence
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Teaching material agriculture food technology

Mini-Training: NancyFX

  • 2. Overview • Designed for building HTTP based services on .NET and Mono. • Prioritise conventions over configurations • Provides an easy Domain Specific Language • Open-source under MIT license • No dependencies on existing framework • Can be used over different hosting environment (ASP.NET, WCF, …) using specific host implementations
  • 3. • Handle DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH requests • Integrate view engines (Razor, Spark, dotLiquid, its own SuperSimpleViewEngine, and more) • Advanced routing and parameter capabilities • Easy response syntax • Embark its own testing framework • Model binding 3 Features
  • 4. The super-what ? • This is the ethos the team is striving for, but here are the basic ideas behind it : – It just works – little to no configuration even when adding modules, viewengines, dependencies, etc. – Easily customisable – possibility to redefine each pieces of the frameworks – Low ceremony – minimal amount of « Nancy code », focus is on the application code – Low friction – easy usage of the framework without sacrificing extensibility and power when you need it
  • 5. • Define the behavior of your application • Must inherit NancyModule and are globally discovered 5 Modules
  • 6. • A lot of common things with ASP.NET MVC routing • Main differencies : – Defined in a module constructor – Each capturing segment pattern has a score – The route which has the best score (combining all the matching segments scores) has the priority – The order of route loading is not important unless two matching routes have the same score 6 Routing
  • 7. • Aggregate all the framework pieces together • Responsible of the automatic discovery of modules, model binders, dependencies, etc. • Built on top of a IoC container (TinyIoc) • Can be replaced with another container (already available : ninject, structuremap, unity and more) • Can be overrided to change or add features 7 Bootstrapper
  • 8. • Takes a “template” and an optional “model” and usually render HTML • Shipped with the SuperSimpleViewEngine (.html and .sshtml files) but can be replaced • Just adding a reference to them via the separate nuget package will make them available • Possibility to implement your own view engine and hook it up like any other 8 View engines
  • 9. 9
  • 10. Some other frameworks • FubuMVC – compositional, convention-based framework for complex web applications • OpenRasta – open-source .NET framework for building everything web, from web sites to RESTful APIs And of course : • ASP.NET MVC – You should already know what to insert here…
  • 11. • Modules and application hooks • Content negociation • Authentication • Hosting and implementing a host • Application testing • Diagnostics and dashboard • Cryptography 11 And some more things
  • 12. • http://nancyfx.org/ • https://github.com/NancyFx/Nancy • http://blog.jonathanchannon.com/2012/12/19/why-use-nancyfx/ 12 Links
  • 14. Find out more • On https://techblog.betclicgroup.com/
  • 15. About Betclic • Betclic Everest Group, one of the world leaders in online gaming, has a unique portfolio comprising various complementary international brands: Betclic, Everest Gaming, bet-at-home.com, Expekt… • Active in 100 countries with more than 12 million customers worldwide, the Group is committed to promoting secure and responsible gaming and is a member of several international professional associations including the EGBA (European Gaming and Betting Association) and the ESSA (European Sports Security Association). • Through our brands, Betclic Everest Group places expertise, technological know-how and security at the heart of our strategy to deliver an on-line gaming offer attuned to the passion of our players.