I had a prospective employer recently ask me why I enjoyed writing iOS apps and why I didn’t just make web apps. There are really a lot of aspects to this very loaded question, but the answer I gave him was a pretty good one: on the web, there are standards, but they aren’t necessarily followed. There are conventions, but they are often ignored. There are even hard and fast rules, which turn out to be flexible.
Developing iOS applications is like having a conversation between the user and the OS/frameworks. You have conventions, rules, and expectations clearly defined and published by one player: Apple. They say what goes and what doesn’t. This means, as a user, you know what to expect. It also means, as a developer, you know how to do things.
It’s this reason that makes me enjoy making interfaces for iOS apps and then filling in the backend. Instead of doing whatever I want to do, like the web, these guidelines give me structure. I know that they have been well thought-out and tested by Apple; they have way more resources to test user friendliness of an interface than I do.
So that’s it. I program in the iOS garden because I have a set of rules, and if I follow those rules, I know the user will enjoy using my app (which is what we should all be about, anyways). It lets me focus more on the idea of an awesome new app and less on making an intuitive interface. Polished interface is something that is paramount in my applications, and having a helping hand makes it easy to accomplish.