Intro to Mobile Development for Web, IOS & Android Native Apps using PhoneGap & HTML5


Published on

About the Presentation:

We all know that Mobile Development is the big talk of the moment, but getting started brings more questions than answers. Questions such as: Where do you start? What platforms do you target? and/or Do you have to learn COCOA, JAVA, HTML5, CSS3 and all those technologies that you may not know much about?

The good news is that you can relax for now, because there is a new and exciting way to do it all in simple ways. In this workshop you will learn the following in a few short hours… Oh and actually be productive from day one:

How to design and build a single application that runs perfectly on: mobile web browsers, iPhone (native app), iPad(native app) and Android(native app).
How to test your application in IOS Simulator
How to test your application in Android Simulator
How to transfer your application to an actual iPhone and/or iPad
How to transfer your application to an actual Android phone
How to deploy your Android application to the Android Market and Amazon AppStore
How to deploy your iPhone/iPad application to the Apple AppStore

About the Speaker:

Jorge Garifuna is a Professional Software Developer and Consultant with over 15 years of industry experience. His portfolio of technologies include but are not limited to various programming languages, Web 2.0, a diverse number of Frameworks, countless of databases and the latest and greatest in Mobile for popular platforms such as IOS, Android and BlackBerry, among many.

Over the years, Jorge has successfully Designed, Developed and Deployed Software in the areas of E-Commerce, Project Management, Content Management Systems (CMS), Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) to name a few. His technologies have been used, by many consumers, employees and businesses, some of which have grown to multi-million dollar businesses.

Jorge prides himself as a happy contributor to various Open Source Projects, including the ATK Framework and vTiger CRM to name a few. He has also given various presentations in the topics of: Joomla CMS; ATK Framework; Wordpress; ELGG Social Network Framework; Integration of Linux, Apache, MySQL, SQLite with Mkahawa Cyber Manager and PHP; and Mobile Development for Web, IOS Native and Android Native.

Jorge joined LAMPsig over six years ago and is currently serving as the president of this dynamic LAMP group. More details of Jorge’s professional qualifications can be found at:

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Intro to Mobile Development for Web, IOS & Android Native Apps using PhoneGap & HTML5

  1. 1. By Jorge Garifuna Professional Web Developer [email_address] 213-915-4402 Twitter: @jgarifuna
  2. 2. <ul><li>NOW: Show you how easy it is to start native mobile development and illustrate how to test on different phones. </li></ul><ul><li>SOON: Show you how to package your app to distribute to the different App stores. Interested? </li></ul><ul><li>Send Email to: [email_address] </li></ul><ul><li>Subject: want mobile book </li></ul>
  3. 3. <ul><li>Very Expensive </li></ul><ul><li>Time Consuming </li></ul><ul><li>Maintenance Nightmare </li></ul>
  4. 4. <ul><li>Leverage Existing Skills </li></ul><ul><li>Get to Market Sooner </li></ul><ul><li>Reach More Users </li></ul>
  5. 5. Join LA PhoneGap at:
  6. 6. Web Mobile Presentation HTML HTML 5 Styling CSS CSS 3 Logic PHP , Perl, Python, Ruby, Java , C , C ++, Javascript PHP , Objective- C , Java , Javascript Database My SQL , Postgre SQL SQL ite IDE NetBeans, Eclipse , DreamWeaver Xcode, Eclipse , DreamWeaver CS5.5 Frameworks CakePHP, Symphony, ATK, Jquery , Sencha EXT JS Jquery Mobile, Sencha Touch, Jo, PhoneGap Distribution Web Hosting Web Hosting , App Store, Market
  7. 7. <ul><li>Build Mobile App </li></ul><ul><li>Test App on Browser </li></ul><ul><li>Test App on IOS Simulator </li></ul><ul><li>Test App on IOS Devices </li></ul><ul><li>Test App on Android Emulator </li></ul><ul><li>Test App on Android Phone </li></ul><ul><li>Access Devices APIs </li></ul>
  8. 8. <ul><li>SketchyPad/iMockups for wireframing </li></ul><ul><li>DreamWeaver CS5.5 </li></ul><ul><li>Jquery Mobile 1.0a3 </li></ul><ul><li>PhoneGap </li></ul><ul><li>Xcode 4 & Eclipse </li></ul><ul><li>IOS Simulator & Real iPhone </li></ul><ul><li>Android Emulator & Real Phone </li></ul>
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16. <ul><li>Create New Site </li></ul><ul><ul><li>Site -> New Site </li></ul></ul><ul><li>Configure Application Frameworks ( IOS, Android ) </li></ul><ul><ul><li>Site -> Mobile Applications -> Configure Application Framework </li></ul></ul><ul><ul><ul><li>“ Easy Install ” for Android SDK Installation </li></ul></ul></ul><ul><ul><ul><li>IOS Developer Tools Path: /Developer </li></ul></ul></ul>
  17. 17. <ul><li>Create New Mobile Project in DreamWeaver </li></ul><ul><ul><li>File -> New -> Page from Sample -> Mobile Starters -> Jquery Mobile (phonegap) </li></ul></ul><ul><ul><li>DocType: HTML 5 </li></ul></ul>
  18. 18. <ul><li>File -> Save </li></ul>
  19. 19. <ul><li>Activate LiveView in DreamWeaver </li></ul><ul><li>Click on buttons of Mobile App </li></ul><ul><li>Optionally Transfer to Server For More Testing </li></ul>
  20. 20. <ul><li>From DreamWeaver Menu </li></ul><ul><ul><li>Site -> Mobile Applications -> Application Settings </li></ul></ul><ul><ul><ul><li>VERY IMPORTANT: Make sure the Bundle ID does not contain any underscores(_) and no spaces </li></ul></ul></ul><ul><ul><ul><li>Fill out Information </li></ul></ul></ul><ul><ul><ul><li>Optionally add Application Icon and Startup Screen </li></ul></ul></ul><ul><ul><ul><ul><li>Images must be PNG 8 </li></ul></ul></ul></ul><ul><ul><ul><li>Save </li></ul></ul></ul>
  21. 21. <ul><li>From DreamWeaver Menu </li></ul><ul><ul><li>For iPhone </li></ul></ul><ul><ul><ul><li>Site -> Mobile Applications -> Build and Emulate -> iPhone </li></ul></ul></ul><ul><ul><li>For iPad </li></ul></ul><ul><ul><ul><li>Site -> Mobile Applications -> Build and Emulate -> iPad </li></ul></ul></ul>
  22. 22. <ul><li>Start Android Emulator </li></ul><ul><ul><ul><li>From command line: </li></ul></ul></ul><ul><ul><ul><ul><li>/Applications/Android/tools/emulator -avd DW_AVD </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>NOTE: Substitute “/Applications/Android” with your Android installation path </li></ul></ul></ul></ul></ul><ul><li>Site -> Mobile Applications -> Build and Emulate -> Android </li></ul><ul><ul><li>On failure, simply build app and manually install </li></ul></ul><ul><ul><ul><li>adb install AppFile.apk </li></ul></ul></ul>
  23. 23. <ul><li>From Android Market install </li></ul><ul><ul><li>AppInstaller or </li></ul></ul><ul><ul><li>Quick App Install </li></ul></ul><ul><li>Insert Micro SD Card on Android Phone </li></ul><ul><li>Connect Android Phone to Computer Via USB </li></ul><ul><li>Mount Phone to Computer </li></ul><ul><ul><li>Slide down from top bar </li></ul></ul><ul><ul><li>Select USB Connected </li></ul></ul><ul><ul><li>Click mount button </li></ul></ul><ul><li>Check mounted card under Devices on Mac OS Finder </li></ul><ul><li>Copy Newly created .apk files from computer to Phone Card </li></ul><ul><ul><li>Located in APP_NAME_Android/bin </li></ul></ul><ul><li>Unmount card from computer </li></ul><ul><li>Turn off USB on Phone </li></ul><ul><ul><li>Slide down from top bar </li></ul></ul><ul><ul><li>Click “Turn off USB storage” </li></ul></ul><ul><ul><li>Click on “turn off” button </li></ul></ul><ul><li>Install App either with AppInstaller or Quick App Install </li></ul><ul><li>Open App </li></ul>
  24. 24. <ul><li>You need to be a paid IOS Developer </li></ul><ul><ul><li>Your IOS Device must be registered at: </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><li>Connect IOS Device to computer via USB </li></ul><ul><li>Navigate to newly built IOS Project </li></ul><ul><ul><li>Located at APP_NAME_IOS </li></ul></ul><ul><li>Double click on APP_NAME.xcodeproj to open in Xcode </li></ul><ul><li>Click on the project name in Xcode </li></ul><ul><ul><li>Set deployment target to the same version as your IOS device in IOS Application Target </li></ul></ul><ul><ul><li>Set the appropriate target device(iPhone, iPad, Universal) </li></ul></ul><ul><ul><li>Make your preferences in iPhone/iPod Deployment Info </li></ul></ul><ul><li>Select your IOS Device from drop down list of devices next to the run button </li></ul><ul><li>Click the Run button </li></ul>
  25. 25. <ul><li>Add better navigation provided by Jquery Mobile </li></ul><ul><ul><li> </li></ul></ul><ul><li>Tap into the device’s APIs (camera, GPS) with PhoneGap </li></ul><ul><ul><li> </li></ul></ul>
  26. 26. <ul><li>Jquery Mobile (v1.0a3) does not re-style dynamic list views (yet) </li></ul><ul><ul><li>Need to upgrade to JQM v1.0a4.1 </li></ul></ul><ul><ul><li>Refresh list with: jQuery('#link_list').listview(); </li></ul></ul><ul><li>Navigation bar transition in Jquery Mobile is not very smooth (yet) </li></ul><ul><ul><li>DAVID FELDMAN recommends </li></ul></ul><ul><ul><ul><li>Sencha Touch: </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><ul><ul><li>Read David’s review: “Comparing Mobile Web (HTML5) Frameworks: Sencha Touch, jQuery Mobile, jQTouch, Titanium” at: </li></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><li>To access devices’ APIs you need to either add or update PhoneGap path in index.html to: </li></ul><ul><ul><li><script src=&quot;phonegap.js&quot; type=&quot;text/javascript&quot;></script> </li></ul></ul>
  27. 27. <ul><li>While you think… </li></ul><ul><ul><li>Sign up to LAMPsig’s mailing list at: </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>Join LAMPsig on Meetup at: </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>Jorge Garifuna </li></ul></ul><ul><ul><ul><li>[email_address] </li></ul></ul></ul><ul><ul><ul><li>@jgarifuna </li></ul></ul></ul>
  28. 28. <ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> touch </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>