PhoneGap talk from Singapore
Upcoming SlideShare
Loading in...5
×
 

PhoneGap talk from Singapore

on

  • 1,512 views

PhoneGap talk from Singapore at Facebook mobile world hack tour

PhoneGap talk from Singapore at Facebook mobile world hack tour

Statistics

Views

Total Views
1,512
Views on SlideShare
1,512
Embed Views
0

Actions

Likes
1
Downloads
25
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • Always wanted to see how this picture looked on the big screen\n
  • Who has heard of PhoneGap before? PhoneGap is a free and open source framework that enables developers to write cross platform mobile applications using html5, css3 and javascript.\n
  • \n
  • \n
  • \n
  • \n
  • This approach lets you write once run anywhere\n
  • HTML 5 is huge. All you hear now a days is html5 this and html 5 that. With PhoneGap you get to use HTML5, CSS3 and Javascript. The PhoneGap team is \n
  • \n
  • We achieve cross platform development through neither magic nor the force, but through HTML, JavaScript and CSS.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Bring it all together\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • SSO, Dialogs, etc\n
  • \n
  • \n
  • \n

PhoneGap talk from Singapore PhoneGap talk from Singapore Presentation Transcript

  • PhoneGapFacebook Hack
  • Steve Gill PhoneGap ChampFacebook.com/stevengill97 @SteveSGill steveng@adobe.com
  • What is PhoneGap?
  • Lay of the LandiOS .............................. Objective CAndroid ...................... Java ‘Harmony’ / C++BlackBerry ................. Java J2ME / C++ (maybe?)webOS ........................ HTML, CSS and JSWindows Phone 7 ... .NETBada ............................. C++
  • PhoneGap Pattern1. Embed a chromeless browser in a native app2. Create a “bridge” between the browser and the native code3. Write a web app4. Package the web app with the native code and deploy to devices!
  • Supported Platforms• iOS (iPad, iPod Touch, iPhone)• Android (Everything)• BlackBerry (Smartphones, PlayBook)• WebOS• Windows Phone• Symbian• Bada
  • Write once debug everywhere
  • W3C Device APIs andPolicies Working Group (DAP)
  • PhoneGap &Apache Cordova
  • How do you write PhoneGap apps?
  • Basics: HTML<button>I’m native codes!</button>
  • Setup the Viewport<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
  • Basics: CSS3• Media queries come in handy for tablets• Many folk using precompilers these days• Opacity, rounded corners, gradients and fucking drop shadows fuck ya!
  • CSS3 Animations-webkit-transform: translate3d(x,y,z) scale3D(1,1,1.0)
  • Media Query
  • Media Query<link rel="stylesheet" media="all and (max-device-width: 480px)" href="iphone.css">
  • Media Query<link rel="stylesheet" media="all and (max-device-width: 480px)" href="iphone.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and(orientation:portrait)" href="ipad-portrait.css">
  • Media Query<link rel="stylesheet" media="all and (max-device-width: 480px)" href="iphone.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and(orientation:portrait)" href="ipad-portrait.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and(orientation:landscape)" href="ipad-landscape.css">
  • Media Query<link rel="stylesheet" media="all and (max-device-width: 480px)" href="iphone.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and(orientation:portrait)" href="ipad-portrait.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and(orientation:landscape)" href="ipad-landscape.css">
  • Basics: JavaScript• Language of the web.• Some quirks: http://wtfjs.com
  • Startupdocument.addEventListener( ‘deviceready’, function() { alert(‘WINNING!’); }, false);
  • Clear as Mud
  • Clear as Mud• WRITE IN HTML, JAVASCRIPT AND CSS
  • Clear as Mud• WRITE IN HTML, JAVASCRIPT AND CSS• PRODUCE A NATIVE APP PACKAGED PACKAGED ON A PER PLATFORM BASIS
  • Clear as Mud• WRITE IN HTML, JAVASCRIPT AND CSS• PRODUCE A NATIVE APP PACKAGED PACKAGED ON A PER PLATFORM BASIS• NO CROSS COMPILING MAGIC
  • Clear as Mud• WRITE IN HTML, JAVASCRIPT AND CSS• PRODUCE A NATIVE APP PACKAGED PACKAGED ON A PER PLATFORM BASIS• NO CROSS COMPILING MAGIC• NO FAIRY DUST / SPARKLES
  • Clear as Mud• WRITE IN HTML, JAVASCRIPT AND CSS• PRODUCE A NATIVE APP PACKAGED PACKAGED ON A PER PLATFORM BASIS• NO CROSS COMPILING MAGIC• NO FAIRY DUST / SPARKLES• NO UNICORNS GET HURT
  • Partners / Contributors• Adobe• IBM• Sony Ericsson• Symbian• HP/Palm• RIM• Microsoft
  • Power Users• Alcatel Lucent• Sabre• Deutsche Telecom• Ars Technica• WikiMedia
  • PhoneGap APIs• Sensors• Data• Events http://docs.phonegap.com
  • Sensors• GPS• Accelerometer• Compass• Network• Camera
  • Data• Contacts• Media• File system• Notifications
  • Events• onload (duh)• ondeviceready (this is special)• onnativeready• onresume• onpause
  • Tooling• Use any IDE• Use the platform emulators (at your peril)• Use Ripple emulator• Use Web Inspector Remote (Weinre)• Srsly use Weinre• Console.log and alert =(
  • Libraries• DOM• Testing• Style / GUI• Persistence
  • Plugins
  • Facebook PhoneGap PluginTake your mobile Facebook app and make it native Take advantage of PhoneGap APIs Distribute in app stores & go offline
  • How the Fb Plugin WorksAdds hooks into Facebook JS SDK to call the plugin Maps some FB JS calls to native FB iOS SDK
  • Demo
  • More Fb Plugin Info Source Code:github.com/davejohnson/phonegap-plugin-facebook-connect iOS Install video: youtube.com/phonegap Android Video Coming Soon!
  • project resources phonegap.com docs.phonegap.com wiki.phonegap.com git.apache.org issues.apache.org/jira/browse/CB groups.google.com/group/phonegap twitter.com/phonegap facebook.com/phonegap #phonegap on freenode youtube.com/phonegap thank you github.com/davejohnson/phonegap- plugin-facebook-connect