Architecting a PhoneGap Application: Video + Slides

Here is the video of my PhoneGap Architecture talk at Adobe MAX 2013:

The slides are available here.

42 Responses to Architecting a PhoneGap Application: Video + Slides

  1. Artem May 13, 2013 at 6:25 pm #

    Really good article but… i can’t find simple way to create “templated” webapps can’t sleep and work several days without it. So I decided create solution that should generate simple webApp using json config from customer. It wouldn’t be customizable but quick and cheep, what are you thinking about it?

  2. Tom Fan May 14, 2013 at 3:00 am #

    Very good presentation, thanks.

  3. snaker.wood May 14, 2013 at 11:25 am #

    Excuse me, but since when underscore.js is a template library ?

  4. Tadeu Caldas May 14, 2013 at 2:51 pm #

    Hey there.. I was about to give up phonegap but then I found your presentation on Adobe TV and I finally learn something about JS Archtitecture.. Do you have the files of that presentation somewhere?

  5. Daniil Vnoutchkov May 15, 2013 at 9:47 am #

    Great presentation Christophe!
    Would you be able to upload the final files of the presentation?

  6. Jarred May 15, 2013 at 3:38 pm #

    Hi Christophe!

    I was at your MAX presentation, and preconference workshop. They were fantastic! I am already implementing some of the employee directory code from the workshop to create an app…

    I just about have it, but I am having a problem though with firing an adapter function automatically (not as part of the on keyup action from the search bar).

    I can get the function to run fine, but what happens is that the list element gets written to the screen, then the render() method overwrites it. It seems like the reason it works in the example is because it’s connected to something that is already written to the screen (the search bar) by the Handlebars template, so then the list doesn’t get overwritten.

    I’ve been at this for 2 days now, and cannot figure out how to run the function from my class after handlebars does it’s thing…

    Do you have any pointers? I’m sure I’m missing something obvious…


    • Christophe Coenraets May 17, 2013 at 9:02 am #

      Hi Jarred,
      Not totally sure what you are trying to do. If you have a code example, I can look into it.

      >> “can get the function to run fine, but what happens is that the list element gets written to the screen, then the render() method overwrites it.”

      The adapter function shouldn’t modify the UI. That’s what the render function is for. So the typical workflow, is that you call and data adapter function that modifies the model (a data structure), and then the render function modifies the UI (in this case the list) using the modified model.


  7. Astoria May 16, 2013 at 8:35 am #

    Good presentation keep it up…

  8. Jay May 19, 2013 at 12:41 pm #

    Thanks for this presentation, it was great. No one has put this out there like this, step by step.

    I was wondering if you would be willing to post your source code examples on github or something for us to work on/through. They are wonderfully and simply laid out and would help me (and maybe others) a great deal.

  9. Jud May 23, 2013 at 9:19 am #

    Hello Christophe, on page 33 of your slides, what tool does the symbol in the upper right corner represent?

  10. Jay May 24, 2013 at 9:26 am #

    Hi Christophe, in the routing section, what is an example of a really small framework I can use for routing in a custom stack? I am going to have the single page architecture as you have used, but just wondered about an example of the best routing library. Thanks

  11. Alex May 28, 2013 at 3:39 pm #

    Do you have the source files available for download?

  12. Matt May 29, 2013 at 5:26 am #

    Hi Chris,

    Just wanted to say awesome presentation!!

    Yes I would really appreciate it if we could have the source files of the presentation. As I always finding it easier to understand when I can take a look at what’s under the hood.

    I’m trying to remove my dependency on jqm on phonegap apps which is proving to be tricky and your video has inspired me to do so!!

    I hope you can take the time to upload the files!!


  13. loki May 29, 2013 at 10:11 am #

    Yes the source files from the Adobe Edge part of the presentation would be a life saver!

    Thanks again Christophe!

  14. Kevin Morris June 6, 2013 at 9:42 pm #

    I attended your presentation at Adobe Max and I’m really excited about making my PhoneGap application “browser runnable”. Do you have any suggestions for libraries, frameworks, or other data interfaces to help me abstract away my data access?

  15. Offshore Mobile Application Development June 26, 2013 at 7:16 am #

    Great presentation! PhoneGap is definitely one of the best tools for developing cross platform mobile app development. The main reason for using PhoneGap is that it is open source and hence, useful in developing as many possible applications.

  16. Hi! I know this is kinda off topic but I was wondering which blog platform are you using for this site?

    I’m getting fed up of WordPress because I’ve had problems with hackers and I’m looking at options for another platform. I would be fantastic if you could point me in the direction of a good platform.

  17. Murnax July 26, 2013 at 1:36 am #

    Thank you for great presentation.

    I’m confusing is UI framework necessary to use? What efficiently we take from using it

    Again, Thank you

  18. Darth Vader September 19, 2013 at 7:22 pm #

    Awesome, very well explained. Thanks


  19. Paulson George December 21, 2013 at 4:53 pm #


    It was very helpful for beginners of PhoneGap like me. It gave me a lot of insight about the right way of doing things with PhoneGap.

    Then, I have one suggestion. It will be highly appreciated if you could provide us a fully functional app which follows all these architectural and performance principles, and utilizes the best frameworks(which you prefer), which can be used as a starting point for beginners. Please excuse me if I missed something like that already exists.

    Thanks again,
    Paulson George

  20. Luis January 10, 2014 at 7:16 pm #

    I have learned so much from your tutorials, you are a genius and really admire your work!

    Gracias Christophe, saludos desde Colombia!

  21. Naveed Ahmed January 16, 2014 at 7:21 am #

    Great webinar for beginner like me!

  22. templaries February 9, 2014 at 8:22 am #

    Mission accomplished. I am evangelizated.

  23. May 25, 2014 at 1:23 am #

    As the admin of this site is working, no hesitation very soon it will be well-known, due to
    its quality contents.

  24. sbobetasia June 1, 2014 at 9:20 pm #

    Do you have a spam issue on this blog; I also am a blogger,
    and I was wondering your situation; many of us have created some nice procedures
    and we are looking to trade techniques with others, why not shoot me an e-mail if interested.

  25. Larue Paravati June 21, 2014 at 12:42 am #

    Very good information. Lucky me I came across your site by accident (stumbleupon). I’ve saved as a favorite for later!

  26. Robert January 6, 2015 at 7:08 am #

    Auto writing a blog application was created to improve the task of regular weblog publishing to several weblogs. serruriers

  27. konveksi baju February 12, 2015 at 12:22 pm #

    very good prestentation. thanks for sharing.

  28. ali khan April 18, 2015 at 7:58 am #

    Just like other market around the world, Orange County is even recognizing the fact that internet marketing is a very essential part of marketing. list of the best air compressors

  29. ali khan April 18, 2015 at 7:59 am #

    Today being online is very important in order to reach out to your maximum potential customers, and the best way to be online is through your website. Now, just creating a website will not help the company, one will also have to make their presence felt to their customers. With increase online marketing, SEO is becoming a popular service to help companies to reach out to their customers online. There are many SEO Company Orange County, and they are doing a good job in reaching out to more number of customers. for specifically tire inflators

  30. mynet chat May 6, 2015 at 5:39 pm #

    a popular service to help companies to reach out to their customers online. There are many SEO Company Orange County Thank you coanraets

  31. sohbet May 6, 2015 at 5:41 pm #

    many of us have created some nice procedures

  32. Gavin June 9, 2015 at 9:13 am #

    Hi Christophe

    Awesome presentation!
    Is the source code available somewhere to look?
    Also could you please let me know if there is any website/resource where I can look into good android code examples?


  33. sohbet October 22, 2015 at 3:52 pm #

    haf he he

  34. forma imalatı November 18, 2015 at 8:59 am #

    Fabrics we use in our form; The first-class micro-interlock; flex-fit, anti-bacterial, it has a thermo-balance, and immediately drying. This gives you the freedom to move your soccer jerseys of the match; It is designed stylish enough to be worn on a daily basis. Our models are produced in two types as my special jerseys and other digital printed.


  1. Developing PhoneGap mobile project. Final part - May 16, 2013

    […] you want to better understand PhoneGap application design I would strongly recommend video presentation by Christophe […]

  2. CRUD operation using jquery mobile on android – Part 2 | Nurdin Norazan S/W Engineer - February 25, 2014

    […] languages are HTML5, CSS and Javascript. We can’t simply run PHP or JAVA in mobile app. This video will answer these […]

  3. Develop a simple to-do-list mobile app using phonegap/cordova for iOS and android -Part 3 | Nurdin Norazan S/W Engineer - November 3, 2014

    […] are HTML5, CSS and Javascript. We can’t simply run PHP or JAVA in mobile app. This video ( will answer these […]

Leave a Reply