With Nokia’s new strategy in full force, I decided to buy a Windows Phone and attend the MIX conference in Las Vegas. This is a great meeting place for Nokia and Microsoft developers to come together and learn about the developer tools.
Programming the Window’s phone is not a big leap from using Qt and QML. The programming model for Windows phone uses a Declarative XML Language called XAML that uses tags and attributes in the way the QML defines elements and properties. XAML is part of Silverlight and is available on both the phone and desktop. XAML also includes the idea of binding between tags and binding C# classes to XAML tags. XAML includes all of the concepts of QML including models, positioners, views, and delegates, but with different names. For instance, a QML delegate maps into a XAML templated item. Models and views are implemented in XAML and C# using the Silverlight MVVM (model – vew – viewmodel) framework. This is roughly equivalent of using delegate components with different views.
The tools for Windows phone developers include Visual Studio and Expression Blender. Many Qt developers have been using Visual Studio for Qt development so many of us understand the power and flexibility of this tool. Expression Blender is similar to QML Designer and provides the tools to style, manage, and animate declarative elements specified with XAML tags.
The main differences between QML and XAML is that QML includes javascript as an expression language, whereas XAML interfaces with C# to implement expressions. This means that there is usually a one to one mapping between a C# class and a element declared as a tag in XAML.
I plan to provide more indepth information on Windows Phone development in this blog. In particular, I want to focus on developing Apps for both QML and Windows Phone. This will help developers maximize their coverage on both Nokia Symbian and Windows Phones.
A good place to get started with Windows Phone development is the App Hub Getting Started Page .
