Uellue's Blog

Another layer of abstraction

Apparently Microsoft wants people to write applications for Windows 8 in HTML and JavaScript. And many people like that idea. Now I am wondering how that makes sense. I already don't understand why Android, for example, uses Java instead of native code for applications, because especially on smartphones it would be important to get as much as possible out of the scarce hardware resources, right?

Well, I am using Python instead of C++ for my own applications, although they really need a lot of computing power. I believe it makes sense because I am using Python mainly to glue together a bunch of different libraries which are often written in a compiled language, so that the really speed-sensitive parts run as native code, like drawing the UI and doing hardcore math. Having less headache during development and more compact code does hopefully compensate for the speed penalty of the program, but only because I am the only user of it so that the development time has the same weight as the waiting time when using the program.

But how does that figure for applications used by many users, like for example text processing? MS Office and LibreOffice feel quite sluggish to me, especially when loading huge documents with big images. Is that because of I/O or because of processor cycles being used inside the program? What about PDF readers and the like? One should see how much processor cycles are actually used by, say, a mail client compared to an AJAX webmail interface running in a browser. Maybe it even makes sense to write a text processor in HTML + JavaScript, because browsers are pretty good at drawing text, images and lately vector graphics on the screen, so perhaps even UI libraries like QT, GTK and the likes are kind of obsolete.

What do you think? Do browsers make a fair runtime environment for desktop applications or even more specialized software?


Comments

No comments yet.

Add a comment

Please leave these fields blank:

No HTML please.


You can edit this comment until 30 minutes after posting.