developing cross platform mobile apps using apache cordova

Post on 16-Jan-2017

698 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DevelopingCross-Platform Mobile Apps using Apache Cordova

Mostafa Elzoghbi Sr. Technical Evangelist - MicrosoftTwitter: @MostafaElzoghbiwww.MostafaElzoghbi.com

Agenda• Apps dominates the mobile

web• Languages to build Mobile Apps• What is Cordova ?• How does Cordova work ?• Visual Studio Tools for Cordova• Cordova App vs Native Apps• Using CL Tools for Cordova• Cordova Apps Best Practices

Native Wrapper

<webview> or WWAhost

Your JavaScript App

Cordova Plugin JS API

Please interrupt me.Feel free to ask me questions

Way back machine: 2010

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

43%

64%

Time Spent in Apps vs. Browser

Apps Web Source: Flurry Analytics

Apps dominate the mobile web

2013 20140%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

80% 86%

20% 14%Time Spent in Apps vs. Browser

Apps Web Source: Flurry Analytics

HTML is the most popular language among mobile developers.

Source: Developer Economics State of the Developer Nation Q3 2014

HTML/Ja

vaScri

pt Java

C/C++

Objectiv

e-C C#

Visua

l Deve

lopmen

t Too

l

Java/C

offee

/Type

Scrip

tPH

PPyt

hon

Actio

nScri

ptRu

by Lua

42%

38%

26%24% 23%

17%15%

11%

7%

3% 3% 3%

The Languages Developers Know Best% of developers who consider them-

selves proficient by language

HTML trails closely behind Java and Objective-C as developers’ primary language.Source: Developer Economics State of the Developer Nation Q3 2014

Java

Objective-C

HTML/JavaScript

C#

C/C++

Visual Development Tool

Java/Coffee/Type Script

PHP

Python

ActionScript

Lua

Ruby

26%

17%

17%

14%

10%

8%

3%

1%

1%

1%

1%

1%

24%

20%

17%

13%

9%

7%

3%

1%

1%

1%

1%

1%

Primary Language Share% of developers using each as their

primary language

Full-time Professionals All Developer Segments

What is Cordova?• Open source framework• A web app in a native wrapper• Android + iOS use a webview• Windows uses WWAhost• Single, shared JavaScript

codebase deployed to all targets

• Plugins provide a common JavaScript API to access device capabilities

Native Wrapper

<webview>Your JavaScript App

Cordova Plugin JS API

Enter Apache Cordova6% of apps in stores14% of apps in the business category

Source:App Brain, April 2015

How does Cordova work?

Cordova Project

• HTML, CSS, JS, assets

• Configuration• Platform code• Plugin code

Visual Studio Project• HTML, CSS, JS, assets• Windows-specific runtime• Windows-specific plugin

code• Windows-specific

configurationXCode Project• HTML, CSS, JS, assets• iOS-specific runtime• iOS-specific plugin code• iOS-specific configuration

Android Project• HTML, CSS, JS, assets• Android-specific runtime• Android-specific plugin code• Android-specific

configuration

Create Build

Native Windows App

Native iOS App

Native Android App

How do I get it? In-box with Visual Studio 2015

Community Edition (Recommended) [[ FREE ]]

Visual Studio Code [[ FREE ]]

All the stuff you need Visual Studio installs and

uses the third party tools you need for multi-device development

As you use Visual Studio, each time it opens, it runs dependency checks and keeps up-to-date a verified stack of open source tools from the community

All the stuff you need Phone Emulator:

VS Emulator *New* Google Emulator *New* Ripple

Easy to deploy & Debug

Integration with needed mobile toolset

DEMOTools for Apache Cordova (TACO) in VS 2015

Use Cordova if you want to… Use your web skills & assets Maintain one codebase Use the JS libraries you love ( Jquery, AngularJS, Knockout, Ionic, …

etc)

You might be better off writing native apps if…

You’re want to build a consumer app in the top 3% You want different apps on different devices You ♥ Swift, Java, Objective-C or DirectX. If you love C#, consider Xamarin – ( Mobile Cross Platform

Development )

Should I build a Cordova app or Native apps?

Are you guys totally for serial about Cordova?

Yup.

Visual Studio has had support for Cordova for a year [[updated]]

VS2015’s Cordova investments include: 100% compatibility with Cordova CLI Updated Cordova, plugins, emulators, and OSS components Mac Only SDKs & connect to Mac remote build Additional app services support for mobile services, auth, O365, and analytics

Windows is committed to building and growing a first class Cordova platform

Major Windows investment for Cordova included: Hosted app content & webview support with WinRT access Security model redesign Contribution of all Cordova code to the Apache Cordova OSS project

• Cordova Browser Platform + Browser Support for Top 30 Plugins

• Ripple Emulator• Cordova Windows Platform• Cordova Test Infrastructure (MEDIC) • Cordova CLI (--list, --save, --restore, --arch)• Filling out the Plugin support matrix• Hosted app support for File, Media Capture, and

Camera plugins• Performance tests

Contributions to Open Source

• Use Command Window or Terminal to create projects• Install Cordova is a single command line:npm install –g cordova OR sudo npm install –g cordova• Create a project: directory workshop, project:

Workshopcordova create workshop com.yourname.workshop Workshop Add or remove platforms:cordova platforms add ios • Not a VS Dev ? Use VS Code as your Code Editor (Free)

Using CL for Cordova Apps

• Single Page Application (SPA) is a best practice to build fast, efficient mobile apps.

• Single HTML Page.• The “views” are injected & removed from the DOM.• UI is entirely created at the client-side with no

dependency on server.• All assets should be under www folder.• Use Front-End Frameworks for incredible UX.

Cordova Apps Best Practices

DEMO Weather App

Download the tools (free) http://aka.ms/cordova Documentation http://aka.ms/cordova-docs Videos http://aka.ms/cordova-videos Tutorials http://aka.ms/cordova-tutorials Samples http://aka.ms/cordova-samples Support forums http://www.stackoverflow.com Packaging Apps to Google Store: https://

channel9.msdn.com/Blogs/MostafaElzoghbi/Packaging-Cordova-Apps-to-Google-Store

Resources

Microsoft Azure TourTuesday, Oct 13, Philadelphia

Featuring a Keynote fromScott GuthrieExecutive Vice PresidentCloud & Enterprise

http://MicrosoftAzureTour.com

Top engineers from Redmond and independent experts from around the world will present:

12 technical sessions across two tracks (IT Experts and Developers)

6 hands-on labsSecurity, Networking, Big Data, Storage, Identity, Web,Mobile, Hybrid, Containers, Devops, Open Source, Management, Internet of Things

© 2015 Microsoft Corporation. All rights reserved.

Thank You

top related