开发者

What alternative frameworks for ASP.Net exist?

开发者 https://www.devze.com 2023-01-08 12:05 出处:网络
Ok so we all of course know of the big two frameworks built atop ASP.Net. Webforms and MVC. Are there any alt开发者_Go百科ernatives to these two big and Microsoft-made frameworks?

Ok so we all of course know of the big two frameworks built atop ASP.Net. Webforms and MVC. Are there any alt开发者_Go百科ernatives to these two big and Microsoft-made frameworks?

I believe that OpenRasta had something extremely lightweight which was independent from both, but I'm not sure. Is there anything else like that though?

The reason I ask this is that I've pondered on trying to create a framework independent from both Webforms and MVC and I would like to see how other people approached the problem.


FubuMVC is another popular (and active) alternative http://fubumvc.com/


There is Mono Rail, an alternative MVC framework.

And the new microsoft product/project WebMatrix seems to be based on a completely different approach (although I don't know it in detail).


check out Web Forms MVP ( http://webformsmvp.com/ )

It is an MVP framework form ASP.Net WebForms.


Indeed OpenRasta is the only of the proposed answers that can run out of asp.net quite happily, and still run on top of it if you so desire. And it is stable enough that few patches are required to the 2.0 branch before work starts on 3.0 this month.


I've developed an alternative to ASP.NET MVC. You get the same loose coupling and separation of concerns but the difference is in how you go about building your projects.

I have a couple of videos on my blog, source code for the framework, a sample project and a few VS.NET add-ins (New Project item, New Builder and New View).

Quartz for ASP.NET

Some key differentiating Features are 1. Templates are just html - no code mixed with templates 2. Templates are thus reusable across views and Web site designers can design templates in their design tool of choice 3. Strongly typed code (no ViewData and stuff) so you get intillisense, compile time checking, F12 navigation etc. 4. You build pages as compositions of views rather than an inside-out approach 5. View can be treated as "real" classes. 6. Everything is complied so no run-time compilation

Quite a few other differentiating factors as well.

My Website/blog is also built using Quartz for ASP.NET Matlus - Internet Technology & Software Engineering


I've developed a small MVC framework a while back when MVC didn't quite work right on Mono(or at least wasn't stable)

It's called BarelyMVC and is BSD licensed at bitbucket.

Well, basically BarelyMVC, though can be used in probably all projects, may not be the best tool. But, in general it has these features going for it:

  • All the features of MVC without the learning curve or architecture work-arounds
  • Take full control of the generated HTML. Views are basically just preprocessed HTML with dynamic bits.
  • Routing supports friendly URLs in an easy and consistent manner.
  • Less magic. Easy to see what will happen and why

So, to sum that up. Even though I call it MVC, it really is more like VC, view and controller. Views of course exist and are very lightweight. Controllers are basically the HttpHandler class. There is no real "need" for models though. Abstracting things by models is very easily done with BarelyMVC, but they are really optional. There is no assumption that underneath each HttpHandler is a data model. While this can lead to messier code, I've seen some pretty bad code that happens when people try to work around enforced MVC architecture. Work arounds will happen no matter what, so I just make it so my framework is extremely easy to work around. I give you enough power to shoot your foot, but I also make sure you know very clearly that you are about to.

It's composed of three main components:

  • ViewEngine -- A really awesome view engine made using T4. All of your views are statically compiled and statically typed. Therefore intellisense just works for your views. No more ViewData["typo"] errors.
  • Router -- A powerful routing engine that maps URLs to your HttpHandlers while allowing for SEO and human readable friendly URLs
  • FSCAuth -- A simply secure authentication framework that is extremely easy to implement into any kind of database.

And of course, each of these 3 components are also completely optional.

I made my own blog in BarelyMVC and I think it turned out as a very nice example of how cool BarelyMVC is. It's source code is also at bitbucket

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号