Can Mozilla Build A Better Web App?Can Mozilla Build A Better Web App?
A Web application is only as good as its delivery platform. Unfortunately, the two most popular choices, Internet Explorer and Mozilla Firefox, aren't very good at delivering Web applications.
A Web application is only as good as its delivery platform. Unfortunately, the two most popular choices, Internet Explorer and Mozilla Firefox, aren't very good at delivering Web applications.If you're a Web application developer with a sound product and big dreams, you have two ways to work around this problem. Since one of these involves buying Google, let's focus on the other one: Firefox 3.
Firefox 3 has been a long time coming; the first alpha pre-release appeared well over a year ago, and development work on the project dates back nearly two years. The fifth and most recent FF3 beta appeared in early April; like any software beta release, it still has a few rough edges, including a handful of must-fix bugs and a spotty third-party extension support. Mozilla is making steady progress, however, and I wouldn't be surprised to see a FF3 release candidate before the end of May.
The list of improvements in Firefox 3 is long, varied, and very impressive. Some of them, such as the combined bookmarks/history manager, are obvious right away. Others, like the hundreds of bug fixes and new features designed to improve how Firefox manages its memory usage, are less obvious but equally important.
You have to dig still deeper, however, to see why Firefox 3 could turn Web apps from something you read about into something your company actually uses. In particular, you have to look at another bit of Mozilla software called Gecko.
Gecko is the Firefox page-layout engine; it turns HTML, style sheets, scripts, and various other Web-page components into usable, formatted content. Every Web browser is built around similar software; Microsoft Explorer, for example, uses a rendering engine called Trident..
A major update to Gecko was slated to ship with Firefox 2, but Mozilla eventually postponed Gecko 1.9 when it fell behind schedule. It was probably a wise decision: When the new version of Gecko ships with Firefox 3, it will include more features, fewer bugs, and a more robust foundation for future development work than anything Mozilla might have been able to rush out the door with Firefox 2.
Some of the new features in Gecko will have a noticeable, and very favorable, impact on your Firefox experience. This is especially true of pages with dynamic or interactive content; a site like gmail, for example, will feel faster and more responsive thanks to the improvements in Gecko 1.9.
This is great news for Web application developers, and there's more on the way. I'll focus here on why some of the new features built into Gecko are important, rather than trying (and probably failing) to describe how they work:
Language-agnostic DOM. The Document Object Model is a standard framework for applying a scripting language to content on a Web page. In theory, the DOM doesn't care which language you use. In practice, however, Firefox (and most other browsers) allow developers to use any language they want -- as long as that language happens to be Javascript. Mozilla wants to invite more developers to the Web-apps party by making it just as easy to use Python or Perl as it is to use Javascript.
There's a drawback to doing this: "APAX" doesn't sound nearly as catchy as "AJAX." That's the price we pay for progress.
Reflow factoring. (No, I didn't just make up that term.) Web sites, and especially Web applications, are a moving target; when one element on a page changes, it can affect the layout and positioning of others. As Web content gets more complex and dynamic, so does the task of handling these incremental layout changes. Gecko 1.9 takes a new approach to incremental layout that will make many Web applications feel faster and more responsive, and it will probably also mean fewer bugs in future Gecko releases..
Offline application support. Most Web applications don't work offline. Those that do rarely work very well, and those that work well rarely do anything useful. (Google Docs is an exception to this rule, but not a very helpful one.) Firefox 3/Gecko 1.9 will address this problem with new features such as support for persistent data storage; the ability to track and provide the resources a Web application will need in offline mode; and the ability to move seamlessly between online and offline mode.
In other words, Firefox 3 could allow Web applications to evolve from something people talk about into something they actually use. That may not sound like much, but it's a huge improvement over where things stand today.
About the Author
You May Also Like