Mobile Is 'Top of Mind' in Visual Studio 2017

Microsoft said mobile app development was "top of mind" as it built the newly released Visual Studio 2017 IDE, which is now chock full of options to create apps for the major platforms using multiple tools and languages.

For example, mobile coders can now use new support for React Native and Xamarin in the Mobile Center component to build and manage native iOS, Android and Windows apps, which are created using JavaScript and C#, respectively. That adds to the existing support of Objective-C, Swift and Java apps.

While Xamarin, acquired by Microsoft last year, can be used to build traditional cross-platform apps with C# that share a lot of code, React Native is a newer technology -- developed and subsequently open sourced by Facebook -- that follows a "learn once, write anywhere" approach with JavaScript. Instead of writing one cross-platform app that can work on iOS and Android, for example, React Native coders can use the same approach and technology to create separate native apps, though some code can often be shared between the two projects.

Hybrid development -- using JavaScript and other Web technologies to create mobile apps that run in native WebViews, for example -- is also available with Apache Cordova tooling. Even C++ coders can get in on the action, creating projects from templates for Android Native-Activity apps, building high-performance shared libraries to include in other projects or bringing existing C++ code to the supported mobile platforms with a minimum of work.

To help keep track of all these mobile dev options, VS 2017, just released yesterday, includes a preview of the new Mobile Center, described by Microsoft as "mission control" for mobile app development.

Mobile Center
[Click on image for larger view.] Mobile Center (source: Microsoft)

Mobile Center automates the mobile app development lifecycle, providing continuous integration, automated testing, distribution and feedback capabilities. It also provides mobile back-end functionality, such as security, data connections, authentication and offline sync, along with crash reporting and analytics.

"Delivering excellent mobile experiences requires going beyond frameworks and IDEs -- developers also need services to continuously build, test, distribute, and monitor their apps so that they can quickly iterate and improve," Microsoft (and former Xamarin) exec Nat Friedman said in a November blog post announcing the preview. "Many teams cobble together a workflow using some of these services from different tools and products. But this is time-consuming and distracts you from your actual mission of delivering a great app.

"This is why we built Mobile Center: a mission control for mobile apps that brings together all the cloud and lifecycle services that help developers deliver high quality apps faster. You can build, test, distribute, and monitor your apps and easily add backend cloud services to scale your app to millions of users on demand."

Ryan P. Salva Introducing Mobile Center
[Click on image for larger view.] Ryan P. Salva Introducing Mobile Center (source: Microsoft)

Another former Xamarin (and now Microsoft) exec, Miguel de Icaza, penned his own blog post yesterday to further elaborate on Xamarin development in VS 2017, while also introducing the Visual Studio for Mac Preview 4.

"Visual Studio for Mac is an IDE for mobile-first, cloud-first workloads with support for building iOS, Android and Mac apps in C# and F# with Xamarin, as well as Web and server apps with .NET Core and ASP.NET Core," de Icaza said. "You’ll find the same Roslyn-powered compiler, IntelliSense code completion, and refactoring experience you would expect from a Visual Studio IDE. And, since Visual Studio for Mac uses the same MSBuild solution and project format as Visual Studio, developers working on Mac and Windows can share projects across Mac and Windows transparently.

"Visual Studio for Mac Preview 4 brings lots of new features, including updates to the Xamarin and .NET Core workloads. Preview 4 brings expanded project templates for .NET Core, as well as support for the beautiful new MSBuild .NET Core project format. The Xamarin workload has been updated to include a new iOS Audio Unit wizard, Android binding project operations, and other mobile tooling improvements. This preview also includes NuGet 4.0 support and tons of other bug fixes and performance improvements."

The Xamarin.Forms Previewer
[Click on image for larger view.] The Xamarin.Forms Previewer (source: Microsoft)

De Icaza also noted enhancements to the Xamarin.Forms Previewer, improved Xamarin.Forms XAML IntelliSense, and new and updated templates. "By just clicking a few buttons, you can bootstrap your next mobile project with a mobile app for iOS, Android and Windows 10 that includes tabbed navigation, MVVM, settings and more," he said. "By clicking 'Host in the cloud,' you can take your mobile project to the next level by provisioning a backend for your mobile app, complete with client-side code for online/offline synchronization and automatic conflict resolution."

While de Icaza touched on the new capabilities for Mac-based development of mobile apps, VS 2017 also has several Android-specific features, including an Android emulator that reportedly improves upon the notoriously slow emulation offerings found elsewhere.

Android devs can also use Microsoft's HockeyApp for crash reports and feedback, and the Azure App Service to build cloud-connected apps that provide back-end functionality such as personalized push notifications, social integration and more.

With its own previous mobile OS efforts foundering, Microsoft is clearly intent on providing dev tools and services to attract coders to use its ecosystem to create apps for its new Windows 10/Universal Windows Platform (UWP) along with unquestioned mobile platform leaders iOS and Android. That's clearly the future, as VS 2017 doesn't support Windows Store 8.1 and 8.0, or Windows Phone 8.1 and 8.0.

Ryan J. Salva, principal program manager, alluded to that future in a video explaining how VS 2017 can help developers deliver mobile apps faster and with greater confidence. "Because the truth is that mobile has happened, and it happened faster than any of us ever expected," Salva said. "It happened two times faster than the Internet boom of the '90s, three times faster than the social media craze that consumed the entire world it seems like over the last couple years, and a full 10 times faster than the PC boom of the '80s. So it's here and it's big, and it's really confusing sometimes -- and it's really hard."

About the Author

David Ramel is an editor and writer for Converge360.