Mozilla Firefox struggle with ‘Windows 8 Metro’ development
You will be able to run Firefox as a desktop application — or you can run it as a Metro application. The problem, however, is the struggle to get Firefox to work in Metro style — though Brian R. Bondy, one of Mozilla’s main developers, says Microsoft’s whitepaper documentation is lacking quite a bit of information in regards to Metro style development.
“To get started we read the MSDN whitepaper entitled Developing a Metro style enabled Desktop Browser. This document lacked quite a bit of information though so a lot of registry hacking was needed to get things working.” says Bondy.
Windows 8 Metro will require tedious coding on the developer end, and due to lacking information “the job gets pretty hard when you do a Google search for topics surrounding this barely supported third Metro application type and consistently get zero, one, or if you are lucky, two search results.” Bondy later said. Firefox for Windows 8 will be using Runtime C++ Template Library and might also use C++/CX languages, too.
Firefox’s user interface will be generated using Microsoft’s DirectX rendering back-end. The other problem, as Bondy pointed out, is that Microsoft’s system requirement for Windows 8 includes DirectX 9 support.
Unlike Metro applications, Metro style enabled desktop browsers have the ability to run outside of the Metro sandbox. Meaning not only can we build a browser, but we can build a powerful browser which gives an experience equal to that of a classic Desktop browser.
Metro style enabled desktop browsers have access to most Win32 API and the entire new WinRT API. Unfortunately a browser can only participate in Metro mode if it is the default browser. So if Firefox is not the default browser on a system, you can’t use it in Metro mode. This is a decision made by Microsoft.
The Firefox Metro enabled desktop browser can be, and will be included and packaged in the traditional way. I’m not certain if it will be allowed on the Windows store or not since it is not of Metro application type.