Search code examples
asp.netwebresponsive-designsingle-page-applicationweb-frameworks

What is a good easy to use framework for rapidly developing web apps with a C# backend?


I am after recommendations for a framework (or project template) for rapid application development using C# on the back-end. It must support the following:

  • User login/authentication
  • SPA
  • Responsive client
  • Easy to understand client and server (not a steep learning curve like AngularJS)
  • Clean/uncluttered project structure (both client and server). Some OOTB ASP.Net project templates are very cluttered (eg the the VS2012/2013 SPA MVC/Knockout/BackBone template) - maybe I could be convinced, but just looking at a new project it puts me off instantly.
  • Easy DB access.
  • Flexibility on the client (for custom functionality eg adding maps and other UI libraries like D3) - don't want a client framework that you have to wrangle to paint outside the lines.

Would appreciate any/all suggestions/opinions. Thanks Tim


Solution

  • Like anything in software, there are so many ways to do this. You are essentially asking for a complete system architecture. You could try to be more specific, but your question is going gather opinionated answers and this will probably end up getting closed.

    But I'm bored and will throwin a couple of pennies before that happens: C# most likely means you'll be going .NET on IIS (though maybe its docker on linux?? refer back to my first line above)

    • User login/authentication

      If its IIS, you could be running Windows Auth, or if in an enterprise, Kerberos or Federation. Or if its going against social sites, maybe OAuth? This one depends on what authentication your users need and is really separate of the other areas below.

    • SPA / Responsive client / Easy to understand...

      You listed some very popular frameworks (Angular/Knockout) used in modern SPAs. You may not like them but these are becoming industry standards. Responsive web is pretty much bootstrap or foundation. Though, angular material seems to be gaining popularity too.

    • Easy DB access.

      Whats your definition of easy? Looking for an ORM? If so, Entity Framework is popular in .net apps. Or if you are more of an SQL person, maybe LINQ is easier. Many options here too.

    • Flexibility on the client ...

      Though you may not like some of them, using popular frameworks means you get a lot of developer support behind it - and a lot more answers here on SO if you have problems. One man's sunset is another man's sunrise. What you consider difficult might be viewed as easy by another. Hard to say whats most flexible but going popular means you got more help.