DevChatt 2011 - PhoneGap: For Fun and Science


Published on

#devchatt Slides from the PhoneGap demo

Published in: Technology, Education
1 Like
  • Be the first to comment

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

No notes for slide
  • I'm making the assumption that you already know what mobile applications are and you know why to support them. If you don't, too bad we don't have the time. Hi, My name is Cameron, I am a web frontend developer who works out of Atlanta, and this is my second DevChatt conference. Today we're going to talk about mobile application development using the PhoneGap framework. We're going to cover a couple of things but segue into questions
  • I think last year I said HTML5 was going to be big in the mobile spaces – well, I'm sorta right PhoneGap uses HTML5 to give us a foundation upon which we can build these rich mobile applications that we would need to use proprietary languages and toolkits to use Simple rapid iteration and multi-platform support might be a reason companies like IGN, Logitech, Yamaha, and Ribot use PhoneGap for their mobile applications
  • Basically, PhoneGap is a glorified WebView function. Without this centralized JS library that handles native calls to the device OS, I'd be speaking about the exciting world of FORTRAN Many browsers (older Android phones) benefit from the addition of enhanced HTML5 features
  • That's good old fashioned Misogyny PhoneGap will not be the stop-gap for a real mobile applications – but it is perfect for rapid application development. We don't need to know new technologies if we use what we already know
  • Support varies from handset to handset, with Windows Phone 7 being the weakest due to its piss-poor rendering engine (IE7). But there is support Bada is a mobile OS developed by Samsung, but no Bada devices are available in the US nor are there any immediate plans. Samsung seems to be releasing Android-only mobile devices here. MeeGo support is there, but Mike is the only person here who cares about it and Nokia is going in a new direction... PhoneGap does not work with NetFront, which is used on some Sony devices. Future devices (NGP handheld) will use WebKit but may not have a legal SDK.
  • Mobile browsers...well, is a space in which WebKit has a solid grip (55.51%) over. With the exception of IE7 Mobile on Windows Phone 7, you will be developing with WebKit support in mind This does not mean that WebKit support across mobile devices is universal (see quirksmode). These statistics cover those collected by StatCounter and are not representative of real-world demographs.
  • MARTA was willing to give me access to the SOAP API that they allow Google and GDOT to access for course planning...after I applied for an IT Services contract. And closed the sources on my app. And agreed to a non-compete clause... They also make all their aggregate data impossible to page scrape. And now they're raising the fares for rail access incrementally by 22%. Fuck MARTA. DC has the best Metro OF ALL TIME
  • I also want to thank Medium and the people who worked there for helping put this together. I'm saddened to hear all the bad news, and I wish you all the best.
  • DevChatt 2011 - PhoneGap: For Fun and Science

    1. 1. PhoneGap For fun and science Cameron Kilgore • @thrillgore •
    2. 2. What in the world is PhoneGap? <ul><li>PhoneGap is a framework that uses web technologies such as HTML5, CSS3, and JavaScript to resolve the multi-platform mobile device conundrum </li><ul><li>If you can make a web app, you can make a PhoneGap app </li></ul><li>Developed & maintained by Nitobi, and available to the community at large as open source (MIT) </li></ul>
    3. 3. How it's made (also a popular TV show) <ul><li>PhoneGap uses JavaScript functions to access native interfaces on mobile devices </li><ul><li>Camera
    4. 4. Accelerometer
    5. 5. Storage
    6. 6. Events
    7. 7. Etc... </li></ul><li>Uses HTML5 semantic elements to implement context modes and interfaces from device to device
    8. 8. Extends HTML5 featureset in multiple devices </li></ul>
    9. 9. Work the Shaft <ul><li>PhoneGap's only performance gap is the performance of the rendering engine </li><ul><li>Mobile rendering engines are faster than you think
    10. 10. Handsets are iterating quickly </li></ul><li>Perfect for RAD and Agile development
    11. 11. HTML/CSS/JS is a framework we all know, so we don't need to learn Obj-C or Java to write applications
    12. 12. Every interface we need can be accessed using PhoneGap's JS calls </li><ul><li>Similar to a JS library like jQuery, Dojo, Sencha </li></ul></ul>
    13. 13. You broke it, didn't you? <ul><li>PhoneGap does not compile to native C like AppCelerator
    14. 14. While Apple recognizes that PhoneGap falls into “acceptable” terms, this could change
    15. 15. Performance is dependent on the rendering engine and JS interpreter </li><ul><li>And the OS </li></ul><li>You open yourself up to internet browser vulnerabilities </li><ul><li>XSS attacks are possible </li></ul></ul>
    16. 16. Booby trap the Stalemate button <ul><li>PhoneGap is just a browser for local assets – it does not include a full web server stack </li><ul><li>If you want to make multi-page applications, you might have to work around that </li></ul><li>You can extend functions with plugins
    17. 17. There are so many interfaces offered that I don't have time to cover them all </li><ul><li>But if you want to do it, chances are you can with PhoneGap </li></ul></ul>
    18. 18. You Mileage May Vary <ul><li>PhoneGap works with: </li><ul><li>iOS (iPhone, iPod Touch, iPad)
    19. 19. Android
    20. 20. Symbian
    21. 21. Blackberry OS (OS 6+ and PlayBook)
    22. 22. WebOS
    23. 23. Windows Phone 7
    24. 24. Bada
    25. 25. MeeGo (status of MeeGo unknown) </li></ul></ul>
    26. 26. Some perspective on mobile browsers
    27. 27. Let's build an app <ul><li>We're going to build a simple application that demos Accelerometer, Camera, and Location inside an Android 2.3 AVD Image </li><ul><li>Due to move and short schedule I had to rebuff on more ambitious plans </li></ul><li>To speed up time, we're also going to use jQuery Touch for our interface elements </li><ul><li>jQuery Touch is another speech another time </li></ul></ul>
    28. 28. Switch to Eclipse Here Oh god how did this get here I am not good with computer
    29. 29. In Closing PhoneGap isn't this cool, but it's close!
    30. 30. Any Questions? Thanks for coming Source code + slides will be up soon @thrillgore