ASP.NET is very agile and very much used web development framework used nowadays and people can rely on ASP.NET framework to have their enterprise websites built and running in a while only; I remember myself building a full-functional web application in ASP.NET in just one night. ASP.NET comes with many frameworks and flavors. Developers can chose from many of them, depending on what type of application they're building. ASP.NET family contains,
- ASP.NET Web Pages - The first framework of ASP.NET that I used to build applications, and tried to stick to until this year. Best framework for blog websites, small personal websites and a very basic Bakery website.
- ASP.NET Web Forms - Another framework of ASP.NET, uses a form as an HTML document, and handles most of the events on the server-side code. Provides full control to the developers over applications. I never tried this one for building production websites, because of their syntax of always using the <asp:Control > thing. It always annoyed me and I had trouble learning it.
- ASP.NET MVC - After Web Pages I started this framework, and trust me, it took just one night to learn it and I am never going to leave this framework for web application development. The MVC framework comes shipped with a lot of features and efficient ways of web application development. I have written an article, that people might be interested in reading to learn the MVC framework too. This framework is best one if you're choosing to develop enterprise solutions.
- ASP.NET Single Page Applications - These applications are good for asynchronous applications, where ajax is used widely. It uses more client-side code (JavaScript or its libraries) and less server-side code (ASP.NET).
- ASP.NET SignalR Application - This application framework is best for chat application or real-time applications.
- ASP.NET Web API - This framework is used to build APIs. It is similar to MVC framework in the underlying concept. But has a few things different only.
Actual Chatter
The actual thing to talk about is the ASP.NET's MVC framework and the Web API. Their difference or the advantages they have for the developers or companies using them. I mean, I have been using MVC since a while and I have always loved it. The framework has a lot of features and extensions. Praising the .NET framework, the applications can have a billions of packages and libraries running in the back-end to improve the website's overall performance or features. You can append chart APIs or you can create a full-featured image editing tool in ASP.NET, the framework has you covered.
MVC was introduced quite a while ago, Web API is (as compared to MVC) new to the business. Web API is used to design web-based APIs so that users can use these APIs to get the data resources from the websites. Both of these use the ASP.NET's URL Routing schemes, to allow custom URLs in the websites; a custom URL means that even if there is no resource such as .html file available on the disk the URL will still be valid and the result will be generate.
Another major feature is, that the code is well-organized in every manner. The MVC framework makes it easy, to manage the source code of the application for debugging, editing and/or testing.
- Model - for the data.
- View - for the HTML markup.
- Controller - for the actual back-end code.
Web API also uses the same back-end logic for the source code. Web API also makes it easy to host the application, you can host the web application based on a Web API in a Console application or a WPF application; just like a
WCF application.