SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Was ist angesagt?

Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015Build automation for XPages - AUSLUG 2015
Build automation for XPages - AUSLUG 2015
gregorbyte
 
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
Troy Miles
 
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
gregorbyte
 
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
gregorbyte
 
WordPress Security for Beginners
WordPress Security for BeginnersWordPress Security for Beginners
WordPress Security for Beginners
Adam W. Warner
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
Nikolai Onken
 

Was ist angesagt? (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
 

Ähnlich wie 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
 
Ohoh
OhohOhoh
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
AFNetworking
AFNetworking AFNetworking
AFNetworking
joaopmaia
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010
David Ortinau
 
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
Jan Jongboom
 
Mobile app development
Mobile app development  Mobile app development
Mobile app development
Luke Summerfield
 
What is Firefox OS
What is Firefox OSWhat is Firefox OS
What is Firefox OS
Chit Thiri Maung
 
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
Nuxeo
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
Nishant Mehare
 
Introduction to Phonegap
Introduction to PhonegapIntroduction to Phonegap
Introduction to Phonegap
Andrei Firoiu
 
Future of Mobile
Future of MobileFuture of Mobile
Future of Mobile
Brian LeRoux
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
Brian LeRoux
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
webprogr.com
 
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
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
alunny
 
2011 code camp
2011 code camp2011 code camp
2011 code camp
imranq2
 
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
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
Hayden Bleasel
 

Ähnlich wie 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
 

Mehr von funkatron

JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
funkatron
 
Building RIAs with CodeIgniter and JavaScript
Building RIAs with CodeIgniter and JavaScriptBuilding RIAs with CodeIgniter and JavaScript
Building RIAs with CodeIgniter and JavaScript
funkatron
 
Secure PHP Development with Inspekt
Secure PHP Development with InspektSecure PHP Development with Inspekt
Secure PHP Development with Inspekt
funkatron
 
JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
funkatron
 
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
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
 

Mehr von 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
 

Kürzlich hochgeladen

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 

Kürzlich hochgeladen (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 

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