The Microsoft World: Metro-Style Programming
Windows 8 has introduced a new approach to using the Windows Operating System – the Metro interface.
The Metro interface handles the increasingly popular touch-sensitive devices – Tablets, Smartphones and touch-screen desktops.
The older Windows Operating System interface is still available through the Windows 8 Desktop option.
The Metro interface differs from the Windows 7 interface:
- Windows Explorer and the folder-based structure is not available
- The user can only run one application at a time
- The screen is optimised for touch-sensitive devices
- Applications are represented by Tiles with an embedded image
- The search engine looks through settings, apps, content and cloud files via SkyDrive
The Metro interface is ideal for simple selection by finger, through a series of menus. If there is no keyboard, input of alphanumeric characters is done through touch-sensitive Tiles.
The Metro Interface and XAML
The Extensible Application Markup Language (XAML) is an XML-based language developed by Microsoft. Instead of using the Web standards of HTML5 and CSS3, XAML is used extensively in the .NET Framework technology for Windows 8 Metro apps.
XAML is also used in Windows Phone apps, Windows Store apps, WPF and Silverlight – it is prevalent in Microsoft Graphical User Interface (GUI) technology.
The many benefits of using XAML
- XAML files can be created and edited with Visual Basic.NET.
- XAML has wide platform adoption.
- XAML fields are persistent and maintain state – so they preserve value between requests.
- XAML is vector-based – so has the ability to scale to any size and resolution. Changing the size of an image will always result in a clear and sharp result. This is necessary for display on different width devices.
- XAML with Visual Basic has debugging, IntelliSense and code analysis.
- XAML applications always look the same in all browsers – unlike HTML and CSS.
The many problems with using XAML
- The learning curve is really, really steep
- XAML Debugging is primitive
- XAML and its tooling is immature
- HTML and CSS are better known and easier to use than XAML
- XAML is too all-embracing – making it hard to maintain
Metro-Style Programming: Conclusions
When programming Apps for Smartphones and Tablets, the Options are:
- Bite the bullet and create apps with XAML
- Create Web pages using ASP.Net and Visual Basic
It is unlikely that the Microsoft centric XAML Option will be often chosen, with the popularity of the other choices.
Note that Windows Forms cannot be used to create Apps for the Metro Interface.