> I've often wondered why OS's just don't host browser render engines internally and draw their UI with that.
CSS is, by far, not a good way to try and do UIs. It sort of works, and it is getting better, but it started out with lots of legacy cruft and things have only gotten worse.
One can make any sort of layout imaginable in any of the modern UI frameworks within a few hours.
Want 3 columns boxes at a precise position in CSS? Well thankfully the latest version of the spec has support for that, but up until very recently....
But for code running on the platform, you can take any 1st year CS student who has passed a class or two and have them put that sort of app together in Swing. WPF is a bit more work due to the data binding magic, ignoring that the layout stuff is also incredibly easy!
On the web, getting data is the easy part, making the UI is the hard part. On the PC, getting the data is the hard part, putting the UI together is easy!
Compare the richness of apps even on mobile phones to what you get in the browser. Sure if you hire top notch web developers who have been studying web development for 3+ years you can get something that is just like an app, but holy crap.
I agree with this, despite that as a web developer I have written most interfaces in my life in CSS.
I did, however, have brief exposure to various native toolkits in Java and would love to see a proper constrained-based scene graph in the browser.
Im workong on having a plugin built that will give us the flexibility of constraint-based control in CSS but in a way that makes more sense to the CSS way of doing things.
CSS is, by far, not a good way to try and do UIs. It sort of works, and it is getting better, but it started out with lots of legacy cruft and things have only gotten worse.
One can make any sort of layout imaginable in any of the modern UI frameworks within a few hours.
Want 3 columns boxes at a precise position in CSS? Well thankfully the latest version of the spec has support for that, but up until very recently....
But for code running on the platform, you can take any 1st year CS student who has passed a class or two and have them put that sort of app together in Swing. WPF is a bit more work due to the data binding magic, ignoring that the layout stuff is also incredibly easy!
On the web, getting data is the easy part, making the UI is the hard part. On the PC, getting the data is the hard part, putting the UI together is easy!
Compare the richness of apps even on mobile phones to what you get in the browser. Sure if you hire top notch web developers who have been studying web development for 3+ years you can get something that is just like an app, but holy crap.
tl;dr HTML+CSS is the Win32 of layout engines.