Some time ago my old good friend asked me to help him with .NET web project. It was already done as ASPX Forms web application, so, I decided to move on in this direction. There is MSSQL database with data access layer implemented as Entity Framework model. I didn’t touch them. I created middle tier to contain all logic.
What about web UI? As I said, I implemented it as ASPX Forms solution splitted into several UserControls as components. Well, it seems not easy as any other web programming task I’ve done for already several years. Why? Maybe cause it was legacy incorrectly designed solution? No, it’s regular even standard project with clean robust design on business layer. So, what’s wrong with that? Short answer is ASPX.
For already several years I’ve experienced web development mostly in MVC way. I’ve been used this patter with python (Django), ruby (Rails), perl (Catalyst, Mojolicious), php (Zend Framework), .net (ASP.NET MVC), java (Struts). MVC provides clean technical control of web project.
ASPX Forms can’t be so good. Keep in mind, it was born as ancient MS VB child with its forms/events architecture instead of clean pure web design. Forms looks like a set of components useful to create some standard solutions only. Any desing of non-standard solution is going hard and its implementation slow, if we compare ASPX vs. MVC.
So, ASPX Forms must die.