This 2-part blog series was created to help de-mystify the whole process of iOS App Development and outline some of the choices you might be faced with when developing the app. Part I considered your app requirements – part II will take a look at programming languages and the device you are targeting.
Programming the App
If we assume that you have decided that a ‘native’ app is the best way to go for your requirements, then you and your development partner still have a choice to make. That choice is to choose which programming language is to be used to develop the app. There are two choices here; Objective C and Swift.
Objective C is a very established language which has been around since the 1980s and has been used for the past few years to develop iOS apps. It is a very capable language but is beginning to show its age and Apple has recognised this. In 2014 Apple introduced a completely new language, Swift, which makes app development more productive, less complex and less error prone. Infoworld give a good comparison of the languages (http://www.infoworld.com/article/2920333/mobile-development/swift-vs-objective-c-10-reasons-the-future-favors-swift.html). Apple are pouring major resources into Swift which has now become one of the fastest growing languages of recent years.
You and your development partner need to decide whether to use the established Objective C or the new Swift. Given that Apple has put its considerable weight behind Swift for future development then Swift would seem a good choice unless you have a good reason to use Objective C. Your development partner having an ‘off the shelf’ Objective C app framework for your app may be such a reason.
Phone or Tablet or Both
Another consideration when developing your app requirements is whether you are targeting iPhones or iPads or both. iPads can run iPhone apps but apps look better it they are optimised for iPad. Xcode can be used to produce apps which are optimised for iPhone and iPads. These are known as ‘universal’ apps. However there is extra work in supporting both iPhone and iPad apps.
If you think about the Apple mail app on the iPhone and the iPad you will see that the user interface is different. When you display mail in landscape orientation on an iPad you get a list of emails on the left with the selected email content on the right. This makes the most of the larger iPad screen but it is different from the user interface of the mail app on the iPhone.
Developing ‘universal’ apps can take some extra work but can be worth it to reach a bigger market of both iPhone and iPad users. Certainly if you are targeting both iPhone and iPad then it is best to make sure you communicate this with your development partner up front as it’s easier to plan for support for both types of devices before the coding starts than it is to retrofit support at a later date.
Developing an iOS app through a development partner shouldn’t be difficult but like all things in life it is best to have a little knowledge of the technology decisions you will have to make in the process. A good development partner should be able to talk you through the various options and compromises which can be made. No matter which decisions you make there is little doubt that developing a great mobile app offers great opportunities to reach and engage with a bigger audience than just about any other technology.
If you are thinking about developing an app and have a question, please leave a comment below or contact us on firstname.lastname@example.org.