The classic game Canabalt was originally a Flash game, but it was successful enough that it ended up being ported to the iPhone (Apple’s App Store). The iOS game was open-sourced on GitHub, and now it’s being used to showcase Microsoft’s tools for porting iOS code to the Windows Universal Platform (UWP).
David Burela is a developer for SSW, but he also happens to be a Microsoft MVP for Windows Azure. That means Burela is not employed by Microsoft, but he’s certainly interested and knows about some of the company’s technology.
MVP or not, Burela doesn’t do anything special in his video, as it is quite a simple game to port:
At its Build 2015 developer conference in April, Microsoft unveiled four new Windows Store app types: Web, desktop, Android, and iOS. The pitch was simple: Developers would be able to reuse their web code, Windows desktop applications (.NET code), Android apps (Java and C++), and iOS apps (Objective C) to build universal apps that work across all types of Windows devices.
Each of these tools is at a different point in development (for example, the Android one is rumored to be all but discontinued). Microsoft open-sourced the Windows Bridge for iOS (previously called Project Islandwood) in August, but it’s still only available as an early preview: dev.windows.com/bridges/iOS states the latest version is 0.1 Preview.
Most iOS apps and games will not be anywhere as easy to port using Microsoft’s tools. The bridge will do some of the initial work, but developers will still have to invest time and effort to rewrite iOS-specific code that doesn’t have equivalents on Windows 10. Indeed, the fact that this game wasn’t originally for iOS means it doesn’t leverage any features that are specific to Apple’s mobile platform.
To solve some of this, Microsoft plans to launch a web tool that will automatically analyze your iOS app for compatibility with the bridge. The hope is that you’ll be able to gauge how much actual work is required to bring your app to Windows 10, plus get “suggestions, tips and workarounds for any libraries you’re using that the bridge doesn’t support yet.”