iOS is the operating system based on Linux, used by Apple on their mobile devices: iPhone, iPod Touch, iPad and Apple TV. It was originally called iPhone OS and was an adaptation of Mac OS X. Apple released iPhone OS in 2007, and in June 2010 it was officially renamed iOS, leveraging the launch of the iPhone 4
It recently launched version 6, which includes over 200 new features (which are not always successful) such as the new Apple Maps, the smart assistant Siri, full integration with Facebook, etc.
iPhone SDK, the software development kit for iOS, uses Xcode as an integrated development environment. The applications are written in the Objective-C programming language. The iPhone SDK provides a powerful graphical editor for building screens visually, connecting elements with mouse gestures. The SDK also includes a simulator for testing applications.
From our experience developing in iOS, we feel its strengths are:
- Easy to build the GUI.
- Small number of test devices. The software is developed for specific devices made by a single manufacturer.
- Owned by Apple, one of the largest companies in the sector.
- Good management of device memory.
And its weak points are:
- Difficult for J2EE or .NET professionals to adapt, as the language and information structure are very different.
- Incompatibility between versions: difficulty in covering different versions of the devices, since in some cases backward compatibility (between old and new versions) is not respected.
- Xcode version control is very complex to use.
- Market restricted to a single hardware manufacturer.
- Difficulty in distributing applications to testers.
- Limitations on the use of multitasking, restricted to certain APIs, resulting in applications outside the OS remaining frozen in the background, for example:
- Background audio
- Voice IP
- Background location
- Push notifications
- Local notifications
- Task completion
- Fast switching applications
From our point of view iOS is a mature product designed for a single hardware, which in principle gives developers many advantages.
At present, competing operating systems have reached and surpassed many of the features and functions of Apple, largely thanks to competing companies choosing Open Source and its much larger community of developers and testers.
However, nobody can deny that as so often with Apple, the initial versions of iOS revolutionised the world of mobile devices as we had known it.