Top Banner
06.23.15 @braintree_dev @demianborba Making money with Phonegap and Angular apps Demian Borba <developer-advocate/> @demianborba github.com/demianborba
85
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Making money with Phonegap and Angular appsDemian Borba <developer-advocate/>

@demianborba

github.com/demianborba

Page 2: Making money with Phonegap and Angular apps

Demian Borba <developer-advocate/>

San Francisco & Bay Area

06.23.15

@braintree_dev @demianborba

Page 3: Making money with Phonegap and Angular apps

06.23.15

Making money with Phonegap and Angular appsCordovaDemian Borba <developer-advocate/>

@demianborba

@braintree_dev @demianborba

Page 4: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 5: Making money with Phonegap and Angular apps

URL: http://phonegapbootcamp.io 06.23.15

@braintree_dev @demianborba

Page 6: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Your Developer Toolbox

Page 7: Making money with Phonegap and Angular apps

• Mobile Commerce

• Getting started with Cordova

• Powerful libraries and frameworks

• Accepting cards, PayPal and Bitcoin

>Chapters

06.23.15

@braintree_dev @demianborba

Page 8: Making money with Phonegap and Angular apps

Chapter one:Mobile Commerce

06.23.15

@braintree_dev @demianborba

Page 9: Making money with Phonegap and Angular apps

Source: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2015/The-MCommerce-Gap-Why-Dollars-Continue-to-Lag-Shopping-Behavior-on-Mobile

06.23.15

@braintree_dev @demianborba

$31.6BMOBILE COMMERCE IN THE US, 2014

11.8% OF TOTAL DIGITAL COMMERCE

Page 10: Making money with Phonegap and Angular apps

Source: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2015/The-MCommerce-Gap-Why-Dollars-Continue-to-Lag-Shopping-Behavior-on-Mobile

06.23.15

@braintree_dev @demianborba

$11.1BMOBILE COMMERCE IN THE US, Q1 2015

15.4% OF TOTAL DIGITAL COMMERCE

Page 11: Making money with Phonegap and Angular apps

Source: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2015/The-MCommerce-Gap-Why-Dollars-Continue-to-Lag-Shopping-Behavior-on-Mobile

06.23.15

@braintree_dev @demianborba

Desktop

Mobile

Share of Online Retail Browsing

Page 12: Making money with Phonegap and Angular apps

Source: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2015/The-MCommerce-Gap-Why-Dollars-Continue-to-Lag-Shopping-Behavior-on-Mobile

06.23.15

@braintree_dev @demianborba

Desktop

Mobile

Online Retail Browsing vs. Spending by Platform

GAP

Page 13: Making money with Phonegap and Angular apps

Source: http://www.comscore.com/Insights/Presentations-and-Whitepapers/2015/The-MCommerce-Gap-Why-Dollars-Continue-to-Lag-Shopping-Behavior-on-Mobile

06.23.15

@braintree_dev @demianborba

Smartphone

Tablet

Do not feel secure providing payment information over mobile devices

Cannot see the product detail

Navigating between screens is too difficult/slow

Cannot browse between multiple screens easily to comparison shop

Too difficult to input my name, address, and payment information

Cannot navigate to coupons/discounts easily

Connection speeds/spotty service slows down the browsing process

Page 14: Making money with Phonegap and Angular apps

SOLUTION?

06.23.15

@braintree_dev @demianborba

Page 15: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 16: Making money with Phonegap and Angular apps

Chapter two:Getting started with Cordova

06.23.15

@braintree_dev @demianborba

Page 17: Making money with Phonegap and Angular apps

based on a true story...

06.23.15

@braintree_dev @demianborba

Page 18: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 19: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 20: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: http://speedtest.net

Page 21: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 22: Making money with Phonegap and Angular apps

Source: http://cordova.apache.org06.23.15

@braintree_dev @demianborba

Page 23: Making money with Phonegap and Angular apps

Source: http://cordova.apache.org/docs/en/5.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface 06.23.15

@braintree_dev @demianborba

Page 24: Making money with Phonegap and Angular apps

Source: http://cordova.apache.org/docs/en/5.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface 06.23.15

@braintree_dev @demianborba

Page 25: Making money with Phonegap and Angular apps

Source: http://cordova.apache.org/docs/en/5.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface 06.23.15

@braintree_dev @demianborba

Page 26: Making money with Phonegap and Angular apps

Source: https://nodejs.org/download/ 06.23.15

@braintree_dev @demianborba

8MB

16MB

Page 27: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 28: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 29: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 30: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 31: Making money with Phonegap and Angular apps

DEVELOPER DEVELOPER DEVELOPER

06.23.15

@braintree_dev @demianborba

Page 32: Making money with Phonegap and Angular apps

Source: http://git-scm.com/06.23.15

@braintree_dev @demianborba

17MB

Page 33: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 34: Making money with Phonegap and Angular apps

Source: http://git-scm.com/06.23.15

@braintree_dev @demianborba

23MB

Page 35: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 36: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 37: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 38: Making money with Phonegap and Angular apps

npm install -g cordova

06.23.15

@braintree_dev @demianborba

Page 39: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 40: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Page 41: Making money with Phonegap and Angular apps

sudo chown -R {{whoami}} /usr/local/

06.23.15

@braintree_dev @demianborba

Source: https://docs.npmjs.com/getting-started/fixing-npm-permissions

Page 42: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

DEVELOPER DEVELOPER DEVELOPER

Source: https://docs.npmjs.com/getting-started/fixing-npm-permissions

Page 43: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 44: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

demo (create app + add platforms) cordova create app_folder io.demian.app AppName cordova platform add ios android

Page 45: Making money with Phonegap and Angular apps

Source: http://cordova.apache.org/docs/en/5.0.0//guide_cli_index.md.html#The%20Command-Line%20Interface 06.23.15

@braintree_dev @demianborba

Page 46: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 47: Making money with Phonegap and Angular apps

• Download and install JDK 7+

• Download and install Android Studio

• Add /tools and /platform-tools to PATH

• Install SDK packages (API 22 & Build Tools 19+)

>Steps to configure Android

06.23.15

@braintree_dev @demianborba

Page 48: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Page 49: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: http://developer.android.com/sdk/installing/index.html?pkg=studio

Page 50: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 51: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 52: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 53: Making money with Phonegap and Angular apps

demo (build + deploy + debug) cordova build android cordova run androidchrome://inspect

06.23.15

@braintree_dev @demianborba

Page 54: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 55: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Xcode Command Line Tools

Page 56: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

xcode-select --install npm install -g ios-sim npm install -g ios-deploy

Page 57: Making money with Phonegap and Angular apps

demo (build + deploy + debug) cordova build ios cordova run ios --simulator cordova run ios --device

06.23.15

@braintree_dev @demianborba

Page 58: Making money with Phonegap and Angular apps

Chapter three:Powerful libraries and frameworks

06.23.15

@braintree_dev @demianborba

Page 59: Making money with Phonegap and Angular apps

• Pixel-perfect UI for iOS and Android (Windows soon)

• Powerful cli (ionic resources, lab, live reload etc)

• Amazing services (analytics, deploy, push etc)

• Focus on performance, built on top of Angular and Cordova

06.23.15

@braintree_dev @demianborba

Source: http://ionicframework.com/

Page 60: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: http://blog.ionic.io/ionic-lab/

Page 61: Making money with Phonegap and Angular apps

> _material

06.23.15

@braintree_dev @demianborba

Source: https://material.angularjs.org

• Following Google Material Design principles and guidelines

• Powerful components (autocomplete, chips, fab, grid list, input, menu, subheader, tabs etc)

• Great documentation and sample code

Page 62: Making money with Phonegap and Angular apps

• Simple AngularJS wrappers for the most popular Cordova and PhoneGap plugins available (camera, touch id, oauth, geolocation, bar scanner, contacts, device orientation, vibration etc)

• ng-cordova custom build: Great integrations with Cordova plugins using Angular Services (factories)

> _ng-cordova

06.23.15

@braintree_dev @demianborba

Source: http://ngcordova.com/

Page 63: Making money with Phonegap and Angular apps

Chapter four:Accepting cards, PayPal and Bitcoin

06.23.15

@braintree_dev @demianborba

Page 64: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

consumers (card holders)

merchants

gateways

acquiring banks

processors

card associations

issuing banks

PCI Compliance (Payment Card Industry)

Page 65: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 66: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 67: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Page 68: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Client-side libraries for iOS, Android, and Web. Server-side libraries in the language of your choice.

Source: https://www.braintreepayments.com/v.zero

Page 69: Making money with Phonegap and Angular apps

The regular way

06.23.15

@braintree_dev @demianborba

Page 70: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: https://developers.braintreepayments.com/javascript+node/start/overview

npm install braintree

var braintree = require(‘braintree')

example: ejs

npm install braintree-web

bower install braintree-web

braintree.js

Page 71: Making money with Phonegap and Angular apps

var gateway = braintree.connect({ environment: braintree.Environment.Sandbox, merchantId: ‘your_merchant_id’, publicKey: ‘your_merchant_public_key’, privateKey: ‘your_merchant_private_key’ });

06.23.15

@braintree_dev @demianborba

Source: https://developers.braintreepayments.com/javascript+node/start/hello-server

app.js

Page 72: Making money with Phonegap and Angular apps

app.get('/', function (request, response) {

gateway.clientToken.generate({}, function (err, res) { response.render('index', { clientToken: res.clientToken }); });

});

06.23.15

@braintree_dev @demianborba

app.js

Page 73: Making money with Phonegap and Angular apps

<!-- Add Dropin here --> <div id="checkout"></div>

<script src="braintree.js"></script> <script> braintree.setup('<%- clientToken %>', 'dropin', { container: ‘checkout' }); </script>

06.23.15

@braintree_dev @demianborba

index.ejs

Page 74: Making money with Phonegap and Angular apps

The Angular way

06.23.15

@braintree_dev @demianborba

Page 75: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Source: https://developers.braintreepayments.com/javascript+node/start/overview

npm install braintree

var braintree = require('braintree')

npm install braintree-web

bower install braintree-web

Page 76: Making money with Phonegap and Angular apps

<!-- Add Dropin here --> <div id="checkout"></div>

<script src="braintree.js"></script>

06.23.15

@braintree_dev @demianborba

Source: https://developers.braintreepayments.com/javascript+node/start/hello-client

Page 77: Making money with Phonegap and Angular apps

var gateway = braintree.connect({ environment: braintree.Environment.Sandbox, merchantId: ‘your_merchant_id’, publicKey: ‘your_merchant_public_key’, privateKey: ‘your_merchant_private_key’ });

06.23.15

@braintree_dev @demianborba

Source: https://developers.braintreepayments.com/javascript+node/start/hello-server

Page 78: Making money with Phonegap and Angular apps

app.post('/api/v1/token', function (request, response) { gateway.clientToken.generate({}, function (err, res) { if (err) throw err; response.json({ "client_token": res.clientToken }); }); });

06.23.15

@braintree_dev @demianborba

Page 79: Making money with Phonegap and Angular apps

$http({ method: 'POST', url: 'http://localhost:3000/api/v1/token' }).success(function (data) { // handle response}

06.23.15

@braintree_dev @demianborba

Page 80: Making money with Phonegap and Angular apps

// handle response braintree.setup(data.client_token, 'dropin', { container: 'checkout', paymentMethodNonceReceived: function (event, nonce) { $http({ method: 'POST', url: 'http://localhost:3000/api/v1/process', data: { amount: $scope.amount, payment_method_nonce: nonce }

06.23.15

@braintree_dev @demianborba

Page 81: Making money with Phonegap and Angular apps

app.post('/api/v1/process', function (request, response) { var transaction = request.body; gateway.transaction.sale({ amount: transaction.amount, paymentMethodNonce: transaction.payment_method_nonce }, function (err, result) { if (err) throw err; response.json(result); }); });

06.23.15

@braintree_dev @demianborba

Page 82: Making money with Phonegap and Angular apps

demo (angular app taking cards, PayPal and Bitcoin)

06.23.15

@braintree_dev @demianborba

Page 83: Making money with Phonegap and Angular apps

• Mobile Commerce

• Getting started with Cordova

• Powerful libraries and frameworks

• Accepting cards, PayPal and Bitcoin

>Chapters

06.23.15

@braintree_dev @demianborba

Page 84: Making money with Phonegap and Angular apps

06.23.15

@braintree_dev @demianborba

Your Developer Toolbox

Page 85: Making money with Phonegap and Angular apps

The end.Thank you, questions?Demian Borba <developer-advocate/>

@demianborba

github.com/demianborba

06.23.15

@braintree_dev @demianborba