Programming Books

Wednesday, August 4, 2010

ASP.NET, What is it, and why should it matter to me?

 What is ASP.NET?
ASP.NET is a powerful web development framework that allows programmers to build some of the world's most powerful applications. Not only does ASP.NET supports web applications, but also have extensive support for desktop and thin client applications.

Why ASP.NET?
You can safely say that choosing ASP.NET for your next applications guarantees that there will always be wide support-- your application most likely will not become extinct as there are thousands of technologies--both from Microsoft, and from third parties, that are built exclusively for .NET. But my favorite reason for recommending .NET is it's extremely ease of use. With limited knowlege of web development you could literally create a fully functional website with very little effort -- that is of course if you're using VisualStudio.net, which can be downloaded from the Microsoft site for FREE. When using VisualStudio.net you literally just point and click without having to write one single line of code.




Getting Started!
The first thing to note when building a .NET website is what framework you will use-- well at least that's my first starting point. Knowing what framework you're using is very important in terms of supported technologies and etc. ASP.NET is currently at 4.0 framework, but many developers still program for 3.5 and even 2.0 frameworks.

Choosing the Right Programming Model
The next thing to note is what programming model you're going to use. What do I mean by programming model? ASP.NET offers two programming models; ASP.NET Webforms and ASP.NET MVC (Models, Views, Controllers). It is important to note which model best suits your target project. This can save you lots of time and headache in the development process. Note: no one model is better than the other. Each model sits on top of ASP.NET's core, and IS ASP.NET, however, they both use a slightly different approach where each approach values different things. Both models are extremely powerful and you arrive at the same end result using either, it's just a matter of which is best suited to your situation based on what feels more natural to you and what your values are; for example, if you're coming from a background where building user controls, wiring event handlers to respond to user actions then you might be more comfortable using a webforms approach. MVC is a lower level model; it does not  provide high-end abstractions such as web controls and event wiring. It requires that you are familiar with html and http more deeply that it's counterpart webforms. Where webforms adjust more seamlessly to different browsers, MVC does not, you must literally control the html rendering on your own. In a nutshell MVC is better suited for traditional web developers. It give you total control over your html rendering and linking. It supports unit testing, TDD and Agile methodologies. It is extremely flexible and extensible.

 As stated earlier, ASP.NET webforms and ASP.NET MVC both sits on top of the .NET core. This mean that you are not limited to just one or the other. Because they both render through the .NET runtime developers can build hybrid applications using both models.  The Figure below shows example of such...


ASP.NET Programming Models

No comments:

Post a Comment

Leave a comment. Thank you!