I’m troubled by this question for a long time now. I work in the little company in Eastern Europe. We work primarily for local clients, web apps, mostly b2b and b2c-s. Our internet infrastructure is not very good, so we often have problems with local isp-s and hosts that are stationed in companies who have information systems that we build our apps upon.
Technology that we are using is Microsoft IIS, SQL Server and ASP with a lot of Javascript and Ajax. As a student and developer I`am aware that ASP is old and do not support many many cool and useful things, but i believe that we done a very good job with our code. And we created very fast apps too (8000 rows from table in less than 4,5 sec on one page without pagination (don’t ask) is pretty damn fast). For that we used thick client approach and pull out max from Javascript. So, what is our problem?
Naturally we have to migrate, and logical step is ASP.NET. But we have confrontation, from our thick client, mini Javascript grid and components, we have to focus on server side and a thin clients.
I would appreciate your point of view on this. What are we going to gain with using ASP.NET and a thin client architecture? Are the greater benefits that will compensate speed downgrade? Many references are dogmatic on a stand that complete logic should be on server and doesn’t explain why (i am well aware of MVC and using it)?
Thanks
Before I get into my answer, I want to point something out.
You don’t have to give up your existing client-side infrastructure to move to ASP.NET!
While it is likely that ASP.NET Forms will be a downgrade in performance, there are more features available (besides MVC) in ASP.NET that you can use that don’t require you to convert to Forms.
HttpHandlers have the same flexibility and more capability than ASP pages. You can map tricky pages to ASP.NET by converting your ASP pages to code statements, and reducing in-page declarations to output statements. Depending on your existing design, you may even find that the mapping coincides nearly line-by-line for a lot of your existing work.
Creating HttpHandlers @ MSDN
IHttpHandler Interface @ MSDN
In addition, if you wanted, you could remap the .ASP extension handlers to .ASHX handler to preserve your links as well. Your client-side code may not even notice the change.
Finally, aside from any debate on thin/thick client architecture, here are my top reasons you should move to .NET / ASP.NET.