Architecting a PhoneGap Application: Video + Slides

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

The slides are available here.

  • Artem

    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?

  • Very good presentation, thanks.

  • snaker.wood

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

  • Tadeu Caldas

    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?

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

  • Jarred

    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…

    Thanks,
    Jarred

    • 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.

      HTH,
      Christophe

  • Good presentation keep it up…

  • Pingback: Developing PhoneGap mobile project. Final part()

  • Jay

    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.

  • Jud

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

  • Jay

    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

  • Alex

    Do you have the source files available for download?

  • 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!!

    Matt

  • loki

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

    Thanks again Christophe!

  • Kevin Morris

    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?

  • 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.

  • 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.

  • Murnax

    Thank you for great presentation.

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

    Again, Thank you

  • Darth Vader

    Awesome, very well explained. Thanks

    D

  • Hi,

    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

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

    Gracias Christophe, saludos desde Colombia!

  • Naveed Ahmed

    Great webinar for beginner like me!

  • templaries

    Mission accomplished. I am evangelizated.

  • Pingback: CRUD operation using jquery mobile on android – Part 2 | Nurdin Norazan S/W Engineer()

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

  • 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.

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

  • Pingback: Develop a simple to-do-list mobile app using phonegap/cordova for iOS and android -Part 3 | Nurdin Norazan S/W Engineer()

  • Robert

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

  • very good prestentation. thanks for sharing.

  • ali khan

    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

  • ali khan

    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

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

  • many of us have created some nice procedures

  • Gavin

    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?

    Thanks
    G.

  • haf he he

  • 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.

css.php