Hi guys,
I'm thinking of getting either a Moto G or a (used) Nexus 4 for a friend who might be getting into Android development. I understand that Nexus devices are the most developer friendly but in what way and by how much will the Moto G be worse off as a developer device?
Development aside, I'd rather get the Moto G because it'll new and has better battery life. The higher specs / better gaming experience of the Nexus 4 is not that important for my friend.
There are a couple ways a Nexus device is better for Android development:
1. Although you can unlock the bootloader and root a Moto G, unlocking the boot loader or rooting any Motorola phone voids its warranty (according to their terms at least). They may or may not enforce this, but they can at any time. Unlocking a boot loader, rooting, or even installing a ROM on a Nexus phone does not void the warranty.
2. The Moto G has been promised that it will be upgraded to Android 4.4 (KitKat), but that is it. There is a decent chance that it will get upgrades beyond that, but no guarantees. The Nexus lineup will (according to statements from Google) updates for at least 18 months from time of purchase. Since the Nexus 4 was discontinued Nov 1, 2013, that would mean that it should get updates into 2015. I think Google (who owns Motorola) intends to do updates for 18 months on the new moto devices (Moto X and Moto G), but I haven't seen anything official.
All that said, a large, large portion of Android software development (assuming that is what meant and not doing ROMs or something like that), is done on a desktop using the Android SDK. With it, the developer can emulate different sizes of phones, different versions of Androids and all kinds of other variables easily. Only as a "final" test would you actually put your app on a real, physical phone and test it (generally). Even then, only testing on one model phone doesn't mean a whole lot, so which phone he has shouldn't make a huge difference.
You almost could argue the Moto G might be better for the developer, since the RAM is smaller it will force him to be a more efficient coder, resulting in a program that works better on more devices (instead of just higher end devices).
Really, the only main potential issue might be the warranty, and even then, if you are just developing apps, you can sideload without rooting or unlocking the bootloader, so you could still use the Moto G, as a developer, without voiding the warranty.