What it means to develop Metro Applications for Windows 8
I have been coming across a lot of confusion regarding development of Windows 8 Metro style application. Will try to clear out some of the confusion in the air.
What is Metro about it?
Metro Applications follow the design principles of Metro like content before chrome, focus on typography, fast and fluid, alive in motion etc. Focus of metro application is on the content that needs to be displayed .Hence all menus, taskbar and other unnecessary controls have moved to the app bar or charms . Charms can be considered to be a system level menu that is used to perform common applications like Search\Share etc. across Metro Applications. There is a lot of emphasis on fonts, scale and weight in the Metro design. Microsoft has come up with Seago UI font for developing Metro applications. Metro UI relies on usage of tiles that are alive with notifications and animations. New controls provided with XAML and WinJS are already designed according to the Metro design principles. Hence when you use Expression Blend\Visual Studio 2011 etc. and use the controls as per the technologies selected(XAML\HTML), your application gets a Metro look automatically.
Windows 8 Metro applications are locally deployed applications. Hence these applications do not access any web server. The architecture for Windows 8 has changed and there is an additional WinRT layer that sits between the Windows Core OS services and the Metro style apps. Unlike conventional apps, metro apps are not targeted to win32\IE or .Net\Silverlight. Rather they talk to WinRT APIs. Hence an existing browser based HTML5 application will not run as is on a Windows 8 machine.
Where is Metro App rendered?
Metro Apps are rendered using IE10 rendering engine. However, the Addressbar and other 'chrome' are not visible to the users. Although they are rendered on a web platform, they are different from web applications as they interact with WinRT APIs
What are the technology choices available to create Metro Applications on Windows 8?
Why don't I have a close button for my Metro Apps?
The lifecycle of Metro apps is managed by the system. Users may want to return to a recently opened application and for users who are on the go, the delay of opening up the application from scratch might be unacceptable. Hence the application goes to the suspended state from where they can be resumed instantaneously. The applications also run the risk of being terminated when the system is under memory pressure and hence it is a good practice to keep saving state intermittently. For more details, you can referhttp://www.infosysblogs.com/microsoft/2012/01/understanding_lifecycle_of_win.html.
Can I develop non metro applications for Windows8?
Windows8 can run in metro and desktop mode. In the desktop mode, the environment is similar to the conventional Windows 7 environment(though there are some enhancements). Hence all existing apps continue to run in the desktop mode.You can have run WPF and Silverlight based applications in this mode. In Metro mode only metro applications can run.