Fog Creek Software
Discussion Board




Web applications

Joel's latest post about FireFox and web applications touches on a pet peeve of mine. Netscape's Marc Andreesen most unfortunate quote was about how Navigator could replace Windows with it's own APi and platform independence. See http://www.politechbot.com/p-01366.html

What drives me insane, is all this wheel reinvention! Something simple: put a Delphi Project and files on a network drive. Load the project on Delphi and press F9. Done, you are far near of a web application platform than any browser ever was! We don't need no ffing HTML, CSS, JavaScript, DHTML, server side scripts, et all. (delphi loads text/binary files and runs an application on the fly, pretty near of a Web browser is supposed to do). Only one simple language. Borland could make the perfect browser in less than a year. The web started with content, and they started to put more and more technology to support applications. The easier approach would be to use a programming environment and put more and tech to show content (easier).

I hope that someday someone does that, and them, I will be able to choose Windows, Linux, Mac, Amiga, BeOS, and all my dear applications will follow me. What a dream!

Mauricio Macedo
Tuesday, June 15, 2004

WTF? How does compiling the source code of a Delphi application stored on a network share in any way compare to a web application?!

John Topley (www.johntopley.com)
Tuesday, June 15, 2004

Not quite on topic with the poster, but it should be of interest for anyone with interest in Mozilla and DHTML applications:

Mozilla (and derivates, including Firebird) comes with XUL, a technology that transcends DHTML.  Try the "online demo" on this page for a XUL widget demo: http://www.arxio.de/xm/xultest/ .  XUL uses simple extensions to html to quickly build native-looking menu bars and other application-type widgets.  One can use JavaScript and xmlhttp for transparent remoting to create a true browser hosted client side application.

Anonymous
Tuesday, June 15, 2004

Mauricio, when I read your post it says to me:

"Talking about the advancement of technologies that I am not an expert in is a pet peeve of mine.  Use my favorite technology and pay me handsomely for me experience!"

Clay Whipkey
Tuesday, June 15, 2004

John Topley wrote:
"WTF? How does compiling the source code of a Delphi application stored on a network share in any way compare to a web application?! "

John, I was being simplistic. Delphi loads files with application definition, code and interface layout. It would be similar to HTML, JS, CSS and image files.
Keep in mind that the browser started with content, hypertext. HTML. Then they needed action. This brought Javascript. Then they needed to standardize the lay-out. This brought CSS. Then they needed to threat lay-out elements as objects. This brought DHTML. Not to mention server side applications, which would pull the hair out to explain hoe they started (CGI).

To sum it up, it is an content driven approach being boffed up more and more to resemble an application environment. If they continue this path, M$ helping, maybe in ten years we will have something that Delphi did five years ago: load some files and show on the fly an application with the interface, responsiveness e performance of a native Windows application. This is what I find insane!

Mauricio Macedo
Tuesday, June 15, 2004

Clay Whipkey  wrote:
Mauricio, when I read your post it says to me:
"Talking about the advancement of technologies that I am not an expert in is a pet peeve of mine.  Use my favorite technology and pay me handsomely for me experience!"

Clay, I have 12 years of experience in Windows and Web development. I am not an expert in Delphi, I know enough to work with Delphi, VB, HTML_CSS_JavaScript_DHTML, Perl, PHP, ASP, VC++, and a bunch of other things I probably forgot.

What I'm saying is that the Web was not created by developers. It was never their intention to run applications, but content. It drives me crazy when I have to create a website and I need to use four different technologies to do something that is far weak than what one could do in any RAD. This is not a plug-in for Delphi, just an example of how they're crazy about this approach to redo everything for the Web, everything that we already have done and ready to use on the VB, Delphi or any other RAD camp.

Mauricio Macedo
Tuesday, June 15, 2004

Don't you hate it when people take your ideas:

http://www.microsoft.com/net/
http://java.sun.com/

Bastards.

Lee
Tuesday, June 15, 2004

Mauricio,

Okay, I see where you're coming from.

John Topley (www.johntopley.com)
Tuesday, June 15, 2004

> load some files and show on the fly
> an application with the interface, responsiveness 
> performance of a native Windows application.

Yes. Delphi stores its different data in different source files, however it does not load them "on the fly" or anything like that. The IDE loads them, and the compiler compiles it all into the resulting EXE.

Later came stuff like dynamically loadable packages to reduce the size of the compiled EXE file. This is basically loadable Windows DLLs; I haven't tried to directly LoadLibrary() a runtime package, but I will not be surprised if it is possible.

Delphi, is and has always been 100% native Windows, compiled code. So the reason it has the performance and responsiveness of a native Windows application is because it is.

If you missuse the Delphi streaming functions you can possibly render the contents of a DFM-file, at runtime, by calling TReader.ReadRootComponent() and its friends. This is basically what the IDE uses, when rendering the forms in design time. However if you use this method, you will not be able to display the form unless your EXE contains code for all the objects on the form.

Also, you will get huge problems with assigning event handlers if you perform a trick like this.

Net result, you compile it all into one .EXE-file which runs natively.

Your  comparison between how Delphi abstracts the Windows APIs and Web applications is severly broken.






>This is what I find insane!

Patrik
Tuesday, June 15, 2004

I feel that the real value of web applications is that they are not tied to a particular machine.  Its not so much about mixing content with functionality, or being able to run on different OS's (although those are important issues), but rather having access to the *same* information anywhere in the world, regardless of wether your laptop is crashed or not, or you forgot it at the New York office, or you installed AOL and TurboTax and now you can only boot in safe mode, or you are on vacation and you didn't bring anything but the company is "on fire" and you have to deal with it anyway... etc.

That is the value of the web in regards to software.  That it is truely hardware independent.  Yes, we may sacrifice some functionality.  Yes, it may take a lot of time and money to get web apps up to a basic level of equivalence with desktop apps.  But there ARE some advantages of the web that business has a need for, and technology CAN provide.

Clay Whipkey
Tuesday, June 15, 2004

The beauty of the web is the url and the hyperlink, it pulls everything into a world wide web if you will.  ;)

Jump on to Google, find a nice website with articles, notice they have a forum, post a few messages, see a link to a book on Amazon you would like, but the book - and all this from the same program with no installations needed. Now imagine the pain of the above where you had to install an application each time.

Matthew Lock
Tuesday, June 15, 2004

HTML was never ever ever designed to be an application platform. Forcing this on it is just wrong. "Web apps" (on the client side) seem to be one patch and a hack after another.

Michael Giagnocavo
Tuesday, June 15, 2004

Roads were never meant for automobiles to drive on.  They were *designed* for horses and carts.

Clay Whipkey
Tuesday, June 15, 2004

I'm inclined to think that we're infected with a pack of whiners here.  Requiring the distribution of source code with every app would be a nightmare.  Everyone who wanted to use it would need to have the same version of Delphi, the same version of required libraries, the same operating system.

You're also proposing a situation where everything must of necessity be open sourced.  While I'm a big fan of open source software, it doesn't work so well for a business model that involves selling applications or information services.  It also kills any variety of reliability in your application's data, because you can't rely on the source code being correct.

If you're too torqued off by the fact that you don't have 100% control over the interface in a web application, please feel free to stick to desktop apps.  Many of us don't mind writing web apps; some of us are very good at it.

Clay Dowling
Tuesday, June 15, 2004

At the risk of oversimplicfication, there are two main reasons why people write web apps:

(A) runs on all client platforms
(B) no deployment hassles

If you need (A), then you need web apps.  (Or Java, but that's another story with its own pros and cons for client-side work.)

If you _don't_ need (A), then you should seriously question whether you really need a web app.  Rich client applications let you achieve better results with less effort, and there are solutions to the deployment issues.  With ClickOnce in Visual Studio 2005, deployment of rich client apps will become even easier.

More details here: http://homepages.paradise.net.nz/jjrusk/tech/rich_clients.htm

John Rusk
Tuesday, June 15, 2004

> HTML was never ever ever designed to be an application
> platform. Forcing this on it is just wrong. "Web apps" (on the
>  client side) seem to be one patch and a hack after another.

This is such a lame argument. The original microprocessors were never meant to power a whole computer. The original PCs were never designed to replace mainframes and minicomputers.

Matthew Lock
Tuesday, June 15, 2004

*  Recent Topics

*  Fog Creek Home