Application Lifecycle Management (ALM) with Apache Cordova Apps

Developing apps for modern platforms involves many more activities than just writing code. DevOps (a combination of Development and Operations) recognizes a variety of activities across an app’s complete lifecycle. These include Agile planning and tracking work, architecture, designing and implementing code, managing a source code repositories, running builds, managing continuous integration and deployment tasks, testing (including unit tests, UI, and performance tests), running various forms of diagnostics in both development and production environments, and monitoring app performance and user behaviors in real time through telemetry and analytics.

Visual Studio and Visual Studio Team Services (VSTS) provide a variety of DevOps capabilities (also referred to as application lifecycle management or ALM) for development organizations, a number of which are applicable to Cordova apps. Tools that are designed for .NET languages like C#, however, do not apply to JavaScript code. Other tools require tight integration with build and runtime environments. Because Cordova apps on Windows run as native apps, you’re able to use a variety of Visual Studio’s diagnostic tools such as performance profilers that are not available for non-Windows platforms.

The table below identifies the Visual Studio ALM features you can utilize with an Apache Cordova project, and which ones have limitations. Refer to the linked documentation for details on the features themselves.

Area

Feature

Supported with Apache Cordova

Comments

Agile tools
(using Visual Studio Team Services, including Team Explorer Everywhere)

Manage backlogs and Sprints

Yes

All planning and tracking features are independent of project type and coding languages.

Work Tracking

Yes

Teamroom Collaboration

Yes

Kanban Boards

Yes

Report and Visualize Progress

Yes

Analyze and model your architecture

Sequence Diagrams

No

Most design features rely on .NET and languages like C# and do not work with HTML, CSS, and JavaScript. See Modeling Diagram Tools for what aspects are related to code.

Dependency Graphs

No

Call Hierarchy

No

Class Designer

No

Architecture Explorer

No

UML Diagrams (use case, activity, class, component, sequence, and DSL)

Yes

Layer Diagrams

No

Layer Validation

No

Code

Use Team Foundation Version Control

Yes

 

Getting started with Git in Team Services

Yes

 

Code Analysis (references, suggested changes, etc.)

No

One exception is the Go To Definition command that works with JavaScript.

Find code changes and other history with CodeLens

No

Not supported for JavaScript.

Use code maps to debug your applications

No

Not supported for JavaScript.

Build the application

On-premises VSTS server

Yes

Android, Windows, WP8, can be built on a Windows build server while a Mac can be used as a build server for iOS. See Build Apache Cordova Apps

On-premises build server linked to Visual Studio Team Services

Yes

See Build Apache Cordova Apps for instructions.

Hosted controller service of Visual Studio Team Services

Yes

See Build Apache Cordova Apps.

On-premises Jenkins CI or other build server

Yes

See Using Tools for Apache Cordova with the Jenkins CI System for instructions.

Build definitions with pre- and post-scripts

Yes

 

Continuous integration including gated check-ins

Yes

For VSTS, select "Continous Integration" under the "Triggers" tab of our Build Definition. See Build Apache Cordova Apps.

Testing the application

Planning tests, creating test cases and organizing test suites

Yes

 

Manual testing

Yes

 

Test Manager (record and playback tests)

Windows devices and Android emulators only

 

Code coverage

No

 

Unit tests

Yes, with third-party frameworks

See Author and run tests.

Use UI Automation To Test Your Code

Windows only

Diagnose

Analyzing Managed Code Quality by Using Code Analysis

No

These tools all rely on .NET code and do not presently work with JavaScript.

Finding Duplicate Code by using Code Clone Detection

No

Measuring Complexity and Maintainability of Managed Code

No

Using Profiling Tools (includes CPU Usage, Energy Consumption, GPU Usage, HTML UI Responsiveness, and JavaScript Memory, and Memory Usage)

Windows only

On Windows, Cordova apps run as native Windows apps so all tools are available. These tools are not available when running the app on other platforms.

Automate deployments with Release Management

Manage release processes

Yes

Deployment to servers for side-loading via scripts

Yes

Upload to app store

Partial

See Package your Cordova app. Also note that extensions are available that can automate this process for some app stores. See Extensions for Visual Studio Team Services, especially the extension for Google Play.

Monitor with HockeyApp

Crash analytics, telemetry, and beta distribution

Yes