Linked by Thom Holwerda on Sun 11th Mar 2012 22:21 UTC
Windows And thus, Microsoft bites itself in its behind with Metro. As you all surely know by now, the Metro environment in Windows 8, and its accompanying applications, need to follow a relatively strict set of rules and regulations, much like, say, applications on iOS. For one type of application, Metro has already proven to be too restrictive and limited: web browsers. Microsoft has had to define a separate application class [.docx] - aside from Metro and desktop applications - just to make third party web browsers possible for Windows 8.
Thread beginning with comment 510404
To view parent comment, click here.
To read all comments associated with this story, please click here.
ba1l
Member since:
2007-09-08

They have hardware acceleration for drawing, url request capability and dynamic language runtime for javascript as well as fast validating xml parser available.


OK, I'll bite.

Hardware acceleration - fine. Networking - fine. Maybe. "Dynamic language runtime"? No.

Sure, you can use Microsoft's JavaScript implementation to write an app, but you can't embed that as a scripting language inside a web browser. The API does not permit it.

There's no way to get any other modern JavaScript interpreter running inside Metro. None. Not possible. Any application that attempted to do this would fail validation, and not be available from the store.

I don't see the relevance of a validating XML parser, either. Modern browsers don't really use XML for anything. Certainly not a validating parser.

I can see the not being able to set as default browser being a minor issue.


In order to integrate properly into the OS (and Metro, like Android, is built around the idea of things integrating), the web browser has to be the default web browser.

In order for a browser to be the default web browser in the Metro environment, it must also be the default web browser in the desktop environment. It must also be a hybrid Win32 / Metro application.

That's just the way Microsoft built the thing. There is simply no other way to build a web browser for this platform. A pure native browser would not integrate into the platform as well as a hybrid browser. It could also never perform nearly as well.

The javascript jit is a much smaller issue than people let on. What makes web applications slow generally is the DOM is a huge tree structure have to walk through everytime page loads and pass to composition manager as well as update all the nodes with css attributes. Then javascript has walk through node and do whatever programmer desires.


No. No part of that description resembles a modern web browser.

The fact that html is generally not xml compliant and parsers have to be a bit sloppy just hurts performance all the more.


Once the page is parsed, it doesn't matter. Once it's converted into an internal representation, it doesn't matter how it got there. It'll be exactly as fast.

XML parsers are not necessarily faster than HTML parsers. I believe they may be slower, because despite the extra error handling, HTML is not nearly as complex as XML.

Besides, the time taken to parse an HTML document is very low, compared to the time taken to fetch it from the network. And you can parse the document while it's downloading, so you don't even need to wait for it to finish.

I have seen these awesome javascript implementations though to be honest I see very little impact on actual web pages, unless it is like a canvas app that is only updating a single dom element. Most web pages are absolute pigs when it comes to resources, even though jquery is tiny the amount of code that actually has to parse and run is quite large they just use very short function and variable names to keep file itself small.


OK... I don't understand what you're trying to say. Are you saying that JavaScript runtime performance is irrelevant because modern web pages contain large amounts of JavaScript?

Basic fact - if you give developers more power, they will use it. You may not have noticed web pages getting faster because of faster JavaScript interpreters. Instead, they've been adding functionality. Modern web applications simply wouldn't be feasible without a modern JavaScript runtime.

It's important. It wasn't five years ago, because there weren't many websites that really pushed JavaScript that hard, but it's important now.

Reply Parent Score: 2