When Microsoft announced its latest version of Windows last September, there was some uproar among developers. Windows 8 is an answer to the rise of smartphones and tablet PCs.
The new Metro UI supports small screens, multi-touch and ARM-based CPUs. But Windows 8 also raises some questions for developers, because the programming tools for Metro are not the same as those for classic windows clients.
Metro vs. Retro
Windows 8 is some kind of a hybrid system. It has two major operating modes: Metro and the classic desktop.
In Metro mode there are no windows. Applications always run full screen. There’s only some kind of split screen mode to display a second application on a narrow strip either on the left- or right-hand side. The new Metro applications follow the smartphone/tablet model. These “apps” will be sold via the new Windows Store, an online marketplace for buying, selling and advertising applications. Metro apps are designed for touchscreen input in addition to mouse and keyboard.
For classic desktop applications nothing changes. Everything that runs on Windows 7 runs on Windows 8 desktop mode. Desktop applications for Windows 8 can be developed using .NET, Delphi, Java or any other existing development environment for Windows
Implications for developers
The amount of work for porting an existing desktop application to Metro depends on the technology used for the source application.
- If you have existing UI code from a .NET WinForms project or an application built using Java, MCF, Delphi or VB6, you’ll have to completely rewrite your application for Metro.
- There is a good chance to reuse UI-code for Metro from an existing Silverlight or WPF desktop application. Metro XAML looks a lot like Silverlight, but you’ll have to adapt your code for the new Metro XAML flavor.
- The Metro web browser doesn’t support plugins like Flash and Silverlight, although they still run on the web browser of the desktop mode. Source code for Silverlight web applications can partially be reused in Metro XAML whereas there’s no migration path for Flash/Flex.
Conclusion: Currently it is hard to decide which of the options will provide the best balance between future-proofing and productivity. There are many factors to consider like target audience, complexity of the domain, existing code-base and knowledge-base of the developers. The good news: For any path you can integrate PTV xServer.
PTV xServer @Win8 in action
We’ve tested the Windows 8 developer preview in combination with PTV xServer and ran through several scenarios from heavy-duty desktop applications to light-weight Metro apps. Here are some screenshots.
Scenario 1 –
Windows Client Application
PTV SmarTour, an PTV xServer based desktop application, running in Metro split-screen mode
Scenario 2 –
map&guide internet, a plugin-free web application, running chromeless, i.e. inside the Metro browser without any frame
Scenario 3 –
Native Metro App
PTV xMap Server embedded in an HTML5 based Metro app
(This post was provided by Frank Gailfuß and Oliver Heilig. Thank you so much!)