Your SlideShare is downloading. ×
Mobile Web App Development
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mobile Web App Development

4,169
views

Published on

Published in: Technology, News & Politics

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,169
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
164
Comments
0
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PhoneGap Easy Mobile Apps with JavaScript Monday, December 7, 2009
  • 2. THANK YOU! > var web = {}; undefined > web.next(); [”javascript”,”mobile”] Monday, December 7, 2009
  • 3. me. • github.com/brianleroux • twitter.com/brianleroux 3 Monday, December 7, 2009
  • 4. http://www.gartner.com/it/page.jsp?id=1126812 Monday, December 7, 2009
  • 5. Mobile app dev is hard. Monday, December 7, 2009
  • 6. Device Platform Fragmentation Platform Language Notes Apple iPhone Objective C Requires an Apple machine. Left arm. RIM Blackberry OS Java  Requires a Windows based machine. WTF. Google Android Java (Dalvik VM) Runs mostly anywhere. Windows Mobile .NET or unmanaged C++ Requires a Windows based machine. Nokia Symbian C++, Java, Python, Flash, Runs mostly anywhere. WRT Palm WebOS HTML, CSS and JavaScript Runs mostly anywhere. Monday, December 7, 2009
  • 7. App Distribution Fragmentation Apple App Store  Android Market  Blackberry App World  Nokia Ovi Store  GetJar  Palm App Catalog  Samsung App Store  LG Application Store  Mobango  Sony Ericsson PlayNow  Windows Marketplace  Vodafone App Store  Java App Store  Verizon VCast Monday, December 7, 2009
  • 8. Dev and distribution nightmare. Monday, December 7, 2009
  • 9. This is why the internet works. cross platform open standards open source Monday, December 7, 2009
  • 10. Cross Platform iPhone Android Blackberry Windows Mobile Nokia Palm * Maemo* * releasing VERY soon Monday, December 7, 2009
  • 11. HTML5 sorta Monday, December 7, 2009
  • 12. Webkit APIs SQLite Cache Manifest CSS Transitions / Transforms / Animations Custom fonts Monday, December 7, 2009
  • 13. PhoneGap API Geolocation Accelerometer Notifications Media playback Camera Device info Contacts Online/Offline SMS / Telephone Magnetometer Monday, December 7, 2009
  • 14. Future APIs File IO WebSocket SQLite Wrapper Monday, December 7, 2009
  • 15. Free: as in freedom. MIT Licensed Monday, December 7, 2009
  • 16. PhoneGap Philosophy The purpose is to cease to exist. Make the web a first class dev tool. Be open, transparent and free. Adhere to standards when possible. Monday, December 7, 2009
  • 17. Sony Ericsson WebSDK http://developer.sonyericsson.com/websdk 17 Monday, December 7, 2009
  • 18. Yeah way. Geolocation Accelerometer Notifications Media playback Camera Device info Contacts On these devices: Online/Offline SMS / Telephone iPhone / iPod Touch Magnetometer Android Blackberry Nokia Windows Mobile Palm webOS Monday, December 7, 2009
  • 19. Problems with the PhoneGap project documentation app store FUD no fucking tests many webkit variants perceived competition tooling is not consolidated source is a bit of a gong show no standard technique for extending the project Monday, December 7, 2009
  • 20. docs.phonegap.com  http://github.com/phonegap/phonegap-docs  Monday, December 7, 2009
  • 21. App Store Rejections? Rename your project. Monday, December 7, 2009
  • 22. No fucking tests?! Monday, December 7, 2009
  • 23. mobile-spec Monday, December 7, 2009
  • 24. Webkit 24 Monday, December 7, 2009
  • 25. Yay Webkit! Good! sqlite cache manifest css awesome custom fontage Monday, December 7, 2009
  • 26. Bad * * many variants ** not mozilla Monday, December 7, 2009
  • 27. Ugly • Blackberry less than 4.6 have no XHR • Windows Mobile runs IE 4 • Or worse: IE 6 + 7 Monday, December 7, 2009
  • 28. The many flavours of Webkit iPhone OS 3.0 Webkit 528.16 Build iPhone OS 2.2 Webkit 525.20 Build iPhone OS 2.02 Webkit 525.20 Build iPhone OS 1.5 Webkit 419.3 Build Android 1.5 Webkit Nov 2008 Fork Android 1.1 Webkit Rev r30692 Android 1.0 Webkit PalmPre OS Webkit Nokia S60 Webkit Fork Nokia WRT Webkit Fork Monday, December 7, 2009
  • 29. Not to mention what isn't Webkit Blackberry  Windows Mobile . . . . . . . ...yet. Monday, December 7, 2009
  • 30. The web still rocks. (even if the browsers do not) Monday, December 7, 2009
  • 31. Other options? Option Supported Platforms Language License BigFive iPhone HTML, CSS and JS GPL2 LiquidGear iPhone HTML, CSS and JS* MIT Corona iPhone Lua Proprietary Appcelerator iPhone HTML, CSS and JS* Apache Android Rhodes iPhone HTML, CSS and JS. GPL3 Symbian Ruby for native code. Android Accessed client/server BlackBerry style. Windows Mobile NimbleKit iPhone HTML, CSS and JS* Proprietary * Renders native controls via JavaScript. Monday, December 7, 2009
  • 32. PhoneGap supported devices http://rubyurl.com/jtNs 32 Monday, December 7, 2009
  • 33. Wash, Rinse, Repeat...FAIL 1. First, install all these: o iPhone SDK o Android SDK o Blackberry SDK o Windows Mobile SDK o Nokia WRT SDK 2. Download the PhoneGap source.  3. Map to each SDK. 4. Copy your app into each. 5. Build for each. 6. Fix a bug.  7. GOTO 3. Automation FAIL. Monday, December 7, 2009
  • 34. phonegap-dev coming soon... Monday, December 7, 2009
  • 35. is demo time nao Monday, December 7, 2009
  • 36. Extending PhoneGap Plugins Monday, December 7, 2009
  • 37. Many codebases. Monday, December 7, 2009
  • 38. Great but how to get started? Small screens. Less memory. Less CPU. Less hard drive space if any. Sketchy connectivity. Monday, December 7, 2009
  • 39. Constraints == Focus   Monday, December 7, 2009
  • 40. JavaScript Sucks (But it is ubiquitous.) Monday, December 7, 2009
  • 41. jQuery / Dojo / YUI / MooTools Monday, December 7, 2009
  • 42. XUI 2.2 kb Monday, December 7, 2009
  • 43. XUI + Emile Monday, December 7, 2009
  • 44. Good enough. DOM / Event / Style / XHR / FX Monday, December 7, 2009
  • 45. What about UI components?   Monday, December 7, 2009
  • 46. FUCK UI components. Monday, December 7, 2009
  • 47. Apps built w/ components look like it. Monday, December 7, 2009
  • 48. Solve your unique problem. goals > features Monday, December 7, 2009
  • 49. Tapbots, for example. Monday, December 7, 2009
  • 50. This is the modern equivalent of Outlook Express. Fuck components. Especially native components. Monday, December 7, 2009
  • 51. Solve your unique problem. And you will do it better than a generic solution. Monday, December 7, 2009
  • 52. Maybe you don't even need native features? Use a mobile specific stylesheet. Progressive enhancement of functionality w/ js. Monday, December 7, 2009
  • 53. The Future Monday, December 7, 2009
  • 54. More devices. Monday, December 7, 2009
  • 55. OMTP BONDI Spec. Monday, December 7, 2009
  • 56. W3C Device API Group Monday, December 7, 2009
  • 57. Get involved. • code: github.com • docs: docs.phonegap.com / wiki.phonegap.com • test: mobile-spec • blog about it • tweet about it! • tell your mom about it (I already did) • help on mailing list 57 Monday, December 7, 2009
  • 58. Now... go write some apps!* http://phonegap.com http://groups.google.com/group/phonegap Brian LeRoux brian@nitobi.com http://twitter.com/brianleroux * After beers. Ideally at least 12 hours after beers. Monday, December 7, 2009

×