- a round-trip to a webserver,...
- where the webserver also roundtrips to a database server (a totally different machine, behind a firewall),...
- where the database server has to execute a complex stored procedure against a million or more rows of data, filter and summarize that data to a couple hundred rows, sort it, send it back to web server...
- where the webserver's C# ASPX code must write out the HTML and deliver it to the client's web-browser
Yes, it sounds insane, but it is true - in this case, I was comparing:
using the Yahoo User Interface (YUI) Controls for a project, where the YUI datatable has been used to add formatting and column-sorting to an existing HTML table,...
The speed-comparison results:
- Complete round-trip to IIS 6 web-server, SQL-Server, and C# 3.0 code to write out the same formatted HTML: LESS THAN 2 SECONDS!
How can any code / language be this slow in modern times!!!???
The web should be no different than the desktop! Aside from super simplistic static HTML pages or generated HTML (via ASP, DotNet, PHP, Ruby, whatever) a "web site" should be nothing more than a document-presentation site. If you require real "functionality" (i.e., an "application", it is time to do things quite different.
Instead of this current web "application" model where everyone seems to continually try to beat "applications" into the shape of a web-page, we need to instead create true executable applications that run on the client machine natively. It is SO SIMPLE to create an application that can talk to remote databases over TCP/IP and/or through SOAP endpoints, etc., that I can't figure out why everything has to be a "web page" like it is now. You wait: sooner or later people will proclaim the "fat" web-client (a local EXE) the latest and greatest thing that was "invented" or "discovered" or something (instead of admitting it was just ignored and obvious!)