At the //build/ conference in San Francisco today, Microsoft announced a new development platform for Windows Phone that unifies the developer experience between Windows Store and Windows Phone. This greatly enhances the code-sharing story we presented at Esri Developer Summit in March and makes it even easier to share code.
The ArcGIS Runtime SDK for .NET beta we released last month targets the “Windows Phone Silverlight” platform to build Windows Phone apps. Today we’re announcing the Windows Phone API in the next beta release (currently scheduled for the end of April) will only support Windows Phone 8.1 and target the new Windows Runtime app model to build Windows Phone Store apps using XAML. For our brand new .NET SDK we need to ensure support for the platform Microsoft is promoting now and in the future. The new platform also enables you to share most of your code between Windows Store and Windows Phone apps by utilizing new shared project tooling to build Universal Windows apps. This will significantly reduce the investment required to bring mobile GIS apps to both tablets and phones.
This does mean that apps you have already built for Windows Phone with the current beta will need to be updated to the new platform. To prepare for the upcoming changes we recommend using the Windows Store API in the current .NET SDK to prototype apps. With the next beta release, these apps will more or less compile against the new Windows Phone API with few or no changes (of course the UI should be adjusted for the smaller form factor).
Here’s an example of a very simple universal app that shares all the code and XAML between Windows Store and Windows Phone. Notice there are two sub-projects that handle the two different references, but the App.xaml and SharedMapPage.xaml files are shared:
While this is an app that shares everything, it’s also easy to add code for a specific platform by placing code in the individual folders. That way you can share portions of the app and customize for the different form factors.
In the same way that apps can share logic, so can controls. Here’s an example of all our ArcGIS Runtime .NET Toolkit controls in a universal class library. The only difference is the references. The rest of the code and XAML is shared.
We’re very excited about these new features and think you’ll be as well. I encourage you to download Visual Studio 2013 Update 2 RC when available and check out the new shared project tooling for universal apps, or watch the sessions from Build to learn more. We’re working hard to release the next beta update to support this new functionality and look forward to your feedback.
Lead Developer, ArcGIS Runtime SDK for the Microsoft .NET Framework