In this blog post, Application Development Managers, Derrick Sharpe and Justin Wendlandt, highlight the many options to maximize development productivity across a range of mobile platforms, including Windows 10, Windows Phone, iOS, Android, and more.
There are multiple initiatives at Microsoft to help enable developers move code from one platform to another. One project is called Project Islandwood. The goal of this project is to enable Windows 10 Mobile to become a Windows Bridge for IOS compiled applications https://dev.windows.com/en-us/bridges/ios . The tooling from this project will allow you to import your Xcode/Objective-C project into Visual Studio and recompile it to become a native Windows Store app for Windows 10 Mobile. Currently, Candy Crush Saga is a high profile game on the Windows Phone Store that was done this way (http://arstechnica.com/gaming/2015/05/humanity-weeps-as-candy-crush-saga-comes-pre-installed-with-windows-10/).
If your company is entirely on the Microsoft ecosystem, then the Universal Windows Platform (UWP) will assist greatly in bringing your Windows Store Apps and Windows Phone Apps on other devices such as the XBox or Surface Hub. No longer will we need 3 separate stores (Windows, Phone and Xbox). There will be one unified store where apps will run on every Microsoft platform. Writing one app will allow you to target the ever expanding ecosystem of Windows 10 on whatever device it will run on.
There are 2 other bridge programs that will assist with migrating your current applications to UWP. Windows Bridge for WP Silverlight will be providing guidance and migration toolkits to help Windows Phone Silverlight developers update their Windows Phone apps to take advantage of the Universal Windows Platform. "Project Centennial" toolkit will enable desktop developers to package and publish their existing .NET and Win32-based Windows applications to the Windows Store. Developers can also use Centennial to call common UWP APIs and services.
Enabling developers to bring and re-use some of their existing code to Windows 10 is part of our longer-term vision for developers, where we want to make Windows the best development platform regardless of technologies used. We recently announced that we were purchasing Xamarin. With Xamarin, UWP developers will now be able to use a large percentage of their C# code to deliver a fully native mobile app experience for iOS and Android. Xamarin’s approach enables developers to take advantage of the productivity and power of .NET to develop mobile apps, and to use C# to write to the full set of native APIs and mobile capabilities provided by each platform.
We also have Cordova if you want to create a cross-platform application. VS fully supports the Cordova experience and has the ability to run an Android emulator to debug your app. If the HTML5/Cordova environment doesn’t give you the performance that you need then you can always look to our partner Xamarin to leverage your C# skills to develop cross-platform applications that are native.
On the server / hosted side of the mobile world, Microsoft has enabled several services to enable your teams to build awesome connected mobile experiences. We have client libraries to support mobile app development on various devices, including Windows 8, Windows Phone 8, Android, iPhone, and iPad. We have services and integration points to provide simple provisioning and management of tables for storing app data, Integration with notification services to deliver push notifications to your app, integration with well-known identity providers for authentication, supports the ability to scale a mobile service instance and service monitoring and logging. Microsoft Azure enables teams to build mobile connected experiences without having to manage a complex / high scale infrastructure.