Adobe's PhoneGap Build service: It's out of beta, but does it help?
Rather than having to keep your developer machine up-to-date with the various bits you need to build your apps, you can simply punt your code off to Adobe's PhoneGap Build service. But who should use it?
Although it's been in beta for some time, Adobe's PhoneGap Build service is now out there in the market as a proper, paid-up service.
When Adobe bought PhoneGap in October last year, it did two things.
Firstly, it gifted the main codebase to the Apache Software Foundation, eventually settling on the name Apache Cordova. Secondly, it pledged to keep moving the story forward. The PhoneGap Build service is one of those initiatives.
(Keeping the name straight with regards to PhoneGap and Apache Cordova can be tricky - the way I think of it is that it's similar to how Linux works. Apache Cordova is the base project/implementation, PhoneGap is just one distribution of that base.)
The idea of PhoneGap Build is that rather than having to have your developer machine up-to-date with all the various bits and pieces that you need in order to build your apps, you can simply punt your PhoneGap code off to the PhoneGap Build service - that then builds it, and returns to you something you can install and run on your device. It'll build iOS, Android, Windows Phone, BlackBerry and - perhaps ridiculously - webOS and Symbian. (I say "ridiculously", but perhaps what I mean here is "caution" - I can't imagine they'd want to keep supporting that long term. I'd doubt I'd want to rely on it.)
PhoneGap Build fits in with the PhoneGap approach - after all, PhoneGap itself is device neutral, so why should your developer workstation not be as well? Well, we'll come to that.
In terms of pricing, PhoneGap Build regards open source and private apps as separate things. You can configure as many open source apps as you like - and these are automatically pulled from GitHub. There is a free tier where you can have one private app (either from a private GitHub repo or you upload a zip file each time you want to build), or you can pay $9.99 a month and have up to 25 private apps. There is also a limit on the number of builds you can do. You can do 100 a day on the free tier, 1000 a day on the paid tier.
100 a day isn't that much. They say on the web site that you can do three per day. Really, if you're doing this as work you're going to be working 21 or so days a month, so that's about 4.7 a day. Regardless, that's too little to be of practical use unless you're hacking around on it for a few days, then leaving for a few weeks, then go back to it, etc. The 1000 tier is better, but it's unclear whether that's 1000 builds per 25 private apps, or 1000 builds across the lot. I've reached out to them on this, but I suspect it's 25 across the lot. However, you're not going to be working on 25 apps in a month, so I'd be surprised if you hit this limit.
What you don't want to do, however, is hit that limit at 8pm on a Sunday night when you're desperate to get a new build out to a client first thing Monday morning. Relying on third-party services - unless you manage it properly - is a great way of turning a disgruntled client into a litigious one.
Not having any developer tools on the workstations at all makes debugging a tad difficult.
As per the objective of all freemium pricing models, the free tier is a little bit hopeless. If you want to use this, go ahead and budget your $119.88 per year.
Should you use it?
If you're serious about app development... no.
The central idea around PhoneGap Build is that you don't need to have developer workstations configured with the tooling. Generally, mobile tooling is fiddly to set-up, so you can see the argument. However, complexity in this regard should be proactively managed out in the development environment, not ignored.
What I'm saying here is that competency in your development organisation - if you're serious about development - needs to be managed and improved. Developers shouldn't find it a heartache to get going on *any* platform, mobile or otherwise. If you're serious about mobility development, each developer needs their own workstation with all the tools set-up and ready to go. Plus they need to have this down pat to avoid any heartache if they're under pressure and in a hurry.
Not to mention the fact that not having any developer tools on the workstations at all makes debugging a tad difficult.
Also, look at the way we work today: If you were building a Windows Presentation Foundation desktop app, you wouldn't write it in Notepad and keep punting the source off to a service where it returned you an executable to test. You'd use a local copy of the developer tools. But perhaps that's an old-fashioned view.
PhoneGap Build is interesting - at the very least it shows a model where development tooling is pushed into the cloud, removing the reliance on having everything set-up on a developer workstation. My view: developer workstations need to be configured properly and fully if you're serious about mobile development and something like PhoneGap Build is of limited, hobbyist, use.