Microsoft Adds React Native Code Signing to Visual Studio Mobile Center

While Microsoft provides Xamarin for creating cross-platform mobile apps with C#, and Apache Cordova projects within Visual Studio for JavaScript-based mobile apps, it continues to support competitive technologies in its developer tooling.

For one recent example, new updates to its Visual Studio Mobile Center -- providing back-end services such as data storage, analytics and so on for mobile apps -- include support of code signing for React Native apps.

That capability comes in CodePush, which provides a way to update certain apps directly without going through an app store redeployment. It was just recently added to Visual Studio Mobile Center.

React Native apps, being built with interpreted JavaScript code, are among those apps supported by CodePush. React Native might be seen as a competitor to Microsoft offerings such as Xamarin and Visual Studio's built-in Apache Cordova projects.

Nevertheless, in its new era of openness, Microsoft is continuing to add support for such third-party technologies in its developer tools, adding support for code signing of React Native apps to CodePush right along with Cordova.

Code signing, a new addition to CodePush, was a feature requested by developers, Microsoft said. It enables them to sign application bundles and verify that downloaded bundles haven't been tampered with. It can also be used to validate a developer's identity.

"Trust is everything, and you want to know that the code you shipped is the code you wrote," said Microsoft's Simina Pasat in a blog post earlier this month. "In response to popular demand, CodePush now supports code signing, so you can push digital signatures for bundles to be validated on the client-side prior to installation."

The CodePush Update Lifecycle
[Click on image for larger view.] The CodePush Update Lifecycle (source: Microsoft).

Pasat also detailed several other recent enhancements to Visual Studio Mobile Center, including:

  • Build scripts for the injection of additional logic into builds
  • Ability to export analytics data to Azure Application Insights
  • UI testing support for Android Oreo and iOS 11
  • Better in-app notifications for conveying the availability of new release updates
  • Faster bug-squishing

Build scripts let coders introduce custom build steps at three stages of a build, adding additional logic to supplement the basic build configuration options.

The new ability to store and explore analytics data in the Azure cloud platform's Application Insights -- "an extensible Application Performance Management (APM) service for Web developers on multiple platforms" -- lets developers dig deeper to glean meaningful insights via the Log Analytics tool.

iOS 11 Testing in Action
[Click on image for larger, Animated GIF view.] iOS 11 Testing in Action (source: Microsoft).

The new UI testing support for Android Oreo and iOS 11 -- both recently introduced by Google and Apple respectively -- involves the addition of new devices using the OSes to the Mobile Center Test device centers. Support for the new OSes has also been added to the Mobile Center SDKs. That, Pasat said, provides information about user behavior and can help developers pinpoint the causes of app crashes.

Testing is further improved in Visual Studio Mobile Center by the addition of named device sets, useful for developers who continually test their wares against the same set of devices on every test run. Customized combinations can now be encapsulated in named device sets for repeated test runs.

Developers backing their projects with Visual Studio Mobile Center can also now keep in closer touch with their users via in-app dialogs, which can notify users of available updates. Programmers can also provide notifications via other means, such as Microsoft Teams or Slack, by configuring a webhook. Another customization capability lets devs use Markdown to enhance their release notes, highlighting critical information that can be discovered by quickly scanning the text.

Finally, Pasat discussed new functionality that lets developers more easily fix critical bugs as soon as they're found.

"Once your app is instrumented and tracking events, every crash report links to the events that led to the crash," she said. "This way, you can more easily investigate why a crash happened. Additionally, when your app is crashing and new crash groups are created, you can choose to automatically create a bug in Visual Studio Team Services. We're actively working on supporting more integrations with other bug tracking solutions. If you want to be notified when a new crash group is created, you can also set up a webhook and you will get notifications through your application of choice."

About the Author

David Ramel is an editor and writer for Converge360.