MozillaZine

Weekend Discussion

Friday March 24th, 2000

Time for another weekend discussion. The question this weekend:

What do you feel is an appropriate level of integration between a browser and an Operating System? And at the other end of the spectrum, what are your feelings about Mozilla's cross-platform approach?


#61 The browser engine is a service...

by Quelish

Monday March 27th, 2000 10:02 AM

You are replying to this message

From experience with n-tier application development, I believe that there should be clear and clean distinctions between the OS and the browser.

The OS has the sole reponsibility of managing the system's resources and making them available in an easy to use manner. The GUI is simply an interface to the OS that, if one ever desired, could be swapped for another GUI (eg. LiteStep). The OS should have a standard interface that any GUI can use therefore swapping GUI's isn't going to break anything.

The browser engine provides a service: rendering pages. The browser GUI uses this service much in the same way that the OS's GUI uses the OS. And in just the same way you should be able to swap about the browser's GUI without breaking anything.

Now, if the OS's GUI happens to use both the OS and the browser engine to display files, folders, web pages, or whatever, then that's perfectly fine. But the OS and the browser are two different services. The browser's engine might even use the OS's services to do it's job -- But they are not the same!! And just like you should be able to swap out the OS's GUI, you should be able to swap out the browser engine and still maintain compatability.

The idea here is that each level has a standard interface. So long as each level above it uses that interface you should be able to swap things out without breaking applications.

From an architectural standpoint, this makes sense. You separate the layers, standardize the interface, and then you're home free. Bit now back to the REAL world of how applications are being written today...