
The classic game Canabalt was originally a Flash game, however, 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, however, he also happens to be a Microsoft MVP for Windows Azure. That means Burela is not employed by Microsoft, however, heβs certainly interested and knows about some of the companyβs technologies.
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 are at different points in development (for example, the Android one is rumored to be all however, discontinued). Microsoft open-sourced the Windows Bridge for iOS (previously called Project Islandwood) in August, however, 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 with Microsoftβs tools. The bridge will do some of the initial work, however, 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 this isnβt originally a game 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.β