I came a cross an article today comparing the development of the same app, across iOS and Android, by a programmer not experienced in either platform. There are some useful insights such as both platforms took approximately the same time, needed a similar number of lines of code and that neither platform outshone the other.
One aspect I find interesting is that iOS took longer to learn due to the quantity of outdated documentation. This is a problem on any platform, especially for newcomers. It can take a long time to assess what’s an old way of doing things, what’s a newer way and what’s best given interoperability with other parts of the app. Android apps I wrote in 2008 used some internal mechanisms that, while recommended by Google at that time, are now frowned upon. Developers such as myself need to keep up-to-date but interestingly, old apps don’t tend to need to keep up-to-date unless they are successful enough to warrant being updated. Apps age if not updated.
Apps can also age when their look and feel no longer fits the latest update to the OS. They can even occasionally but rarely die if a new API is different or, more commonly, the OS changes to do the same things but in a different order.
The effort required to keep apps up-to-date shouldn’t be under-estimated. Often companies only financially plan for initial development when, in fact, they usually have to be maintained to at least support new phones and screen sizes. I have even had a few cases, particularly when the app has been successful, where the ongoing development has been orders of magnitude greater than the original development. Another related question to ask yourself is whether your developer will still be around to do such changes.