PhoneGap: nearly there – but not quitePhoneGap: nearly there – but not quite https://www.citizenme.com/wp-content/uploads/2016/02/photo-1429051883746-afd9d56fbdaf.jpg 1280 706 Morten Jensen Morten Jensen https://secure.gravatar.com/avatar/2442d9c7450fe2b725053b9729a49b79?s=96&d=mm&r=g
A while back I wrote about an internal proof of concept we were doing in order to port our app to Android using PhoneGap. The exercise was time boxed to about 2-3 weeks and was carried out by 2 of our developers. The focus was on the Privacy section where users can review terms of service meanings and ratings for many services; including Facebook, Twitter and Google.
We feel that it is important to provide a rich and easy-to-use user interface for Terms of Service with simple explanations that bridge the gap between the legalese and users of the services. Terms of Service are often so long and construed that virtually no-one bothers reading them. This leads to a lack of understanding of the implications of signing up to – and using – the services. For instance, who owns the content you post and what license do you implicitly give to the service regarding the content that you post?
The overall outcome of the proof of concept was not bad – but due to our mirror/lens user interface in the privacy section, performance & response was too slow in this particular area, which introduced unacceptable risk for the suitability and uptake of the end-result. Ironically, the user interface ran quite well on iOS 7+ – but performance on a variety of Android devices was abysmal.
It would appear that others have had similar experiences with PhoneGap on Android in general. famo.us has, in fact, for this reason promised to build a better PhoneGap. We’re therefore waiting with bated breath – and we will continue to monitor development in this area as we may well make the switch in the future.
Unfortunately, the show must go on – and we are therefore currently busy porting our app to Android natively. We are expecting an Android release later this year.
We have in the meantime open sourced the proof of concept on GitHub(Apache License, Version 2.0). We have also included the report that was written up by our lead app developer Lennie (30/06/2014). We are hoping to spur on a discussion in the wider community about PhoneGap (Apache Cordova) use for cross-platform development and we would value any input you may have. Please feel free to post comments in our CitizenMe forum – or to contact me by email in this regard: morten at citizenme.com.
Goal is to see the performance etc to decide if PhoneGap technology is suitable for Development of the complete CitizenMe application to target multiple mobile platforms (Android, FireFox OS, Ubuntu Touch etc) and use the same code on the browser (Internet Explorer, Firefox, Chrome).
Apache Cordova: http://cordova.apache.org
Using Famo.us to build the tab bar navigation and the Mirror + Lenses.
We only tested the POC on iOS, Android and FireFox OS devices.
On iOS and Firefox OS there is a little delay in the speed but on the Android application the speed is poor.
Found that TypeScript is a good fit but didn’t use it in the POC since no definitions were available for Famo.us.
Famo.us promises to allow web developers to tap the GPU of a device (be it that of a computer, smart TV, tablet, or a phone) for calculations, no plug-in required. To the developer, that means being able to build interfaces that are simultaneously richer and faster. To the end user, that means user interfaces with faster, smoother animations without having to install any plug-ins.
Building apps with Famo.us is certainly possible but there are some pitfalls to consider. Firstly Famo.us is a new framework and therefore lacks many essential building blocks that more established frameworks offer.
Developers utilise many such building blocks in the application development lifecycle. View-management, ready-made UI components, established libraries to accomplish a myriad of tasks such as networking communications, json serialization, etc.
On the plus side, Famo.us can be combined with other frameworks such as jQuery to help with common development tasks.
The main issue at this point in time however, is the lack of support and a non-existent community to assist a developer when a question needs to be answered or a problem needs to be resolved.
On native platforms the code / application runs close to the hardware, CPU etc where PhoneGap code is interpreted within a web browser window.
Photo credit: Negative Space
Morten JensenAll stories by: Morten Jensen
You might also like
Making the news: CitizenMe iOS app announcement takes-offMaking the news: CitizenMe iOS app announcement takes-off https://www.citizenme.com/wp-content/uploads/2014/07/unsplash_5256df5dea82e_1.jpg 1024 566 StJohn Deakins StJohn Deakins https://secure.gravatar.com/avatar/67e7ca4885d1b922783ca3a83741a282?s=96&d=mm&r=g