Mobile applications are the new 'it' and everyone wants a piece of the action, but which platform is the best one to do development on ? Well we couldn't decide either so we are developing applications on all three of them, iOS, Android and WindowsPhone, and we will present our findings on them along the way.
This week our iOS developer agreed to share his insight on the platform and thus maybe help you decide whether Apple is a good choice for you. So read along, tell us what you think or what you've found and let's develop revolutionary Apple applications.
One thing we can say about the iOS platform from Apple is that its very popular. The platform has a huge market, the AppStore, which makes it easier for any application to get directly to a possible end-user. The popularity of the platform is appealing for companies as well, a lot of them use Apple's mobile devices.
Unfortunately there are some disadvantages with the iOS platform. The devices that use iOS are built only by Apple, so the they tend to be quite expensive. From the deveopers' point of view, the programming language is quite difficult and my opinion is that the high level of difficulty to develop games, brings down the development experience even further.
First of all we clearly saw the powerfull marketing campaigns Apple knows to conduct. They know, better than anyone else, how to make people want their products. Secondly they've developed the AppStore, one huge collection of iOS applications, all found in one place. The AppStore has 2 main advantages in my opinion: 1) you have a place where to sell/upload you applications; 2) the exposure is huge.
Related to the programming environment, Apple here gives one good news and one not so good. Using the environment to develop applications is free, but in order to compile and test the code you need to register and pay a fee every year to the Apple Development Enrollment Program.
The programming language's syntax is very similar to natural language, which at start may seem difficult, but once you get used to, you'll appreciate it. Although the learning curve is dependent on the individual's knowledge in programming techniques and languages, for me it is clear that previous OOP knowledge is non-negociable.
Understanding and getting to know the environment usually takes a small amount of time, but the issue comes from the libraries, which change very often.
From my perspective, the biggest issue with iOS during the time needed to gain experience, is to choose the right approach for developing the applications.
I divided the learning experience into two steps: learning the objective C language and learning the iPhone SDK for iPhone&iPad apps.
For the programming language I found 2 web links with videos tutorials:
https://www.lynda.com/Xcode-4-tutorials/Objective-C-Essential-Training/77860-2.html#nogo , for this link though you need to register and pay a fee.
https://itunes.apple.com/us/podcast/cs193p-student-final-projects/id395605774?i=90218598 , Standford's courses on objective C.
For iPhone SDK:
https://www.lynda.com/iPhone-3-tutorials/iphone-sdk-essential-training/48369-2.html , again you need to register and pay the fee for access.
Did we convince you to start developing iOS applications ? If yes, bite from the Apple and join the creative quest for the best mobile application and keep us updated, we sure can help you start.