Curious as to what the differences are between
So - both
Icenium | PhoneGap Build | |
---|---|---|
Integrated Version Control Support | Any | github (preferred) (other git providers possible) |
Integrated IDE | Mist - Graphite - Windows IDE | (see note* below table, there are external options) |
Mobile Platform Support | iOS, Android | iOS, Android, Windows Phone, Blackberry, Symbian, webOS |
Provision-less Testing/Reviewing for iOS | ||
CLI/API (for Integration) | (this is on Icenium's | (HTTP API) |
Integrated Simulator | ||
Integrated Debugger | Mist - host Browser's dev tools Graphite - provides WebKit Web Inspector. ( | Uses (see note** below as well) |
Direct-to-App-Store Publishing | ||
Project Collaboration | Collaboration via git (future collaborative features planned) | |
Supported Cordova Plugins | ChildBrowser, BarcodeScanner, SQLite, PushPlugin | ChildBrowser, BarcodeScanner, Analytics, GenericPush, FacebookConnect |
* Regarding IDE integration - while PhoneGap Build doesn't have an integrated IDE, there are extensions to use Brackets/Edge Code with it. Dreamweaver also has
**The recommended option for running a simulator for PhoneGap/PhoneGap Build project is the Ripple Emulator.
The matrix above is only a starting point. It should be obvious that there's quite a bit of overlap in the kinds of problems both
Both
PhoneGap Build supports running
While remote-debugging-via-
When it's time to test your application on your device, you have several options. With PhoneGap Build, you can download the platform specific installer (and install it on the device yourself), or you can scan a QR code from devices that support direct installation (Android, Symbian and Blackberry) and follow the platform-appropriate instructions to download and install the application. PhoneGap Build also supports "Hydration" - it's a build option which you can enable, causing client devices to check for new versions of the app and auto-update the app if one exists.
With Icenium, you can download the app installer as well (by choosing the Run -> On Device option). You can also run the app in the simulators provided by Graphite and Mist. If you're using Mist, Icenium Ion provides a nice way to quickly deploy and test applications on iOS devices - getting around the usual headaches associated with provisioning an iOS device (provision-less testing). To use Icenium Ion, you need to install it to your iOS device (it's free in the app store) and you will also need a QR Code scanning app. Then, in Mist, you'd select Run -> On Device -> Icenium Ion (under iOS). Scan the QR code that appears on the screen with the iOS device, and Icenium Ion will launch and download your app and act as a container for it to run on your device. You can refresh the local copy of the application by using the "three finger long tap" gesture. When you install an Icenium build on an Android device, you can refresh the client by pressing the menu button.
One other interesting feature of Icenium when it comes to running your apps on a device is Icenium LiveSync. When you're using Graphite, LiveSync allows your changes to be immediately reflected not only in the local simulator, but on any connected device (and you can control which devices refresh automatically, etc.).
You can add collaborators to PhoneGap Build projects using the role of "Tester" (read only access) or "Developer" (read/write). Testers can only download the application, while developers have more control for other tasks (other than deleting the project or managing signing keys). Icenium doesn't currently (hint hint) offer anything beyond a single-user login for Icenium projects, however it's possible to collaborate via git.
As mentioned earlier, PhoneGap Build allows you to download the device installers. You'd then take these binaries and submit them to the appropriate app stores - with iOS, Android and Blackberry apps, this entails providing the correct signing keys/certs too allow for distribution.
Icenium supports direct-to-app-store publishing for Andoid and iOS via the "Publish" option in both Graphite & Mist.
Both Icenium and PhoneGap Build attempt to solve similar problems, with perhaps a slightly different philosophy. Both can tie into existing development workflows. Both plan for better custom Cordova plugin support in the future. Icenium currently focuses on the largest two mobile platforms, enabling you to build an app end-to-end (development to publishing) for both. PhoneGap Build currently supports more platforms, but leaves publishing up to you. Icenium has focused on providing a usable cloud-based development and debugging story, where PhoneGap Build provides weinre/remote-debugging support, and doesn't currently weigh in with any code editing capabilities of its own. At Telerik, we are very excited about the current and future feature set of Icenium, and really believe we're onto something when it comes to solving the pain of developing, debugging and publishing hybrid mobile applications. Proponents of hybrid mobile like to point out that enabling developers to use existing skills in HTML, JavaScript and CSS reduces the barrier-to-entry for mobile development. We agree, but feel that the lack of good tooling in this space has undermined (and in many cases, negated) the initial skills-reuse gain. With Icenium, we're providing a comprehensive set of tools to make the gain of re-used skills and expertise something that developers can fully realize.
Having said that - if you're new to hybrid mobile development, or if you've been using PhoneGap and PhoneGap Build, why not give Icenium a test drive to see what you think? We'd love to hear your feedback so we can pass it on to our product team!
Icenium has some exciting features on the roadmap, including some of the following:
Jim Cowart is an architect, developer, open source author, and overall web/hybrid mobile development geek. He is an active speaker and writer, with a passion for elevating developer knowledge of patterns and helpful frameworks.