I am a web application developer that has worked primarily with php for almost 10 years. Before this project I had zero experience developing mobile phone applications. I had a few years experience of developing back end services for mobile applications.
Project info: We were asked to create a mobile application that allowed a user to take a photo of a label on a samsung device. This image would then be OCR'ed and provide links to the parts that they sell on their website for that particular device.
Thoughts on Intel® XDK: To start off with, we looked into several different hybrid app development platforms. Many were frustrating as they required a phone to be hooked up to the computer to test and MANY would only allow you to test iOS builds on a mac.
I would have to say that the BIGGEST thing that won us over was the simulator. Being able to simulate our app on any OS platform (or at least the ones we cared about) was crucial. It was not always accurate (sometimes things would work in it but not on the phone) but it was good enough for first rounds of testing while in development.
Next I would like to say that I loved how easy it was to get this app to the phone. First, using app preview I was able to test for a very long time. It was very accurate and I dont think that I ever found a bug on a full build that wasn't found in app preview first. Second, once it was time to actually go full build and test, the emails with the easy install links were absolutely amazing and allowed for very easy installation on our test phones.
Lastly, the customer support was amazing. Ian (and others on the forum) were constantly pointing me in the right direction and really patient with my beginner questions.
Issues: The biggest issue I had was that at some point I had to fall back on cordova plugins. Once I did I could no longer use the simulator or app preview to test my application. This led to me having to do a full build every time i changed any code and wanted to test.
An example of a place where I had to fall back on Cordova was the "upload_to_server" method that Intel® XDK provides. My server is password protected and therefore I would need to send along authentication headers with my upload request. Intel's implementation did not allow for this.
Final thoughts: Considering I had zero experience with mobile application development before this project I am pretty amazed at how easily Intel® XDK allowed me to get my application off the ground. It was great in the early and mid phases and only slightly buggy when i really delved into its available features. It integrated well with jquery and has many great options for anyone looking to push out a mobile application on all platforms quickly. I still believe that if your going for something very complicated that native is best, but this is by far the next best thing.
Bill Garrison
Software Developer
MainStreetHost, Buffalo, NY