For many developers using C# and coming from the modern UI apps on Windows, developing cross-platform UI design with the best usability for Windows, iOS and Android presents an interesting challenge. First, they feel like they are coming to a more ‘traditional’ UI: let’s face it Microsoft team has created some very advanced and neat design concepts with the modern apps: with Modern design language, minimalism, panorama, motion animations and pivot. How do you translate that into iOS and Android?
Luckily, Xamarin team has done a lot of research porting and thinking through many of these ideas. Xamarin Forms are based on XAML and work on iOS, Android and Windows Phone natively. Here’s some interesting ideas to keep in mind building a cross platform app with Xamarin Forms:
Is cross-platform UI achievable and does it work fast and look native? Thanks to Xamarin team’s efforts the answer to this is yes! You can write UI code that will look and feel native with native speeds on iOS, Android and Windows Phone.
Things to remember: Forms markup uses XAML, but Xamarin team chose to use objects from iOS and Android stack. So instead of StackPanel you get StackLayout, TextBlock is Label. Attributes also resemble those of Android AXML: Visibility becomes IsVisible (we actually like that, it eliminates a converter which otherwise needs to be used on each boolean property). Background color property becomes BackgroundColor, Foreground property becomes TextColor, ForegroundColor etc depending on the context. In other words: instead of cut and paste from Windows Phone you need to really update your XAML. Which makes a lot of sense, Xamarin team chose to use Android/iOS UI elements in XAML.
Xamarin also figured out a very smart strategy wrapping native controls, while maximizing code re-use. On the screenshot below, Xamarin Forms maps control renders as a native Android, iOS and Windows Phone map on each platform.
Source: Xamarin: Controls Gallery
This weekend I invite you to my session at Silicon Valley Code Camp 2012:
We’ll discuss Windows 8 Store, monetization and… a bit of a surprise: for the first time I’ll be announcing my book Professional Windows 8 Programming: Application Development with C# and XAML
, written with a great team of authors: Nick Lecrenski, Doug Holland, Allen Sanders, Kevin Ashley. At this session we’ll focus on practical aspects of monetizing Windows 8 apps. I’ll share some code examples, including: in-app purchase, trial unlocking, placing ads in the apps and using trial model to support monetization. We’ll also touch on more advanced topics, and as an author of several apps in Windows Store, I’ll be happy to answer your questions.
Windows 7 sold over 500 million copies in just three years, if Windows 8 does that well this is going to be one of the biggest opportunities our industry has ever seen. Come learn how to get your app into the Windows Store and how to make money. After all, you want to be the first app in the marketplace and have the early mover advantage, don’t you?
SESSION CODE EXAMPLES INCLUDE: Trial, in-app purchases, store simulation.
1:45 on Saturday
12345 El Monte Road
Los Altos Hills, CA 94022
In my previous post we discussed using Expression Blend to create a flipping card animation. Since the Holiday season just started, I’d like to share these games I built, that use this technique. Happy Holidays, have a great holiday season, and for those skiers: Let It Snow!
Continue reading “5 Windows Phone games great for holiday travel”
In this post I’ll show you how to create a card flipping animation for Windows Phone 7, using Expression Blend. The source code is available for download in the attachment. First, I create a Windows Phone 7 project from scratch, using Expression Blend, you can also create a project in Visual Studio, right click on any page and select “Open with Expression Blend…” context menu option. I actually used this technique in real Windows Phone games I built:
Continue reading “Flipping Card animation for Windows Phone 7 using Expression Blend”