SlideShare une entreprise Scribd logo
1  sur  169
PhoneGap Past, Present and Future

           Philly ETE 2011
@davejohnson




  I’m Canadian eh.
Schedule
Why am I here?
Why am I here?


• Beer?
Worldwide Smartphone Sales November 2010


                               Symbian
             2%3%
              2%               Android
                               Blackberry
       17%
                     37%       iOS
                               Linux
                               Other
      15%                      Windows Mobile

               26%




http://www.gartner.com/it/page.jsp?id=1466313
Native languages
iOS .............................. Objective C
Android ...................... Java ‘Harmony’ / C++
BlackBerry ................. Java J2ME / C++ (maybe?)
webOS ........................ HTML, CSS and JS
Windows Phone 7 ... .NET bs
Bada ............................. C++
PhoneGap
PhoneGap Pattern



1. Embed a chromeless browser in a native app
2. Create a “bridge” between the browser and
   the native code
3. Write a web app!
Write once debug everywhere
Past
document.location = ‘gap://Geolocation’;
[webView stringByEvaluatingJavaScriptFromString:str];
BlackBerry


• you don’t want to know
Android


• seriously don’t ask
Others


• not so hard
MIT/BSD/APACHE
Present
MIT/BSD/APACHE
Supported Platforms
iOS >= 3.2
Android >= 1.5
BlackBerry >= 4.6
webOS >= 1.4.5
Symbian >= 1
Deprecated
Prototype Platforms

Samsung Bada
Qt by way of C++ (MeeGo, desktops, etc)
Qt by way of PySide
Windows Phone 7
OS X Cocoa
Windows by way of WebKit.NET

(Other web business like Chrome App Store and Mozilla’s
Open Web apps are interesting to us.)
How do you write
 PhoneGap apps?
Mobile web first!

• Basics.
• Tooling.
• Libraries.
Basics: HTML


<button>I’m native codes!</button>
Setup the Viewport


<meta name="viewport" content="width=dev
ice-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.
• Scheme with a C syntax.
• Some quirks: http://wtfjs.com
Startup

document.addEventListener(
  ‘deviceready’,
  function() {
     alert(‘WINNING!’);
  },
  false);
Basics: config.xml

• Lifted from the W3C Widget Spec
• Many variants. See rubygem ‘confetti’
• Handy for packaging metadata.
• Wtf is packaging metadata?
config.xml example
<!DOCTYPE html>
<html>

 <head>

 
 <title>Vanilla</title>

 
 <meta name="viewport" content="width=device-width, initial-
scale=1.0, maximum-scale=1.0, user-scalable=no;" />

 
 <link rel="stylesheet" href="css/app.css" type="text/css"
media="screen">

 </head>
<body>

 <h1>Vanilla!</h1>

 <p>Ice Ice Baby</p>
<!-- always put phonegap.js first!!! -->

 <script src="phonegap-0.9.4.js"></script>

 <script>
document.addEventListener(‘deviceready’, function(){}, false);

 </script>
</body>
</html>
Will PhoneGap work
 on my Chumby?
Can you put PhoneGap
  apps in the App Store /
Android Market / whatever?
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
Our Community
Contributors




       -- ohloh.net
> 20,000
downloads a month
> 2,000
messages per month
> 50
contributors
> 40
tools
> 430,000
visits a month to phonegap.com
Partners / Contributors
•   Nitobi
•   IBM
•   Sony Ericsson
•   Symbian
•   Palm/HP
•   RIM
•   Sencha
Power Users

• Alcatel Lucent
• Sabre
• Deutsche Telecom
• IBM
Governance

• http://phonegap.lighthouseapp.com
  (migrating to github today!)
• http://wiki.phonegap.com/roadmap-planning
• It’s a meritocracy
What device APIs are
exposed to PhoneGap?
PhoneGap APIs

• Sensors
• Data
• Events

        http://docs.phonegap.com
Sensors

• GPS
• Accelerometer
• Compass
• Network
• Camera
Data

• Contacts
• Media
• File system
• Notifications
Events

• onload (yah it’s just HTML)
• ondeviceready (this is special)
• onnativeready
• onresume
• onpause
dev.w3.org/geo

• geolocation
• deviceorientation
• devicemotion
dev.w3.org/dap
• Contacts
• Calendar
• HTML media capture
• Media capture API
• Messaging
• System info
HTML5
• <canvas>             • Cache manifest
• <audio>              • postMessage
• <video>              • Web SQL
• Drag and drop        • localStorage
• File API             • Sockets
• History API          • Workers
http://dev.w3.org/html5/spec/Overview.html
API “design”
The “standards” are a mess.




Quotes here are not ironic.
Browser APIs...
Or maybe like this?
Browser Persistence
       APIs


• SQLite has been a complete fuck up.
WAC


• formerly JIL and BONDI
• a carrier consortium
WAC
Browser Media APIs

• Lets not even go here..
• Audio and video are horribly fucked up
• ESPECIALLY on mobile
• We fix ‘em (attempt to) w/ PhoneGap tho!
DAP Media Capture
DAP System Info
DAP Sys Info
DAP API Overview
Contacts
Calendar
Media Capture
Messaging
System Info
Permissions
Gallery
App Launcher
Tasks
WAC API Overview
Accelerometer
Orientation
Camera
Device Status
Filesystem
Messaging
Geolocation
Contacts
Calendar
Tasks
Web-ish SDKs Trending..

 • Symbian WRT
 • HP Palm webOS
 • BlackBerry WebWorks
 • Samsung Bada
     * PhoneGap started in 2008 btw...
Everyone Differentiates




 And their target abstraction is JavaScript?
We will too ...
hi5
How do I extend
  PhoneGap?
Plugins to the rescue
Clean from an engineering perspective.
Lighter builds possible.
Adaptable for 3rd party extensions.
Portable to new platforms.
Secure only use what you need.

Override anything with JS or Native code.
Plugins

 • Push notifications
 • Ads
 • Analytics
 • Barcode scanning
 • Facebook Connect
http://github.com/phonegap/phonegap-plugins
What tooling is
  available?
Dreamweaver
HTML5 Debugging


console.log(‘foo’);
alert(‘bar’);
Weinre
(winery or WINNINGery)
What libraries are
   available?
JavaScipt Libraries
• DOM: XUI, Zepto, jQuery, Dojo
• Games: PropulsionJS, EaselJS, GameJS,
  CraftyJS, LimeJS, jGen
• UI: jQuery, Sencha, Dojo, Jo, GloveBox
• Persistence: Lawnchair, PersistJS, StorageJS
• Testing: QUnit, Jasmine, DominatorJS,
  ThumbsJS
Web VS Native?
   http://www.flickr.com/photos/40336611@N08/3705419486/sizes/z/
The Web is Native
“We could probably save 70% of our
development budget by switching to a
 single, cross-platform client, but we
would probably lose 80% of our users.”

               -- Phil Libin, Evernote CEO
“97.25% of statistics are wrong”


                 -- Anonymous
“we’d be shut out of most
 app stores and go back to
worrying about distribution.”

              -- Phil Libin again
“huh?”

     -- Me
Can you put PhoneGap
  apps in the App Store /
Android Market / whatever?
$12,000,000,000
What would Reed say?
“What the deuce? Are
you bat shit crazy!?!?!”

-- Maybe Reed Hastings, Netflix CEO would say this
Why are they using it?
Skills reuse
Time to market
Less code
Less code
App updates
A/B Testing
Building for hundreds
    of devices!!1!1
http://functionsource.com/post/netflix-feature
No shit.
Can the Web feel Native?
“What you call love
 was invented by guys
like me to sell nylons”
         -- Don Draper, Mad Men
“Be the needle
not the haystack”

      -- Don Draper, Mad Men
Games?
Need more examples?
The Future
Release Roadmap

• 0.9.5 March... uuh
• 0.9.6 April... uuh
• 1.0 May/June... it’s open source come on!!

           http://wiki.phonegap.com/roadmap-planning
1.0 Roadmap




   pluggable
Plugins remaining work

• Discovery
• Packaging / installation
• Identity / trust
PhoneGap Plugins 1.0
Core
Maintained by us.


Community
Wild west!


Partner
Maintained by you; verified by us. =)
2.0
Sockets
App updating
A/B testing
Background services
Emulation in the cloud
More, faster devices
Fascinating Year Ahead

• BlackBerry WebWorks Playbook
• HPalm webOS TouchPad
• Gazillions of Android Tablets
• TVs and Cars are next - for serious
PhoneGap/Build
http://build.phonegap.com
What do you want punk?
What do you want punk?
• Write once run on 5+ platforms
What do you want punk?
• Write once run on 5+ platforms
• Write using HTML, JavaScript and CSS
What do you want punk?
• Write once run on 5+ platforms
• Write using HTML, JavaScript and CSS
• Write using standards based APIs
What do you want punk?
• Write once run on 5+ platforms
• Write using HTML, JavaScript and CSS
• Write using standards based APIs
• Open source in spirit and in practice
What do you want punk?
• Write once run on 5+ platforms
• Write using HTML, JavaScript and CSS
• Write using standards based APIs
• Open source in spirit and in practice
• Keep the option of adding native code
What do you want punk?
• Write once run on 5+ platforms
• Write using HTML, JavaScript and CSS
• Write using standards based APIs
• Open source in spirit and in practice
• Keep the option of adding native code
• Beer?
project resources
                    phonegap.com
                    docs.phonegap.com
                    wiki.phonegap.com
                    github.com/phonegap
                    phonegap.lighthouseapp.com
                    groups.google.com/group/phonegap
                    twitter.com/phonegap
                    #phonegap on freenode


    thank you

Contenu connexe

Tendances

Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for MobilityScotty Logan
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Christian Heilmann
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowSteve Gill
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Mistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhoneMistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhonekentbrew
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from SingaporeSteve Gill
 
Phonegap facebook- plugin
Phonegap facebook- pluginPhonegap facebook- plugin
Phonegap facebook- pluginSteve Gill
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile worldDieter Blomme
 
Breaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with DrupalBreaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with DrupalAcquia
 
Phonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoPhonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoSteve Gill
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyDMI
 
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014Sara Cannon
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Stanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadStanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadEvan Doll
 

Tendances (20)

Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for Mobility
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and Now
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Mistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhoneMistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhone
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Jonathan snook - fake-it
Jonathan snook - fake-itJonathan snook - fake-it
Jonathan snook - fake-it
 
PhoneGap talk from Singapore
PhoneGap talk from SingaporePhoneGap talk from Singapore
PhoneGap talk from Singapore
 
Phonegap facebook- plugin
Phonegap facebook- pluginPhonegap facebook- plugin
Phonegap facebook- plugin
 
Leverage web technology in a mobile world
Leverage web technology in a mobile worldLeverage web technology in a mobile world
Leverage web technology in a mobile world
 
App development
App developmentApp development
App development
 
Breaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with DrupalBreaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with Drupal
 
Phonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & TokyoPhonegap facebook plugin - Seoul & Tokyo
Phonegap facebook plugin - Seoul & Tokyo
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and Why
 
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Stanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadStanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPad
 

En vedette

Enlightenment Foundation Libraries (Overview)
Enlightenment Foundation Libraries (Overview)Enlightenment Foundation Libraries (Overview)
Enlightenment Foundation Libraries (Overview)Samsung Open Source Group
 
Linux Power Management Discussions & Lessons Learned
Linux Power Management Discussions & Lessons LearnedLinux Power Management Discussions & Lessons Learned
Linux Power Management Discussions & Lessons LearnedSamsung Open Source Group
 
Application GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperApplication GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperSamsung Open Source Group
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Samsung Open Source Group
 
User Experience on Gui
User Experience on GuiUser Experience on Gui
User Experience on GuiMehmet Baykal
 
Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?Samsung Open Source Group
 
Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Samsung Open Source Group
 

En vedette (8)

Enlightenment Foundation Libraries (Overview)
Enlightenment Foundation Libraries (Overview)Enlightenment Foundation Libraries (Overview)
Enlightenment Foundation Libraries (Overview)
 
Linux Power Management Discussions & Lessons Learned
Linux Power Management Discussions & Lessons LearnedLinux Power Management Discussions & Lessons Learned
Linux Power Management Discussions & Lessons Learned
 
Application GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit DeveloperApplication GUI Design - Notes from a Toolkit Developer
Application GUI Design - Notes from a Toolkit Developer
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
 
User Experience on Gui
User Experience on GuiUser Experience on Gui
User Experience on Gui
 
Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?
 
Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10
 
Application GUI Design
Application GUI DesignApplication GUI Design
Application GUI Design
 

Similaire à Philly ete-2011

HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Tom Deryckere
 
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile Day
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile DayPro Mobile web Apps with Phonegap 3.X - Adobe Mobile Day
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile Daybersoriano
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapGautam Chaudhary
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildChris Griffith
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap .toster
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Maximiliano Firtman
 
Intro to-phone gap-techwed-14dec2011
Intro to-phone gap-techwed-14dec2011Intro to-phone gap-techwed-14dec2011
Intro to-phone gap-techwed-14dec2011Minyawi Amino
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 

Similaire à Philly ete-2011 (20)

HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
PhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile HackPhoneGap at Facebook Mobile Hack
PhoneGap at Facebook Mobile Hack
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile Day
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile DayPro Mobile web Apps with Phonegap 3.X - Adobe Mobile Day
Pro Mobile web Apps with Phonegap 3.X - Adobe Mobile Day
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with Phonegap
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Txjs
TxjsTxjs
Txjs
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap Build
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
PhoneGap mobile development
PhoneGap mobile developmentPhoneGap mobile development
PhoneGap mobile development
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 
Intro to-phone gap-techwed-14dec2011
Intro to-phone gap-techwed-14dec2011Intro to-phone gap-techwed-14dec2011
Intro to-phone gap-techwed-14dec2011
 
Simple mobile Websites
Simple mobile WebsitesSimple mobile Websites
Simple mobile Websites
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 

Dernier

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Dernier (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Philly ete-2011

Notes de l'éditeur

  1. \n
  2. This is a self portrait of me fighting a black beary\nI am CTO and co-founder of a mobile web consulting company in Vancouver.\n
  3. \n
  4. \n
  5. The whole impetus for PhoneGap was the fact that in 2008 we saw growing fragmentation of the smartphone market. It has not gotten any better.\nHow many people here own a Symbian phone? Symbian will be split up between Android and WP7 according to gartner.\n
  6. \n
  7. \n
  8. That&amp;#x2019;s why we like HTML5. When you combine HTML5 with ...\n
  9. mobile phones\n
  10. you get PhoneGap. PhoneGap is a free and open source framework that enables developers to write cross platform native mobile applications.\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. created in aug 2008 over a bunch of beer\n
  16. We realized that we could talk between JavaScript and Objective-C!\n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. Then IBM decided to contribute...\n
  23. awesome\n
  24. A big reason that any of this happened was because of our licensing!\n
  25. \n
  26. oddly enough we have not even changed our licensing!\n
  27. \n
  28. Windows Mobile\nBB &lt; 4.6\n
  29. \n
  30. We achieve cross platform development through neither magic nor the force, but through HTML, JavaScript and CSS.\n
  31. A lot of people like to call this HTML5 for lack of a better term.\n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. More includes means slower startup. Reduce your HTML, CSS and JS!\n
  44. \n
  45. specify assets for loading in various places that might be stored in other various places.\nicon, splash screen, index.html path and js pathing\nfeature capability / security\nnetwork restrictions security\ntitle, description, license, author, etc\n
  46. Bring it all together\n
  47. \n
  48. Sure but why do you own a chumby anyhow? In all seriousness it could work on Chumby if it wasn&amp;#x2019;t flash based :/\n
  49. When I said that PhoneGap apps were &amp;#x201C;native&amp;#x201D; before I wasn&amp;#x2019;t kidding.\n
  50. Do bears shit in the woods\n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. Guess which line represents the phonegap project?\n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. PhoneGap is unique in that it is exposing native APIs in JavaScript according to ... standards\n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. Since we are browser based, we get to take advantage of the wonders of HTML5 ... sadly this is not really cross browser\n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. this one is actually sort of reasonable\n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. Just over half way here ... is everyone still alive?\n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. There is all sorts of tooling available. JS minifiers, IDEs, \n
  100. \n
  101. You can use device emulators but they usually suck. Try Ripple or just use WebKit\n
  102. In summary just use the web development tools you already know and use.\n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. I can do that too. Here&amp;#x2019;s another number.\n
  115. \n
  116. \n
  117. \n
  118. Another number, twelve billion. That&amp;#x2019;s the market cap of a company that is built on the PhoneGap technique. Anyone know what it is?\n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. Fewer tests, fewer bugs\n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. &amp;#x201C;feeling&amp;#x201D; native is something that you have been programmed to feel.\n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. &lt;menu&gt;, &lt;audio&gt;, &lt;video&gt; ... etc\n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n