the state of hybrid app development

41
THE STATE OF HYBRID APPS RYAN J. SALVA MICROSOFT @ryanjsalva

Upload: cordova

Post on 13-Apr-2017

1.302 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: The State of Hybrid App Development

THE STATE OF HYBRID APPSRYAN J. SALVA

MICROSOFT

@ryanjsalva

Page 2: The State of Hybrid App Development

Innovators Early Adopters Early Majority Late Majority Laggards

Diffusion of innovations is a theory that seeks to explain how, why, and at what rate new ideas and technology spread through cultures.

Everett Rogers Scholar, Sociologist, Author…and all around swell guy

Page 3: The State of Hybrid App Development

Innovators Early Adopters Early Majority Late Majority Laggards

Consumer Apps

Late majority market

Revenue through the app store

Top priority: Premium UX

Business Apps

Very early majority market

Mobile apps are a cost center

Deployed to private stores

Top priority: Time-to-market

Page 4: The State of Hybrid App Development

Build B2E, B2B and/or B2C

CxO

Enterprise Architect

Stakeholders

Developers

Solution Architects

Dev. Leads

IT Manager

Dev. Manager

I’m interested in a (E2E) mobile app

strategy

I want lower costs, everyone wants to

keep costs down

We were targeting iOS, but now we need

Android, Windows and…

Security is critical

I have backend data and enterprise

systems to integrate

App analytics is important

Time-to-market, UX or performance is

most important

I tried cross-platform 6+ months ago, but

had mixed results

Hiring good iOS developers is expensive

Platform-specific teams make it difficult

to coordinate features and schedule

releases

Re-training is costly. Hiring new people is

even more costly.

Testing is complex and time consuming –

especially Android.

Macs in the enterprise are an IT

challenge (build, cost, admin)

After 400+ interviews, here’s what we’re hearing…

Page 5: The State of Hybrid App Development

The most common path

Step 1

Pilot AppMost organizations begin with a pilot app either outsourced to an agency or adapted from a web app.

Pilot App

Page 6: The State of Hybrid App Development

The most common path

Step 2

Bring it in-houseNext, IT departments bring a single platform (usually iOS or Android) in-house.

In-house

Step 1

Pilot App

Page 7: The State of Hybrid App Development

The most common path

Step 2

In-house

Step 3

Add a platformA single platform is rarely enough. That’s when code sharing starts to become a top priority.

Add a Platform

Step 1

Pilot App

Page 8: The State of Hybrid App Development

The most common path

Step 2

In-house

Step 3

Add a Platform

Step 1

Pilot App

Dev Ops

Dev OpsMature IT departments start to integrate dev ops workflows similar to those found in web today.

Page 9: The State of Hybrid App Development

Magic QuadrantLEADERSCHALLENGERS

VISIONARIESNICHE PLAYERS

Microsoft

Mendix

Globe

MicroStrategy

Embarcadero

Zebra

Oracle

DSI

Backbase

Appcelerator

Xamarin

Telerik

Pegasystems

Kony

IBM

Adobe

SAPSalesForce

Appian

Co

mp

lete

ne

ss

of

Vis

ion

Ability to Execute

Ability to Execute• Product or Service

• Overall Viability

• Sales Execution/Pricing

• Market Responsiveness/Record

• Marketing Execution

• Customer Experience

• Operations

Completeness of Vision• Market Understanding

• Marketing Strategy

• Sales Strategy

• Offering (Product) Strategy

• Business Model

• Vertical/Industry Strategy

• Innovation

• Geographic Strategy

Page 10: The State of Hybrid App Development

Magic QuadrantLEADERSCHALLENGERS

VISIONARIESNICHE PLAYERS

Microsoft

Globe

Oracle

Telerik

Kony

IBM

Adobe

SAPSalesForce

Co

mp

lete

ne

ss

of

Vis

ion

Ability to Execute

9 of 20 are hybrid solutions• Speed-to-Market

• Re-use of existing skills, assets, processes

• Nearly 100% shared code

• Strong ecosystem

• Mature tools

• Updates without re-submitting to stores

Page 11: The State of Hybrid App Development

2X the Nearest Competitor

61%

35%

31%

18%

15%

13%

12%

9%

4%

3%

0% 10% 20% 30% 40% 50% 60% 70%

PhoneGap/Cordova

Xamarin

Unity

Qt

Adobe Air

Appcelerator

Corona

Marmelade

Codename One

Live Code

Using this tool Prioritize this tool

Vision Mobile Analysis of Cross-Platform Development, July 2015

Page 12: The State of Hybrid App Development

Untappd

Page 13: The State of Hybrid App Development

WeChat

Page 14: The State of Hybrid App Development

Zynga Mob Wars

Page 15: The State of Hybrid App Development

Swork It

Page 16: The State of Hybrid App Development

Instagram

Page 17: The State of Hybrid App Development

Feedly

Page 18: The State of Hybrid App Development

Uber

Page 19: The State of Hybrid App Development

AT&T

Page 20: The State of Hybrid App Development

Apple App &Book Stores

Page 21: The State of Hybrid App Development

So… yeah. It’s working for some people.

Page 22: The State of Hybrid App Development

What’s your top frustration?

“Documentation is not comprehensive.”

“Documentation stays out-of-date.”

“Non-core plugins feel like hobby projects –not maintained well.”

“There’s no single authoritative source for documentation. Do I go to PhoneGap,

Cordova… somewhere else?”

“Writing a plugin is not well-documented.”

“When I built the before-mentioned carrier plugin, I want through hell. NOTHING in the documentation

worked. And yes, I chose the doc version that matched at the time my Cordova CLI.”

“Every minor version bump fucks something up.”

“Cordova just seem unstable to me. EVERYTIME I install or remove a plugin I actually make 2 or 3 folder backups (since the platforms and plugins

dirs are always on gitignore).”

Sourced from 300+ survey responses, 12 interviews, email feedback

Page 23: The State of Hybrid App Development

Who’s contributing to the ecosystem?

+100s of independent contributors

Page 24: The State of Hybrid App Development

Who’s contributing to the platform?

0

200

400

600

800

1000

1200

1400

1600

Cordova lib Android ios windows plugins

Commits by Feature Area

MS Google Adobe Other

0

50

100

150

200

250

January February March April May June

Commits Over Time

Microsoft Adobe Google Other

Page 25: The State of Hybrid App Development

A global audience

Country %

India 14.21%

United States 12.57%

Brazil 5.34%

China 4.73%

France 4.52%

Germany 4.3%

Italy 3.74%

United Kingdom 3.43%

Spain 2.87%

Canada 2.38%

Google Analytics for Apache Cordova, October 2015

Page 26: The State of Hybrid App Development

Cordova user base is growing…

Nov-13 Feb-14 May-14 Aug-14 Nov-14 Feb-15 May-15 Aug-15

Cordova CLI monthly download count

Sourced from NPM stats, Google Analytics

Page 27: The State of Hybrid App Development

Nearly 200% growth in three years

0% 10% 20% 30% 40% 50% 60% 70%

PhoneGap/Cordova

Xamarin

Unity

Qt

Adobe Air

Appcelerator

Corona

Marmelade

Codename One

Live Code

2012 2015

Vision Mobile Analysis of Cross-Platform Development, July 2015

Page 28: The State of Hybrid App Development

State of the PlatformSourced from 300+ survey responses, 12 interviews, email feedback

Page 29: The State of Hybrid App Development

What technology do you use?Sourced from 300+ survey responses

Page 30: The State of Hybrid App Development

5✰ to 1✰ App Ratio

2.8

3.5 3.5 3.7 3.84.1 4.2

5

5.8

0

1

2

3

4

5

6

7

jQT jQueryMobile

Knockout jQuery Angular Dojo Ionic Zepto.js Backbone

Vision Mobile Analysis of Cross-Platform Development, July 2015

Page 31: The State of Hybrid App Development

Cordova Summit in Redmond

Attended by Adobe, Meteor, Monaca, IBM, Intel, SalesForce & many remotely

Page 32: The State of Hybrid App Development

Cordova Roadmap

• Documentation and on-boardingNew website & docs launched late September

• Driving quality into the plugin ecosystemBig push to triage and resolve backlog of bugs; normalizing quirks for core plugins

• Unified versioning to assist with stabilityDev Kits released through the Tools for Apache Cordova (http://taco.tools)

• Support for Immerging Native APIsDay Zero Window 10 support; Android Marshmallow support in Nov.; iOS9 support Dec.

Page 33: The State of Hybrid App Development

Web Apps Native Apps

Breadth of Devices Rich Experiences

Pinned Sites

ManifoldJS

Apache Cordova and it’s downstreams

TabrisJS

Ionic

Titanium

NativeScript

Xamarin

ReactNative

WEBVIEW

Transpilers

Full access to device capabilities

Native performance

Highly customized per device

Arbitrated access to device capabilities

Web performance

Maximum code sharing

Page 34: The State of Hybrid App Development

Thank you.@ryanjsalva

Visual Studio Tools for Apache Cordova

Page 35: The State of Hybrid App Development

Back-up Slides

Page 36: The State of Hybrid App Development

References

• Vision Mobile Cross-Platform Tools 2015• Survey of 1,664 developers from 143 countries.

• Supplemented by an analysis of over 180,000 apps from Google Play, examining the JavaScript libraries and frameworks they use within Cordova.

• Gartner Magic Quadrant: Mobile Application Development Platforms

• Microsoft Independent Research• Interviews with 400+ developers

Page 37: The State of Hybrid App Development

What’s good?

“Ohmygod I'm a front-end dev doing mobile apps!!”

“Great community”

“Easy to get started”

“I love it because it is a cross platform tool”

Sourced from 300+ survey responses, 12 interviews, email feedback

Page 38: The State of Hybrid App Development

What can be improved?

“After upgrading Cordova, my APK app cannot access

the internet...”

“When I try to upgrade already released apps,

generally they do not run due to breaking changes.”

“Brittle” – Multiple components version independently – finding the magic combination that works is difficult.

The idea behind cordova is awesome, but it is still (strangely) a very inconsistent and imature

platform that makes me shit my paints everytime I do any kind of update with it.

Sourced from 300+ survey responses, 12 interviews, email feedback

Page 39: The State of Hybrid App Development

THE STATE OF HYBRID APPSRYAN SALVA

Page 40: The State of Hybrid App Development

THE STATE OF HYBRID APPS

RYAN SALVA

Page 41: The State of Hybrid App Development

THE STATE OF HYBRID APPS

RYAN SALVA