To find out more about architectural frameworks used in software development we interviewed Prem Khatri, VPO at Chetu. Prem Khatri specializes in Microsoft technologies, particularly with .NET frameworks, SSRS, WCF, MVC and many others.
As VPO, Prem Khatri uses his expertise to help teams working with technologies to solve critical problems with projects. He also reviews projects to ensure they comply with current coding standards and helps with planning for projects that fall within his realm of expertise.
There are two commonly used architectural frameworks for building web-based applications: Model-View-Controller and Web-Forms. MVC was originally conceptualized in 1976 as a development architecture for creating desktop applications.
MVC has since evolved into a framework for creating cross-platform compatible applications using a variety of programming languages including Ruby on Rails, .NET, Java and many others. It is a popular architecture because it reduces duplication of tasks by eliminating the need to create multiple versions of the same application for use on different operating platforms.
Some may assume MVC is a replacement for other architecture frameworks such as ASP.NET WebForms. I do not agree with that. Instead, I think a developer should think of it as an alternative to web-form. Each framework has its own use based on project timelines, support, and application type and target users. So a developer must review project parameters before deciding which approach to take.
MVC adheres to the Separation of Concern principle because it allows a developer to divide an application into sections based on how the information interacts with the code. For example, it separates the UI of an application from its business logic and data access logic implementation through the View and Controller features, thus allowing a developer to update each section individually.
Yes. MVC does not support web page post back or server-side page and control events, thus ensuring applications closely adhere to the Stateless Protocol for web development.
I think a major reason for using MVC is cost. Developers using web-form based development have to create multiple copies of the same application, which is more expensive because it takes additional time, effort and resources. With MVC, teams can create one application that functions on multiple devices and platforms. This drastically reduces the total cost of application development. In addition, thanks to the Model function of MVC, a client can separate business logic and data from the web interface should they wish to offer an application as a Software as a Service or simply sell it to customers as an Enterprise license.
Search engines seem to like applications built in MVC. Typically, pages built using MVC are much lighter than pages built using other architectures, which means they load faster and therefore perform better during search engine crawls. As a result, pages built using MVC receive better page rank scores from Google, Bing and other search engines.
MVC is great for consumer facing applications with larger audience where the objective is to create an extremely SEO friendly web portal that functions across multiple platforms. I would recommend against MVC for small projects that have very tight timelines or do not require test-driven development.
Chetu does not affect the opinion of this article. Any mention of a specific software, company or individual does not constitute an endorsement from either party unless otherwise specified. This blog should not be construed as legal advice.
Founded in 2000, Chetu is a global provider of bespoke app development solutions and support services. Chetu's specialized technology and industry experts serve startups, SMBs, and Fortune 500 companies with an unparalleled software delivery model suited to the needs of the client. Chetu's one-stop-shop model spans the entire software technology spectrum. Headquartered in Plantation, Florida, Chetu has fourteen locations throughout the U.S. and abroad.