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 510280
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: I think
by ba1l on Mon 12th Mar 2012 04:01 UTC in reply to "RE[2]: I think"
ba1l
Member since:
2007-09-08

I don't really consider the majority of them asinine. I am sympathetic for the JIT related APIs missing (regarding memory mapping Win32 APIs for which there is no equivalent), but for 99% of the other things, it's not something which can be engineered around.


Not being able to have a JIT (it's technically possible, but applications that do it would fail validation) is, by itself, enough to prevent any modern web browser from being a native Metro application.

That's not even considering everything else. It would require a massive effort to move everything over to WinRT. It wouldn't gain you anything. The new WinRT APIs are still accessible from a hybrid WinRT / Win32 application. The replacement APIs, like networking, don't actually offer any extra features over the existing Win32 APIs.

Besides, the architecture of Windows 8 requires that the Metro web browser be a hybrid application. That's just the way it works. The Metro web browser is determined by whatever the default desktop browser is. That's why, if you install Firefox on Windows 8 and set it as the default browser, the Metro version of IE 10 disappears.

Reply Parent Score: 5

RE[4]: I think
by Nelson on Mon 12th Mar 2012 04:34 in reply to "RE[3]: I think"
Nelson Member since:
2005-11-29


Not being able to have a JIT (it's technically possible, but applications that do it would fail validation) is, by itself, enough to prevent any modern web browser from being a native Metro application.


Then this would have been an acceptable area to push for specific work on. A solution to this has implications beyond a browser, so getting some kind of brokered dynamic code generation API (For example, C# supports compiled Expression Tree's which offer limited dynamic code gen) would be more beneficial in the long run.


That's not even considering everything else. It would require a massive effort to move everything over to WinRT. It wouldn't gain you anything. The new WinRT APIs are still accessible from a hybrid WinRT / Win32 application. The replacement APIs, like networking, don't actually offer any extra features over the existing Win32 APIs.


Being conscious of mobile broadband networks is reason enough to warrant a rewrite. Firefox accommodates different networking subsystems already, and WinRT's async networking API would have been no different.

I think massive is a little overstated, but it'd require *some* effort. That's the entire point of WinRT, to be a clean break. I don't think it's asking for much, considering that the way we interact with these key things has fundamentally changed. The old rules no longer apply. So it's best to be resource conscious.



Besides, the architecture of Windows 8 requires that the Metro web browser be a hybrid application. That's just the way it works. The Metro web browser is determined by whatever the default desktop browser is. That's why, if you install Firefox on Windows 8 and set it as the default browser, the Metro version of IE 10 disappears.


If you were a pure Metro App, it wouldn't much matter which is the default browser because you'd be on the Start Menu regardless.

My point is, there's very little that was in the way of Firefox being a pure Metro Application. The upsides are immense, visibility in the Windows Store could probably go a long way towards Firefox adoption.

Reply Parent Score: 1

RE[5]: I think
by Alfman on Mon 12th Mar 2012 06:14 in reply to "RE[4]: I think"
Alfman Member since:
2011-01-28

Nelson,

Can you point to *specific* code examples so that we might talk meaningful comparisons? I'm not going to believe the new APIs are better just because microsoft claims so; they've gone down this path countless times already. So why exactly are the new incompatible APIs better?

I'm not trying to make an assertion myself, but it seems some of the claims being made here warrant stronger evidence than has been given. Event oriented app models all tend to be reimplementing more of the same ideas, I'm curious to know if there's anything substantially different this time? What's been gained by creating yet another API?

Edited 2012-03-12 06:15 UTC

Reply Parent Score: 6

RE[5]: I think
by dsmogor on Mon 12th Mar 2012 12:50 in reply to "RE[4]: I think"
dsmogor Member since:
2005-09-01

>Then this would have been an acceptable area to push for specific work on. A solution to this has implications beyond a browser, so getting some kind of brokered dynamic code generation API (For example, C# supports compiled Expression Tree's which offer limited dynamic code gen) would be more beneficial in the long run.

This makes you dependent on a specific MS implementation. The quality of dynamic jit engine is a major competitive advantage for particular companies (Moz, Opera, Google, Apple). MS cannot mandate that.

Reply Parent Score: 4