79
Build your first mobile app with HTML5, PhoneGap, jQuery and APIs @mdobs @ apigee hashtag: #ApigeeHTML5 wifi: Bento Miso/misoconnected Monday, July 29, 13

HTML5 Slides

Embed Size (px)

DESCRIPTION

Build your first mobile app with HTML5 and PhoneGap!

Citation preview

Page 1: HTML5 Slides

Build your firstmobile app with

HTML5, PhoneGap, jQuery and APIs

@mdobs@apigee

hashtag: #ApigeeHTML5wifi: Bento Miso/misoconnected

Monday, July 29, 13

Page 3: HTML5 Slides

Did everybody install PhoneGap + XCode, ADT or Visual Studio?

Monday, July 29, 13

Page 4: HTML5 Slides

I work @ Apigee

Monday, July 29, 13

Page 5: HTML5 Slides

We help power eBayBest Buy, Walgreens, Gilt Groupe, NewEgg, Cars.com, Dell, Getty Images, GraceNote, Shazam, HomeAway, Pearson, cheezburger

Monday, July 29, 13

Page 6: HTML5 Slides

We’ve organized this training in LA, San Jose, Austin, Denver, Amsterdam, Atlanta, Houston, Denver…

Monday, July 29, 13

Page 7: HTML5 Slides

Why do we do this?Why free?

Monday, July 29, 13

Page 8: HTML5 Slides

Apigee is always free for developersFree Hosted Accounts25GB storage limit,10M push notifs/mono API/bandwidth limitCommercial use OKFree OSS versiongit.io/usergrid

Monday, July 29, 13

Page 9: HTML5 Slides

Paid plans available for large companies if you need to deploy this on your own servers or SLAs, 4 nines, multi-region, phone support, more storage, etc.

Monday, July 29, 13

Page 10: HTML5 Slides

What do you want to learn today?

Monday, July 29, 13

Page 11: HTML5 Slides

Everybody good withHTML Basics,Variables,Functions,etc. ?

Monday, July 29, 13

Page 12: HTML5 Slides

1 HTML52 API Backend3 Add more!4 PhoneGap5 Q&A

Monday, July 29, 13

Page 13: HTML5 Slides

Buildinga simple list app

Monday, July 29, 13

Page 14: HTML5 Slides

HTML5

Monday, July 29, 13

Page 15: HTML5 Slides

use relatively few:data-attributesgeolocationhistory

Monday, July 29, 13

Page 16: HTML5 Slides

diveintohtml5.info

Monday, July 29, 13

Page 17: HTML5 Slides

Other approachesNativeMonoTouchRubyMotion etc.

Monday, July 29, 13

Page 18: HTML5 Slides

jQueryand jQuery Mobile

Monday, July 29, 13

Page 19: HTML5 Slides

Section 1Start with the UI

Monday, July 29, 13

Page 20: HTML5 Slides

Build something that looks like this

j.mp/apigee-loc-ss

Monday, July 29, 13

Page 22: HTML5 Slides

Answer

j.mp/apigee-loc-1

Monday, July 29, 13

Page 23: HTML5 Slides

Section 2Add live data

Monday, July 29, 13

Page 24: HTML5 Slides

Why do we need a backend?

Monday, July 29, 13

Page 25: HTML5 Slides

Many options here too…

Monday, July 29, 13

Page 26: HTML5 Slides

We’re going to usean API Backend today!

Monday, July 29, 13

Page 27: HTML5 Slides

It’s like a database that you call directly from your client code.

Monday, July 29, 13

Page 28: HTML5 Slides

It’s a cloud service that makes it easy tostore your data, retrieve it & query it.

Monday, July 29, 13

Page 29: HTML5 Slides

It’s a like a Dropbox or iCloud to synchronize all your app data across users and devices

Monday, July 29, 13

Page 30: HTML5 Slides

ServerInfrastructure

AppCode SDK API

Monday, July 29, 13

Page 31: HTML5 Slides

Apigee App Servicesvs. Usergrid

Monday, July 29, 13

Page 32: HTML5 Slides

Let’s take a look at Apigee

j.mp/apigee-sign-up

Monday, July 29, 13

Page 33: HTML5 Slides

Add some data

Monday, July 29, 13

Page 34: HTML5 Slides

SDKs available for…

JS, node.js, iOS, Android, Ruby, Rails,C#, Java, WP8, etc.

Monday, July 29, 13

Page 35: HTML5 Slides

Explore the Quickstart

j.mp/apigee-loc-qs

Monday, July 29, 13

Page 36: HTML5 Slides

Add some view code

Monday, July 29, 13

Page 37: HTML5 Slides

Answer

j.mp/apigee-loc-2

Monday, July 29, 13

Page 38: HTML5 Slides

Now let’s create a form!

Monday, July 29, 13

Page 39: HTML5 Slides

Answer

j.mp/apigee-loc-3

Monday, July 29, 13

Page 40: HTML5 Slides

Wire it up to Apigee!

Monday, July 29, 13

Page 41: HTML5 Slides

Answer

j.mp/apigee-loc-4

Monday, July 29, 13

Page 42: HTML5 Slides

Section 3Run on mobile!

Monday, July 29, 13

Page 43: HTML5 Slides

A look at PhoneGapPhoneGap Build, Trigger.io, etc.

Monday, July 29, 13

Page 44: HTML5 Slides

Apache Cordovavs.Adobe PhoneGap

Monday, July 29, 13

Page 45: HTML5 Slides

Androidj.mp/phonegap-android-guide

iOS, Windows Phonej.mp/cordova-25-getstarted

Monday, July 29, 13

Page 46: HTML5 Slides

Add your HTML

Monday, July 29, 13

Page 47: HTML5 Slides

Android projectj.mp/apigee-android

iOS projectj.mp/apigee-ios

Monday, July 29, 13

Page 48: HTML5 Slides

Run!

Monday, July 29, 13

Page 49: HTML5 Slides

What runs where?

Monday, July 29, 13

Page 50: HTML5 Slides

PhoneGap Build

Monday, July 29, 13

Page 51: HTML5 Slides

Full Source of class

j.mp/apigee-loc-src

Monday, July 29, 13

Page 52: HTML5 Slides

Section 4Geolocation

Monday, July 29, 13

Page 53: HTML5 Slides

0.Add location to objects1.Find your location2.Query for nearby objects

Monday, July 29, 13

Page 54: HTML5 Slides

I’ve created landmarks for you!

j.mp/geo-feed

Monday, July 29, 13

Page 55: HTML5 Slides

To avoid the geoloc security error

python -m SimpleHTTPServer& open http://localhost:8000

Monday, July 29, 13

Page 56: HTML5 Slides

Geoloc docs

j.mp/apigee-geoloc

Monday, July 29, 13

Page 57: HTML5 Slides

Solution

j.mp/apigee-loc-5

Monday, July 29, 13

Page 58: HTML5 Slides

Advanced Demoj.mp/targets-demo

Codej.mp/targets-code

Monday, July 29, 13

Page 59: HTML5 Slides

Section 5Identity & Security

Monday, July 29, 13

Page 60: HTML5 Slides

Managing your users

Monday, July 29, 13

Page 61: HTML5 Slides

Signup is open, but everything else is controlled.

Monday, July 29, 13

Page 62: HTML5 Slides

Permissions

Monday, July 29, 13

Page 63: HTML5 Slides

Creating a user (signup)

Monday, July 29, 13

Page 64: HTML5 Slides

Getting a token (login)

Monday, July 29, 13

Page 65: HTML5 Slides

Mixing identity into our code!

Monday, July 29, 13

Page 66: HTML5 Slides

Solution

j.mp/apigee-loc-6

Monday, July 29, 13

Page 67: HTML5 Slides

Demoj.mp/messagee-demo

Codej.mp/messagee-code

Monday, July 29, 13

Page 68: HTML5 Slides

What else could you do next?

Monday, July 29, 13

Page 69: HTML5 Slides

Push NotificationsFile StorageSocial GraphLocal capabilities3rd-party integrationLegacy integrationCode execution

Monday, July 29, 13

Page 70: HTML5 Slides

Great for prototyping,works at scale too!

Monday, July 29, 13

Page 71: HTML5 Slides

When you use Apigee, every piece of data you store gets saved in 3 different data centers around the US (soon 3 copies in Europe too)

Monday, July 29, 13

Page 72: HTML5 Slides

A top 10 US retaileruses it for everye-commerce call made to its app or website (over 50M users, thousands of calls per second).

Monday, July 29, 13

Page 73: HTML5 Slides

One of the 10 largest private companies in the US used it to create an internal info management system for its 52k employees

Monday, July 29, 13

Page 74: HTML5 Slides

A large luxury brand based in the UK mandates all contractors use it to build catalogs, campaign sites and apps for them

Monday, July 29, 13

Page 75: HTML5 Slides

Apigee is free for developersFree Hosted Accounts25GB storage limit,10M push notifs/mo.no API/bandwidth limitCommercial use OKFree OSS versiongit.io/usergrid

Monday, July 29, 13

Page 76: HTML5 Slides

Paid plans available for large companies if you need to deploy this on your own servers or SLAs, 4 nines, multi-region, phone support, more storage, etc.

Monday, July 29, 13

Page 77: HTML5 Slides

Ask for help!Announce projects!

j.mp/app-craft

Sign up now :)

Monday, July 29, 13

Page 78: HTML5 Slides

Get more training

Advanced class?Training for your company? Still [email protected]

Monday, July 29, 13

Page 79: HTML5 Slides

Congrats!

If you liked it,post it on Twitter/LinkedIn :)@apigee @mdobs

[email protected], July 29, 13