Despite the gold-rush atmosphere around mobile application development, you won't find many newbie-friendly tools aligned to help nonprogrammers mine for application riches. Even if the target platforms often seem like toys, most of the development kits are still developer-minded and code-centric, and they can present formidable hurdles to the uninitiated.
To top it off, AppMobi backs this freely available dev environment with a cavalcade of subscription-based supporting resources: analytics, secure payment, push notifications, over-the-air updates, and user authentication. These start at $19.99 per month or $99.99 per year.
It would be more accurate to say that the AppMobi XDK backs the cloud services since those are the crux of AppMobi's business. But if the XDK is designed to lure us into the for-pay add-ons, AppMobi will have to do a better job with it. When all was said and done, I didn't find much there there.
Highlights of AppMobi XDK On the plus side, the AppMobi XDK can be quite clever. Device configuration is as easy as pointing and clicking, and thanks to the slick built-in emulator, you can mimic real-world device functionality -- GPS, data connection speed, and even accelerometer feedback -- right from the browser.
As I mentioned, getting started with the XDK couldn't be easier. With Google Chrome and Java 6 running, the XDK Java applet quickly installs the AppMobi Web app. As soon as you create your AppMobi user account, you're up and running. It might seem more professional, though, if AppMobi were to use a trusted certificate authority to bypass the warnings.
You'll find a number of "kitchen sink" demos that help you quickly gain traction with the XDK library. The AppMobi API is a subset of the PhoneGap API that has been tweaked to streamline some of PhoneGap's methods and enhance others. The AppMobi API adds fuller media player controls, for example.
But things soon slide downhill. The XDK provides no WYSIWIG tools for interface construction, and the onboard code editor is rudimentary at best -- you'll need to bring a third-party editor. There's no built-in debugger, either. Instead, AppMobi relies on Google Chrome's developer tools for debugging.
While AppMobi's device emulator is neat, unfortunately it's all you get. You can't connect an actual hardware device to the IDE. As a result, testing requires the installation of the separate AppMobi appLab sandbox to your devices, and it involves the convoluted process of downloading your app from the cloud repository, launching, and testing ... and redownloading, relaunching, and retesting. Testing builds quickly becomes a tedious undertaking.
Building in the AppMobi cloud Because the entire build environment is cloud-based, there's no offline access for working with the XDK. Even compared to a tool as simple as Google's App Inventor for Android (a completely visual, drag-and-drop tool now in the hands of MIT) -- which will show updates on the connected device in real time -- this is a step backward.
On the plus side, the cloud-based build environment allows you to build for both Android and iOS devices from a single codebase, without needing to install the SDKs locally. Despite the company's claims, however, this is not a unique offering. PhoneGap provides similar cloud-based build services, and it targets more platforms than AppMobi, including Windows Phone.
The AppMobi XDK includes a wizard that does a good job of guiding developers through the build process: gathering up your assets, certificates, required plug-ins, and the like. The XDK also does a nice job of walking users through the app deployment process, particularly on the iOS side where the certification and provisioning process can be daunting. Support for application versioning is good as well.
The lack of automation is a problem. The AppMobi cloud provides a set of Web services that allow you to manage some of the build process programmatically, as well as interface with AppMobi's push messaging and live update services. But in order to tap these Web services, you'll have to develop your own scripts. There are no tools in the XDK to help you build them.
The browser-based AppMobi XDK relies too much on third-party tools such as the Chrome browser's debugger. While its emulations of native GPS and accelerometer features are eye-catching, they're no match for easy on-device testing. Unfortunately, the XDK can't attach a hardware device directly.
There was an option to test over local Wi-Fi, so long as the development machine (running the browser-based XDK) and device were on the same network. Alas, this setup also proved buggy, and the content updates unreliable.
In addition to using the AppMobi XDK, I tried AppMobi's PhoneGap XDK, a separate browser-based IDE that spares you the need to install the PhoneGap SDK locally. Although compatibility is not so straightforward as to allow you to just copy and paste in PhoneGap code, adopting the PhoneGap XDK does wed you to PhoneGap. In other words, you'll be reliant on AppMobi to update in lock-step with PhoneGap going forward. Personally, I'd rather work in PhoneGap directly than attempt to eke minimal gains from AppMobi's IDE.
Smart developers, dumb tool To its credit, AppMobi is quite adept at building out and enhancing underlying platform resources. The AppMobi team has spruced up PhoneGap and rewritten jQuery to produce a faster, smaller UI framework (jqMobi). It even created a new browser (mobiUs) that offers offline functionality, local storage, and solid gaming performance via its DirectCanvas framework.
Web app development is clearly AppMobi's forte. And by open-sourcing much of the work, AppMobi has drawn a good deal of attention.
But the AppMobi XDK isn't among the company's best work. It offers a good starting point or a way to get your feet wet, but anyone serious about developing mobile applications should look elsewhere. Ultimately, it's more a gimmicky emulator than a true IDE -- hardly a compelling platform for real-world mobile development.
This article, "Review: AppMobi XDK brings more style than substance to iPhone, Android development," originally appeared at InfoWorld.com. Follow the latest news in programming and mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.
Read more about application development in InfoWorld's Application Development Channel.