I've given the ios choice a lot of thought and my take is that because it's very consistent across the generations compared to Android or Linux, it has to be the preferred device to program to. It's a lot like the difference between Mac's and PC's. PCs try to be everything to everybody on every type of hardware. That's a huge amount of flexibility required and probably the greatest reason that PCs suffer more software failures than Macs. (My take is that the hardware failures are comparable.) Macs generally don't try to be anything other than a Mac. It's why a dead pointing device is a major failure. With a PC, you can live without a mouse. Not so with a Mac, because nearly all Mac software depends upon its availability.