Why the need to extending ASP.NET Web Forms?
Why not just use ASP.NET MVC or ASP.NET Web Pages?
As an ASP.NET Developer, if you don’t value much having the total control over the HTML markup you render and you rather have ASP.NET Controls taking care of the rendering in a higher level of abstractions, if you appreciate and value event-driven programming, ASP.NET Page life cycle, and the preservation of state over HTTP, then you gravitate towards using ASP.NET WebForms. But with ASP.NET WebForms comes a challenge: you and your team have to constantly remind yourself to have Separation of Concerns (SoC) in your application and maintain a well-structured application by yourself, and that my friend it either requires a serious application design upfront or it requires discipline. ASP.NET MVC challenges ASP.NET WebForms in three counts: ASP.NET MVC has a well structured model where you have SoC by following the Model-View-Controller Pattern, you can easily practice TDD due to it’s modularity, and ASP.NET MVC is intunned with the basics of the HTTP and Web, whereas ASP.NET WebForms abstracts away HTML and HTTP, in the forms of Web Controls, ViewState, postbacks and Page life cycles. An attempt to close the gap, JUIPP adds another layer of abstraction by introducing a presentation pattern that fits the event-driven model of ASP.NET WebForms. It avoids the upfront serious application design, and minimizes the effort of maintaining a well-structured application.