If you want to teach your team or students how to program and learn programming languages, you would not want to utilize Phone Gap software. The Phone Gap software creates an easy fix to avoid learning every programming language for mobile devices. This creates a learning curve for some programmers because they no longer need to learn every language to be successful. However, for personal growth, this could pose an issue if programmers need to change jobs and are only capable of programming in web languages and then translate them using Phone Gap. Adobe Phone Gap works wonderfully for what our company uses it for. We use it because we have app launch deadlines and our programmers are invested in the company; therefore, they are aware that output is our goal, not actually learning the various languages, but more making sure the client is happy
I do not think I can recommend Appcelerator at this point due to the issues with Appcelerator studio, lack of good debugging support, lack of thorough documentation and forums and the additional cost overhead of licenses. The pros are just that it allows for cross-platform development. However, Cordova does a much better job of it and excels at places where Appcelerator currently struggles
It is very hard to debug your code. Breakpoints never worked for us even with the latest Appcelerator Studio and we had to rely on log statements to debug.
There is a need to purchase licenses from Appcelerator to run the code on a device or for creating iOS distribution builds. This is an additional cost when you have already paid for Apple developer program for precisely these things.
If things are broken due to lack to support between Appcelerator and a new iOS version, you pretty much have to rely on a new version release from Appcelerator for the issue to be fixed.
It is difficult to create enterprise distribution builds where the distribution certificate is owned by your organization's team and you only have a development certificate for the same.
The forums on developer.appcelerator.com are seldom helpful. It is hard to find solutions for issues even on other forums like stack overflow.
We selected Cordova since it provides ease of doing business and ease of use. The best thing about Cordova is that you can code once and run it on multiple platforms. Cordova provides add-ons that connect your code with native features of various mobile platforms. And you do not need to learn anything new since you can use your javascript skills
Appcelerator makes you write a structured code whereas Cordova just packages your code and you are free to structure it. Appcelerator bridges your javascript code with native code and that would make it run faster than javascript code in Cordova apps. However, with recent mobile browsers, you would hardly notice any performance deterioration with Cordova apps. Appcelerator struggles with issues related to its IDE, debugging, documentation and forums and additional costs. Cordova makes it much more simpler to develop cross-platform apps with better developer support, debugging support, documentation and forums minus the additional costs.
Development timeline for making Cordova apps targeting multiple platform is lower than developing individual native apps for each platform.
Its easy to learn and set up. Coming from a native app development background, the learning curve for me was fairly small to get started with my hybrid app.
We were able to build and deploy a mobile app with Appcelerator. However, the platform still has issues and does not cover our needs as much as some of its competitor like cordova does.