single page
- Nancy (lightweight and low ceremony)
- FubuMVC (convention-based and highly compositional)
- OpenRasta (a resource oriented framework for web sites and APIs)
- Service Stack (a web services framework)
- Oak (highly dynamic, frictionless)
links:
You Want To Build Web Software with C#?
- What are my business requirements?
Do I need to optimize for both mobile and desktop?
Do I need to be highly scalable?
What sort of authentication mechanisms do I need for my customers?
Am I building a site, a service, or a combination of both?
- Do the abstractions make sense to me?
Do the abstractions relate well with my mental modal of how things work on the web?
- What do I value the most? Testability? Flexibility? Simplicity? Past experience with an existing framework?
- What are my technology requirements?
Am I tied to IIS and Windows or do I want the ability to run on Mono?
Do I need to build an application that makes heavy use of JavaScript in the browser?
- Do not use Silverlight
- Do not use LINQ to SQL
- Do not use WCF, unless you have no other option (e.g, to build a SOAP API).
- Do not use the Web Forms view engine for anything but a Web Forms application
- Don't forget: in larger applications the web layer is just a façade. Other architectural decisions should probably have a higher priority.