SlideShare a Scribd company logo
PhoneGap 101
or: how I learned to stop writing
 platform-specific code and love
    JavaScript, HTML and CSS

@MattRogish (mrogish@toura.com)
 and @touradev / @touramobile
Matt Rogish
To APP or not to APP...
http://designmind.frogdesign.com/blog/mobile-apps-must-die.html
http://designmind.frogdesign.com/blog/mobile-apps-must-die.html
“The purpose of PhoneGap is for PhoneGap to cease to exist”
- Brian LeRoux, Nitobi (now Adobe)
“The	 purpose	 of	 
PhoneGap	 is	 for	 
  PhoneGap	 to	 
 cease	 to	 exist”
The purpose of <Other Mobile Platform> is for
<Other Mobile Platform> to cease to exist?
What is PhoneGap?
PhoneGap is an HTML5 app platform that allows you to
author native applications with web technologies and get
 access to APIs and app stores. PhoneGap leverages web
technologies developers already know best... HTML and
                        JavaScript.
                    - PhoneGap.com
Huh?
Yeah, but can I make real apps with it?
SQLite      DOM Key-Value




File System       HTTP
http://www.chromeexperiments.com/webgl
vasc ri pt
Okay, okay. How do I get started?
1. Download & Install PhoneGap & Pre-
   requisites

2. Write HelloWorld.html

3. ???

4. Profit!
“???” explained...
or: getting from zero to app in 60 seconds
Mulberry takes the promise of PhoneGap
       — mobile apps built with web
technologies — and smooths over many of
  the “gotchas” that front-end developers
 confront as they venture into client-side
    application development in a mobile
                environment.
        - http://toura.github.com/mulberry/
Huh?
Demo: http://mulberry.toura.com
Thank you! Any Questions?
• http://www.phonegap.com
• http://groups.google.com/group/phonegap
• http://www.meetup.com/The-New-York-
  Phone-Gap-Devlopers-Enthusiasts-Meetup/

• http://mulberry.toura.com
• http://api.toura.com/weinre
• http://www.twitter.com/touradev

More Related Content

What's hot

Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapdegarden
 
Getting Started with PhoneGap Windows Phone 7
Getting Started with PhoneGap Windows Phone 7Getting Started with PhoneGap Windows Phone 7
Getting Started with PhoneGap Windows Phone 7
Alius Petraška
 
Phone gap
Phone gapPhone gap
Phone gap
Madhura Keskar
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
Sushan Sharma
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Ramesh Nair
 
Maintainable design
Maintainable designMaintainable design
Maintainable design
Filip Rakowski
 
20 Wireframing Tools
20 Wireframing Tools20 Wireframing Tools
20 Wireframing Tools
donvito123
 
Vue storefront London PWA meetup
Vue storefront London PWA meetupVue storefront London PWA meetup
Vue storefront London PWA meetup
Filip Rakowski
 
Basics of Embedded Systems / Hardware - Architectures
Basics of Embedded Systems / Hardware - ArchitecturesBasics of Embedded Systems / Hardware - Architectures
Basics of Embedded Systems / Hardware - Architectures
Ayan Pahwa
 
PhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
Tobiasz Glazar
 
Apresentação PWA - FCTech
Apresentação PWA - FCTechApresentação PWA - FCTech
Apresentação PWA - FCTech
Gilmar Oliveira
 
PhoneGap @ LDNUG
PhoneGap @ LDNUGPhoneGap @ LDNUG
PhoneGap @ LDNUG
Matt Lacey
 
August Chicago Mobile Meetup talk 8-25-11
August Chicago Mobile Meetup talk 8-25-11August Chicago Mobile Meetup talk 8-25-11
August Chicago Mobile Meetup talk 8-25-11biolithic
 
Extended slow parts
Extended slow partsExtended slow parts
Extended slow parts
Francesco Fullone
 

What's hot (19)

Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Getting Started with PhoneGap Windows Phone 7
Getting Started with PhoneGap Windows Phone 7Getting Started with PhoneGap Windows Phone 7
Getting Started with PhoneGap Windows Phone 7
 
Live-Note
Live-NoteLive-Note
Live-Note
 
Phone gap
Phone gapPhone gap
Phone gap
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Maintainable design
Maintainable designMaintainable design
Maintainable design
 
20 Wireframing Tools
20 Wireframing Tools20 Wireframing Tools
20 Wireframing Tools
 
Vue storefront London PWA meetup
Vue storefront London PWA meetupVue storefront London PWA meetup
Vue storefront London PWA meetup
 
Basics of Embedded Systems / Hardware - Architectures
Basics of Embedded Systems / Hardware - ArchitecturesBasics of Embedded Systems / Hardware - Architectures
Basics of Embedded Systems / Hardware - Architectures
 
PhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged AppsPhoneGap Day US 2013 - Chrome Packaged Apps
PhoneGap Day US 2013 - Chrome Packaged Apps
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Phonegap
PhonegapPhonegap
Phonegap
 
Apresentação PWA - FCTech
Apresentação PWA - FCTechApresentação PWA - FCTech
Apresentação PWA - FCTech
 
Designing FirefoxOS style apps
Designing FirefoxOS style appsDesigning FirefoxOS style apps
Designing FirefoxOS style apps
 
PhoneGap @ LDNUG
PhoneGap @ LDNUGPhoneGap @ LDNUG
PhoneGap @ LDNUG
 
Evaluation 6
Evaluation 6Evaluation 6
Evaluation 6
 
August Chicago Mobile Meetup talk 8-25-11
August Chicago Mobile Meetup talk 8-25-11August Chicago Mobile Meetup talk 8-25-11
August Chicago Mobile Meetup talk 8-25-11
 
Extended slow parts
Extended slow partsExtended slow parts
Extended slow parts
 

Viewers also liked

Мониторинг социальных медиа. От статистики к реальному потребителю
Мониторинг социальных медиа. От статистики к реальному потребителюМониторинг социальных медиа. От статистики к реальному потребителю
Мониторинг социальных медиа. От статистики к реальному потребителю
brandhouse
 
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
Sergey Zwezdin
 
Yuri Trukhin - Windows Phone 7
Yuri Trukhin - Windows Phone 7Yuri Trukhin - Windows Phone 7
Yuri Trukhin - Windows Phone 7beloslab
 
Windows Phone School HSE Lecture 6
Windows Phone School HSE Lecture 6Windows Phone School HSE Lecture 6
Windows Phone School HSE Lecture 6Dmitry Gridnev
 
Windows Phone Mango and PhoneGap
Windows Phone Mango and PhoneGapWindows Phone Mango and PhoneGap
Windows Phone Mango and PhoneGapDoncho Minkov
 
How to build PhoneGap App for Windows Phone?
How to build PhoneGap App for Windows Phone?How to build PhoneGap App for Windows Phone?
How to build PhoneGap App for Windows Phone?
MobilePundits
 

Viewers also liked (7)

Мониторинг социальных медиа. От статистики к реальному потребителю
Мониторинг социальных медиа. От статистики к реальному потребителюМониторинг социальных медиа. От статистики к реальному потребителю
Мониторинг социальных медиа. От статистики к реальному потребителю
 
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
Платформа Silverlight для разработки мобильных приложений для Windows Phone 7
 
Yuri Trukhin - Windows Phone 7
Yuri Trukhin - Windows Phone 7Yuri Trukhin - Windows Phone 7
Yuri Trukhin - Windows Phone 7
 
Windows Phone School HSE Lecture 6
Windows Phone School HSE Lecture 6Windows Phone School HSE Lecture 6
Windows Phone School HSE Lecture 6
 
Windows Phone Mango and PhoneGap
Windows Phone Mango and PhoneGapWindows Phone Mango and PhoneGap
Windows Phone Mango and PhoneGap
 
How to build PhoneGap App for Windows Phone?
How to build PhoneGap App for Windows Phone?How to build PhoneGap App for Windows Phone?
How to build PhoneGap App for Windows Phone?
 
Web Design Concepts
Web Design ConceptsWeb Design Concepts
Web Design Concepts
 

Similar to PhoneGap 101 & Toura Mulberry

HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-C
Jiwei Xu
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5Christian Heindel
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Christian Heindel
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop toolsLey Liu
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
St. Petersburg College
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…
Avenga Germany GmbH
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
mailalamin
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
Eurapp
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .netChris Love
 
AppsFuel, il nuovo marketplace per mobile web app e mobile site!
AppsFuel, il nuovo marketplace per mobile web app e mobile site!AppsFuel, il nuovo marketplace per mobile web app e mobile site!
AppsFuel, il nuovo marketplace per mobile web app e mobile site!
Mobile Web Italy Meetup
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
Building for real standards (includes notes)
Building for real standards (includes notes)Building for real standards (includes notes)
Building for real standards (includes notes)
Christian Heilmann
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App Development
DroidConTLV
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
Lama K Banna
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
Appzure -Mobile App Development
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile AppsDoug Robinson
 

Similar to PhoneGap 101 & Toura Mulberry (20)

HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Besides Objective-C
Besides Objective-CBesides Objective-C
Besides Objective-C
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
Phone gap
Phone gapPhone gap
Phone gap
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop tools
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
 
AppsFuel, il nuovo marketplace per mobile web app e mobile site!
AppsFuel, il nuovo marketplace per mobile web app e mobile site!AppsFuel, il nuovo marketplace per mobile web app e mobile site!
AppsFuel, il nuovo marketplace per mobile web app e mobile site!
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Building for real standards (includes notes)
Building for real standards (includes notes)Building for real standards (includes notes)
Building for real standards (includes notes)
 
How to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App DevelopmentHow to Hybrid : Effective Tactics in HTML5-Native App Development
How to Hybrid : Effective Tactics in HTML5-Native App Development
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
 
10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps10 Reasons to Adopt HTML5 for Mobile Apps
10 Reasons to Adopt HTML5 for Mobile Apps
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 

PhoneGap 101 & Toura Mulberry

Editor's Notes

  1. \n
  2. Hi, I&amp;#x2019;m Matt. I work at Toura, etc.\n
  3. Toura has a bunch of products and stuff we do\n
  4. Before we get into PhoneGap proper, there&amp;#x2019;s still some debate as to whether or not we should do mobile apps at all\n
  5. A lot of folks think they are stupid, dying, proprietary, etc. etc.\n
  6. That they lead to fragmentation of code\n
  7. And that you should just write HTML apps (or HTML5, depending on your target audience)\n
  8. This is the future they predict\n
  9. I think the reports of mobile app&amp;#x2019;s deaths are greatly exaggerated \n
  10. What&amp;#x2019;s the difference between these devices\n
  11. and this one?\n
  12. LOTS of native functionality outside of the browser sandbox. Functionality that has no desktop browser analog.\n
  13. AND native functionality that differs on a per-platform basis. Stuff that mobile web can&amp;#x2019;t yet touch.\n
  14. To access this stuff on a computer (where applicable) you needed to use Flash\n
  15. But flash is dead on mobile\n
  16. Or, you could write native code\n
  17. Something \n
  18. tells\n
  19. me\n
  20. we&amp;#x2019;re looking at it the wrong way\n
  21. Let&amp;#x2019;s think about this. We need to access native features across multiple disparate platforms\n
  22. So, we want a mix - HTML5 and Javascript to write apps in ways that are cross-platform in a language we know and love\nand native code to access things that aren&amp;#x2019;t (YET) exposed in the browser\n
  23. Happy\n
  24. That&amp;#x2019;s PhoneGap! It allows you to mix HTML, JS, and native code all in a nice tidy package\n
  25. Nitobi was purchased by Adobe. PhoneGap is open source, and now being accepted into the Apache Foundation; you cannot &amp;#x201C;own&amp;#x201D; open source software.\n
  26. But, you may ask - why would I choose PhoneGap over any of the other platforms? Consider PhoneGap&amp;#x2019;s philosophy\n
  27. \n
  28. PhoneGap (and Nitobi, the folks just acquired by Adobe) want the web to win. PhoneGap is a temporary fix until HTML5/JS exposes ALL of the stuff in a unified, standardized way\n
  29. Don&amp;#x2019;t hold your breath waiting for that to happen anytime soon, however. It&amp;#x2019;s taken years for the W3C to suggest standards, and some vendors aren&amp;#x2019;t implementing it all the same. It&amp;#x2019;ll be a while until all the native functionality is exposed in pure Javascript.\n
  30. Do the other cross-platform mobile application frameworks exist so they&amp;#x2019;ll be obsolete? Or does it exist to further lock you in to their technology stack? When the magical day occurs when the W3C and Device Manufacturers all have full Javascript interoperability occurs, will you be able to easily port your apps to it? To mobile web? Hmm. Ponder that.\n
  31. What about the Appcelerator folks? They are decidedly NOT open source. They compile their own JS to native components. So it&amp;#x2019;s not even really cross platform. If the rapture occurs and you can remove phonegap, you can&amp;#x2019;t simply take your Appcelerator app and make it a mobile web app.\n\nRhoMobile is somewhat similar. Now that they are owned by Motorola Solutions, unsure as to the future of the product. But that&amp;#x2019;s a bit of FUD from me. Take it with a grain of salt. :)\n\nstrobe is dead, acquired by facebook.\n\nSenchaTouch is NOT free software. It has a commercial software license that, although is free as in &amp;#x201C;Free beer&amp;#x201D; is not free as in &amp;#x201C;Free speech&amp;#x201D;. \n
  32. What about the Appcelerator folks? They are decidedly NOT open source. They compile their own JS to native components. So it&amp;#x2019;s not even really cross platform. If the rapture occurs and you can remove phonegap, you can&amp;#x2019;t simply take your Appcelerator app and make it a mobile web app.\n\nRhoMobile is somewhat similar. Now that they are owned by Motorola Solutions, unsure as to the future of the product. But that&amp;#x2019;s a bit of FUD from me. Take it with a grain of salt. :)\n\nstrobe is dead, acquired by facebook.\n\nSenchaTouch is NOT free software. It has a commercial software license that, although is free as in &amp;#x201C;Free beer&amp;#x201D; is not free as in &amp;#x201C;Free speech&amp;#x201D;. \n
  33. What about the Appcelerator folks? They are decidedly NOT open source. They compile their own JS to native components. So it&amp;#x2019;s not even really cross platform. If the rapture occurs and you can remove phonegap, you can&amp;#x2019;t simply take your Appcelerator app and make it a mobile web app.\n\nRhoMobile is somewhat similar. Now that they are owned by Motorola Solutions, unsure as to the future of the product. But that&amp;#x2019;s a bit of FUD from me. Take it with a grain of salt. :)\n\nstrobe is dead, acquired by facebook.\n\nSenchaTouch is NOT free software. It has a commercial software license that, although is free as in &amp;#x201C;Free beer&amp;#x201D; is not free as in &amp;#x201C;Free speech&amp;#x201D;. \n
  34. So, anyway, on to the good stuff.\n
  35. \n
  36. Show, don&amp;#x2019;t tell.\n
  37. It&amp;#x2019;s simply a www directory, with all your static web content. And by static I mean &amp;#x201C;No server required&amp;#x201D; - aka what we used to make in Dreamweaver back in the late 90s/early 2000s. But this aint no Web1.0 stuff - this is full on webkit-y goodness.\n
  38. PhoneGap opens a browser, full screen and without all the chrome - and navigates to your index.html\n
  39. As you can see, this is all HTML, CSS, Javascript. You can open it in your local browser and do development. You just have to be careful to not call hardware-specific things when not on a device, which is easy to test.\n
  40. PhoneGap is an interface between YOUR Javascript and the native code. It&amp;#x2019;s a bridge that allows you to call native (and thus hardware) code from a standard, consistent Javascript API. You&amp;#x2019;re also not limited to PhoneGap native code, you can easily write code that extends their API for your own doings (like analytics, augmented reality, etc.). The downside, of course, is you&amp;#x2019;d need to write it for every platform in every language. D&amp;#x2019;oh!\n
  41. PhoneGap has broad support for many hardware specific capabilities - Windows Mobile 7.5 (mango) is quasi-supported by PhoneGap but isn&amp;#x2019;t officially on the list yet.\n
  42. There&amp;#x2019;s also a vibrant plugin community that offers native code components for different platforms. All licensed MIT/BSD - aka do what you want with it.\n
  43. There&amp;#x2019;s also PhoneGap build. An automated service to take your project file (the www directory we saw earlier) and turn that into a compiled binary for iOS, Android, etc.\n
  44. So - yeah, vibrating the device is fine and all, but what about interactivity and data collection? How do I persist my stuff so when the app opens again, it&amp;#x2019;s not brand new?\n
  45. PhoneGap, via webkit, supports &lt;each&gt;. The cool thing about HTTP is that since your app is running in a privileged sandbox via file:// you can do XHR to *any domain*. That&amp;#x2019;s something you can&amp;#x2019;t do on a normal web site; you&amp;#x2019;d need your server to process xhrs, or you&amp;#x2019;d have to use JSON-P or some other hax\n
  46. You can definitely make apps that look and feel native. MOST native apps aren&amp;#x2019;t super graphically intense things that require lots of native code.\n
  47. But even JS is getting 3d-accelerated graphics. \n
  48. I think a lot of people still view JS as a toy language. It isn&amp;#x2019;t. As a ruby developer, I&amp;#x2019;ve pulled a lot of cool things from JS, and I&amp;#x2019;ve brought a lot of ruby stuff to JS.\n
  49. \n
  50. First, you need to have the pre-requisites. For iOS, that&amp;#x2019;s Xcode and a Mac. For Android, that&amp;#x2019;s the Android SDK (Unix and Windows). For WinMo, a Windows PC/VM and the right .NET stuff. etc.\n\nYou can quickly download and install PhoneGap from PhoneGap.com\n\nWrite a HelloWorld HTML file, press compile, and voila!\n
  51. But it&amp;#x2019;s a lot harder than that. You have to build single-page javascript applications. You need to interface with server APIs if you want to do anything interesting. You need to know about WebKit and CSS3 on different devices, and all that stuff. We&amp;#x2019;ve done all that, and we&amp;#x2019;ve released it open source.\n
  52. \n
  53. \n
  54. \n
  55. We also have a remote debugging service. sometimes you encounter bugs when on the device. Usually not in the JS code, but in the way different devices handle CSS rendering (Android v. iOS, etc.)\n
  56. A product called Weinre allows you to debug on a live, running app! We have a hosted service at api.toura.com/weinre that works out of the box with our apps\n
  57. \n