Why .NET MVC?Posted On : Aug 13, 2020
Probably because of my path crossed with it (ASP - Active Server Pages) when i decided to learn web development and progressed alongside with it, i didn't interest other languages or frameworks (software infrastructures) and i never needed actually. I don't remember any moment that i met with a problem on ASP.NET (in short .NET) MVC and couldn't find a solution. I think it already wouldn't be used by thousands of independent developers and organizations around the world if it wasn't really good.
.NET is a software infrastructure which developed by Microsoft company in 2002 (as first version) and provides to create desktop, web and mobil applications with the programming languages it supported especially like C#.
I would like to talk about software infrastructure ("Framework") concept a little bit, because it is usually the first term that people who interested these works have trouble to understand. Let me explain the Framework to you as simple as i can; when you're going to develop an application, the codes you'll write might need some pre-written code libraries as references. Without these references, the codes you wrote will not be more than meaningless texts and so your application will not work. In addition, application development is a whole structure consisting of certain stages and sections. That's the skeleton system that contains this whole structure is named as Framework. Framework is not a .NET specific concept. Each software development technology might has its own frameworks or might has not any framework.
Dynamic websites, in other saying web applications are coding based on two different parts; client-side and server-side. Making these two codings inside each others were causing difficult to locating-fixing the errors and slowing down the development progress by becoming all codes more complex. In 1979, Trygve Reenskaug brought a very nice approach to this situation and named it as MVC (Model-View-Controller). MVC is an application development method that simplifies the development process and management by dividing web applications into 3 main parts. With this method, a web application is built in a structure that managed seperately in a form of dynamic data (Model), the html (View) which will be showed to users and the functions (Controller) that manage the program flow. So this is a very effective and successful application development logic to minimize the complexity which described above.
MVC is also based on OOP (Object Oriented Programming). OOP means data classification. Let me explain this with a simple example for you understand it better; suppose you're going to make a book library application. We define the book as a class and define the author, page count, publish date etc. as sub-members or properties of it. Any change in any of these properties will be applied in all book classes that you used in your application. Like the book, students that will use these books also can be defined an another class. Student's name, surname, birthday, class number etc. can be defined the properties of student class. If you think a little bit, you too will find this approach as quite logical. Almost all modern applications such as games, dynamic websites and mobile apps usually built on this basis.
Whether .NET based or other technologies used, most of today's web applications are produced using the MVC method because of the simplicity, performance and practicality of the development and managing process. My website kaancamur.com where you are reading these lines now is a .NET based MVC application that I designed and coded from scratch. The reason why i use .NET MVC is because of i met and proceeed with this technology first as i mentioned at the beginning of the article and because of it support the C# language (which i mastered) at first grade and has lots of useful internal and external (3rd party) code libraries. If you too also have a good knowledge on C# or progressing on it, you can use .NET MVC with enjoy.