SlideShare a Scribd company logo
1 of 22
Download to read offline
Mobile apps with JavaScript and PHP

     Ed Finkler

     Fictive Kin

     @funkatron

     http://funkatron.com

     http://joind.in/3389




Thursday, May 26, 2011
Me

     • I work on Gimme Bar (http://gimmebar.com)


     • I work on Spaz (http://getspaz.com)


     • Sometimes I write PHP, sometimes I write JavaScript




Thursday, May 26, 2011
Why JavaScript?

     • Offers the best option for cross-platform mobile dev

     • strong, diverse community, good tools

     • deployable from server or locally-installed




Thursday, May 26, 2011
Most options are JavaScript + HTML + CSS




Thursday, May 26, 2011
Strong webkit implementations on most platforms

     • iOS

     • Android

     • webOS

     • BlackBerry

     • Symbian




Thursday, May 26, 2011
Deploy on server:

     • limits your access to device functionality

     • far easier to update




Thursday, May 26, 2011
Deploy on device

     • access more platform-specific functionality

     • updating can be a pain




Thursday, May 26, 2011
Shim libraries bridge JS and device functionality

     • HP Palm webOS special case – all apps build on JS/HTML/CSS




Thursday, May 26, 2011
Options for device deployment

     • PhoneGap

     • Titanium Mobile




Thursday, May 26, 2011
PhoneGap

     • Wrapper + shim layer – very basic, works on several platforms

     • Much more flexible; lets you pick any approach for building the app

     • Potentially slower; less access to platform-specific APIs

     • http://www.phonegap.com/




Thursday, May 26, 2011
PhoneGap device API support (varies by device)

     • Accelerometer           • Geoloc

     • Camera                  • Media

     • Compass                 • Network connectivity

     • Contacts                • Notications

     • Device Info             • Storage

     • Native Events           • Plugins can add additional
                                 https://github.com/purplecabbage/
     • File                      phonegap-plugins




Thursday, May 26, 2011
PhoneGap + Your preferred approach

     • Lots of JS DOM frameworks work well in PhoneGap

         • jo (http://joapp.com)

         • jQuery Mobile (http://jquerymobile.com)

         • Enyo (http://developer.palm.com/)

         • Sencha Touch (http://www.sencha.com/products/touch/)

         • Many more!




Thursday, May 26, 2011
Titanium Mobile

     • Full-stack, access to native UI components via JavaScript. Works on Android
       and iOS.

     • Potentially faster

     • Anecdotally, can be kinda buggy

     • http://www.appcelerator.com/




Thursday, May 26, 2011
Titanium Mobile device API support

     • Similar base support to PhoneGap, plus

         • Android Calendar

         • Facebook APIs

         • Map

         • XML

         • Yahoo APIs

         • Plugins can add additional functionality; can be written in native code




Thursday, May 26, 2011
Spaz in Enyo

     • Dev in Chrome


     • Test with emulator VM


     • We can build really fast with this




Thursday, May 26, 2011
Server Side: PHP

     • You can build your server side stuff lots of ways

     • Pick what works for you and STFU

     • Some simple FWs

         • koi

         • slim

         • breeze

         • limonade

         • glue

         • flight



Thursday, May 26, 2011
RESTful implementations with JSON responses
     work best

     • Make a simple HTTP call w/ basic query data

     • respond with JSON structure

     • https://www.ibm.com/developerworks/webservices/library/ws-restful/




Thursday, May 26, 2011
FRAPI

     • A great framework for rapidly building RESTful APIs


     • Using it at Gimme Bar




Thursday, May 26, 2011
Examples!

     • WildGarlic


         • in Jo


         • in jQueryMobile + Backbone.js


         • in Enyo




Thursday, May 26, 2011
Examples!

     • FRAPI


         • api.getspaz.com




Thursday, May 26, 2011
Code from examples	

     • http://getfrapi.com


     • https://github.com/funkatron/wildgarlic


     • https://github.com/funkatron/WildGarlic-jqmobile


     • https://github.com/funkatron/Spaz-Web-APIs




Thursday, May 26, 2011
Q&A

     • Axe me


     • http://joind.in/3389




Thursday, May 26, 2011

More Related Content

What's hot

What's hot (6)

Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015
 
jQuery Mobile, Backbone.js, and ASP.NET MVC
jQuery Mobile, Backbone.js, and ASP.NET MVCjQuery Mobile, Backbone.js, and ASP.NET MVC
jQuery Mobile, Backbone.js, and ASP.NET MVC
 
Using source control for domino development - AUSLUG 2016
Using source control for domino development - AUSLUG 2016Using source control for domino development - AUSLUG 2016
Using source control for domino development - AUSLUG 2016
 
Anatomy of a UI Control - Extension Library Case Study
Anatomy of a UI Control - Extension Library Case StudyAnatomy of a UI Control - Extension Library Case Study
Anatomy of a UI Control - Extension Library Case Study
 
WordPress Security for Beginners
WordPress Security for BeginnersWordPress Security for Beginners
WordPress Security for Beginners
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 

Similar to Building mobile apps with JavaScript and PHP

Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Guillaume Laforge
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
Nishant Mehare
 
JavaScript debugging diagnostic web tools and firefox
JavaScript debugging diagnostic web tools and firefoxJavaScript debugging diagnostic web tools and firefox
JavaScript debugging diagnostic web tools and firefox
Gennady Feldman
 
Mobile application development strategies
Mobile application development strategiesMobile application development strategies
Mobile application development strategies
Interop
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 

Similar to Building mobile apps with JavaScript and PHP (20)

Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
Gaelyk - Guillaume Laforge - GR8Conf Europe 2011
 
Ohoh
OhohOhoh
Ohoh
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
AFNetworking
AFNetworking AFNetworking
AFNetworking
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010
 
HTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for ChangeHTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for Change
 
Mobile app development
Mobile app development  Mobile app development
Mobile app development
 
What is Firefox OS
What is Firefox OSWhat is Firefox OS
What is Firefox OS
 
Webinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EPWebinar Mobile ECM Apps with Nuxeo EP
Webinar Mobile ECM Apps with Nuxeo EP
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
 
Introduction to Phonegap
Introduction to PhonegapIntroduction to Phonegap
Introduction to Phonegap
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
 
JavaScript debugging diagnostic web tools and firefox
JavaScript debugging diagnostic web tools and firefoxJavaScript debugging diagnostic web tools and firefox
JavaScript debugging diagnostic web tools and firefox
 
Mobile application development strategies
Mobile application development strategiesMobile application development strategies
Mobile application development strategies
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 

More from funkatron

Secure PHP Development with Inspekt
Secure PHP Development with InspektSecure PHP Development with Inspekt
Secure PHP Development with Inspekt
funkatron
 
Building Desktop RIAs With PHP And JavaScript
Building Desktop RIAs With PHP And JavaScriptBuilding Desktop RIAs With PHP And JavaScript
Building Desktop RIAs With PHP And JavaScript
funkatron
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
funkatron
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 
Securing the PHP Environment with PHPSecInfo - OSCON 2008
Securing the PHP Environment with PHPSecInfo - OSCON 2008Securing the PHP Environment with PHPSecInfo - OSCON 2008
Securing the PHP Environment with PHPSecInfo - OSCON 2008
funkatron
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 
Securing the PHP Environment with PHPSecInfo
Securing the PHP Environment with PHPSecInfoSecuring the PHP Environment with PHPSecInfo
Securing the PHP Environment with PHPSecInfo
funkatron
 

More from funkatron (11)

JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
 
Building RIAs with CodeIgniter and JavaScript
Building RIAs with CodeIgniter and JavaScriptBuilding RIAs with CodeIgniter and JavaScript
Building RIAs with CodeIgniter and JavaScript
 
Secure PHP Development with Inspekt
Secure PHP Development with InspektSecure PHP Development with Inspekt
Secure PHP Development with Inspekt
 
JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
 
Building Desktop RIAs with JavaScript and PHP - ZendCon09
Building Desktop RIAs with JavaScript and PHP - ZendCon09Building Desktop RIAs with JavaScript and PHP - ZendCon09
Building Desktop RIAs with JavaScript and PHP - ZendCon09
 
Building Desktop RIAs With PHP And JavaScript
Building Desktop RIAs With PHP And JavaScriptBuilding Desktop RIAs With PHP And JavaScript
Building Desktop RIAs With PHP And JavaScript
 
Intro To Mvc Development In Php
Intro To Mvc Development In PhpIntro To Mvc Development In Php
Intro To Mvc Development In Php
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Securing the PHP Environment with PHPSecInfo - OSCON 2008
Securing the PHP Environment with PHPSecInfo - OSCON 2008Securing the PHP Environment with PHPSecInfo - OSCON 2008
Securing the PHP Environment with PHPSecInfo - OSCON 2008
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Securing the PHP Environment with PHPSecInfo
Securing the PHP Environment with PHPSecInfoSecuring the PHP Environment with PHPSecInfo
Securing the PHP Environment with PHPSecInfo
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
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
Enterprise Knowledge
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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 convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Building mobile apps with JavaScript and PHP

  • 1. Mobile apps with JavaScript and PHP Ed Finkler Fictive Kin @funkatron http://funkatron.com http://joind.in/3389 Thursday, May 26, 2011
  • 2. Me • I work on Gimme Bar (http://gimmebar.com) • I work on Spaz (http://getspaz.com) • Sometimes I write PHP, sometimes I write JavaScript Thursday, May 26, 2011
  • 3. Why JavaScript? • Offers the best option for cross-platform mobile dev • strong, diverse community, good tools • deployable from server or locally-installed Thursday, May 26, 2011
  • 4. Most options are JavaScript + HTML + CSS Thursday, May 26, 2011
  • 5. Strong webkit implementations on most platforms • iOS • Android • webOS • BlackBerry • Symbian Thursday, May 26, 2011
  • 6. Deploy on server: • limits your access to device functionality • far easier to update Thursday, May 26, 2011
  • 7. Deploy on device • access more platform-specific functionality • updating can be a pain Thursday, May 26, 2011
  • 8. Shim libraries bridge JS and device functionality • HP Palm webOS special case – all apps build on JS/HTML/CSS Thursday, May 26, 2011
  • 9. Options for device deployment • PhoneGap • Titanium Mobile Thursday, May 26, 2011
  • 10. PhoneGap • Wrapper + shim layer – very basic, works on several platforms • Much more flexible; lets you pick any approach for building the app • Potentially slower; less access to platform-specific APIs • http://www.phonegap.com/ Thursday, May 26, 2011
  • 11. PhoneGap device API support (varies by device) • Accelerometer • Geoloc • Camera • Media • Compass • Network connectivity • Contacts • Notications • Device Info • Storage • Native Events • Plugins can add additional https://github.com/purplecabbage/ • File phonegap-plugins Thursday, May 26, 2011
  • 12. PhoneGap + Your preferred approach • Lots of JS DOM frameworks work well in PhoneGap • jo (http://joapp.com) • jQuery Mobile (http://jquerymobile.com) • Enyo (http://developer.palm.com/) • Sencha Touch (http://www.sencha.com/products/touch/) • Many more! Thursday, May 26, 2011
  • 13. Titanium Mobile • Full-stack, access to native UI components via JavaScript. Works on Android and iOS. • Potentially faster • Anecdotally, can be kinda buggy • http://www.appcelerator.com/ Thursday, May 26, 2011
  • 14. Titanium Mobile device API support • Similar base support to PhoneGap, plus • Android Calendar • Facebook APIs • Map • XML • Yahoo APIs • Plugins can add additional functionality; can be written in native code Thursday, May 26, 2011
  • 15. Spaz in Enyo • Dev in Chrome • Test with emulator VM • We can build really fast with this Thursday, May 26, 2011
  • 16. Server Side: PHP • You can build your server side stuff lots of ways • Pick what works for you and STFU • Some simple FWs • koi • slim • breeze • limonade • glue • flight Thursday, May 26, 2011
  • 17. RESTful implementations with JSON responses work best • Make a simple HTTP call w/ basic query data • respond with JSON structure • https://www.ibm.com/developerworks/webservices/library/ws-restful/ Thursday, May 26, 2011
  • 18. FRAPI • A great framework for rapidly building RESTful APIs • Using it at Gimme Bar Thursday, May 26, 2011
  • 19. Examples! • WildGarlic • in Jo • in jQueryMobile + Backbone.js • in Enyo Thursday, May 26, 2011
  • 20. Examples! • FRAPI • api.getspaz.com Thursday, May 26, 2011
  • 21. Code from examples • http://getfrapi.com • https://github.com/funkatron/wildgarlic • https://github.com/funkatron/WildGarlic-jqmobile • https://github.com/funkatron/Spaz-Web-APIs Thursday, May 26, 2011
  • 22. Q&A • Axe me • http://joind.in/3389 Thursday, May 26, 2011