Before I start, a good explanation of what PhoneGap is can be found here
PhoneGap is one of many frameworks (Titanium, Rhomobile, RubyMotion, etc.) that have been created over the last few years due to some perceived negatives around writing native applications. These include:
- Cost of developing and maintaining applications on multiple platforms
- The languages used are not always looked upon favourably (Objective C and Java)
However, some of these use web views and the criticism around them is that they are sluggish and not as snappy as a native application.
With the release of 2.0, I decided to give PhoneGap another look and head off to the launch talks. Here is a list of what I found interesting…
- Its called Callback, not PhoneGap
- Its called Cordova, not Callback
- Its called Apache Cordova, not Cordova
- Consistency is important
- Apache Cordova is pronounced PhoneGap
- This project is schizophrenic in its naming
- For a clear explanation of all above points see here
- I prefer high-level talks to low-level talks. Lower level talks always feel rushed, as somebody has something amazing to explain and that something is usually amazing but 30 minutes or so does not do it justice and so a talk feels rushed. This meant that I enjoyed Pamela Fox’s “PhoneGap Pain Points” talk the most. Nobody ever sells their product by pointing out the weaknesses, and so I appreciated the honesty of her presentation. She also pointed out that the knowledge base for PhoneGap at the moment is not what it could be, which is an important consideration when adopting a technology.
- Android can be a nightmare to test on… which I knew, but its usually nice to have somebody confirm your thoughts, and remove any thoughts of prejudices that you may hold.
- Patrick Mueller showed off the interesting Weinre (pronounced ‘winery’). It looks a lot like Web Inspector, which is not too surprising as he is a contributor to Webkit. This was the most impressive thing that I saw, as it allowed you to remotely debug web pages, which means you can do this on a phone. Neat! There is also a profiler, which allows you to look into what’s going on during app loading. Pamela Fox pointed out the importance of this when pointing out that you should move code from onLoad to deviceReady. Reducing app startup time is important!
- Performance – again! People should be careful with CSS selectors (id vs class) and remember that they need to keep the app as responsive as possible.
- I’m going to give PhoneGap a second chance