This content is part of the Buyer's Guide: Mobile app development tools: A buyer's guide
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

What are the best iOS app development tools?

There are pros and cons to embarking on iOS app development. Find out if developing natively in iOS is right for your company.

As mobile devices become more prevalent in the workforce, developing applications for them in the enterprise becomes that much more important. During the past decade, Apple's iOS-powered devices such as the iPhone and iPad have become mainstays as workforce tools. Choosing iOS as your main platform for app development may be the right move for your company. This article outlines how you develop iOS apps, how you publish for easy enterprise usage and what you need to watch out for when using Apple in the enterprise.

The state of iOS app development in the enterprise

Many CIOs will insist that they do not support Apple products and that their company is Windows-only. This is a 20-plus-year-old statement. It is time to see what is really happening: With iPhones now supporting Microsoft Office (Word, PowerPoint, Excel and OneNote), ActiveSync for Exchange (email, calendar and contacts), and access to thousands of one-click install productivity apps from the easy-to-use iTunes App Store, IT does support Apple, whether it likes it or not. This is driven by Millennials, who are choosing to work from their phones rather than a PC. Even though Android maintains the majority market share, Apple's focus on high-quality consumer products is largely the reason iOS is overtaking the enterprise.

Many products are coming to market that are platform-agnostic. In other words, cheaper Android devices can be used instead of expensive iOS devices. For instance, no-code development tools such as Sitrion or SkyGiraffe use drag and drop tools to quickly build mobile apps without code. But if your company has invested in Apple hardware, and your development team is based around programming in iOS, Apple should be your preferred vendor of choice in terms of a mobile app development platform.

Development tools you must use

Apple has a mature development studio for iOS development called Xcode. The latest release is Xcode 7 for iOS 9. Apple is very successful at pushing out updates to iOS. For instance, when iOS 8 was released, it only took 45 days for the OS to be installed on 60% of all active iOS devices. Nine months later, iOS 8 is installed on 89% of all active iOS devices (source: Mixpanel), with 10% running iOS 7 (only 21 months old) and 1% of devices running an older version of iOS. As a comparison, Microsoft's Windows 8 is only installed on 16% of all Windows devices with Windows 7 still the preferred OS for 57% of all active Windows users. The ability for Apple to push out to the 1 billion sold iOS-powered devices gives developers the opportunity to leverage new features very quickly.

Xcode has matured rapidly. To begin with, iOS app development in Xcode was similar to traditional Mac app development. For instance, screens were created with XIB files. This has changed more recently. The inclusion of StoryBoards for iOS 7 provides a "card-like" design that can be used to create screens for an app.

A second change introduced in 2014 is a new programming language called Swift. Until 2014, the only way to develop iOS and Mac apps was with Apple's implementation of Objective-C. Objective-C is a mature development language with roots back to 1986 and stable with many third-party libraries that can be used to extend app development. The problem with Objective-C is that it is hard for developers to transition to. Python, JavaScript, Java and C# have a foundation in C but Objective-C's eclectic idiosyncrasies are often too difficult to make for a simple transition. For this reason, Apple introduced the first release of Swift in 2014 with a second release in June 2015. Swift is designed from the ground up for today's modern developer. The reception has been positive with Swift being rapidly adopted by developers.

A step that Apple has taken with Swift is support for Classes to be written in either Objective-C or Swift. This means that you can leverage Objective-C libraries in your Swift projects.

As with Android, testing tools are critical for iOS app development. You will want to choose a tool that you can run against physical hardware. Fortunately, Apple has a finite number of devices. Unlike the Android market that sees hundreds of new phones every year, Apple only releases one to two new phones and one to two iPads per year. There is speculation that Apple may introduce a third line of tablets in 2015 with a larger 12" iPad Pro. Still, you have very few devices.

Publishing iOS apps for the enterprise

Enterprise app publishing with Apple is a challenge to set up. Unlike any other platform, Apple requires that you leverage an Enterprise Certificate Licensing model as part of the app build process. Apple's Enterprise Program costs $299 per year and you must enroll your developers into the program for them to be able to create enterprise apps.

Each app you create through the Enterprise Program must be signed with an Enterprise Certificate. The Certificate is good only for one calendar year. Yes, this means that you must republish and apply an updated certificate every year.

On the flip side, Apple has a strong partnership with most Mobile Application Management (MAM) providers such as MobileIron and AirWatch. When you have built your enterprise-certified app, you can easily publish your enterprise app to the associated MAM app store, such as MobileIron's Apps@Work app store.

What to watch out for

Although Apple is widely known as a consumer company, it does have a vested interested in supporting the enterprise. Since Tim Cook, Apple CEO, took over leadership of the company, there has been increased support for enterprise tools. With that said, there are things you should watch out for:

  • IOS does not support multiple profiles, such as Windows and Android 5.0, which means you must look at iOS as being a 1:1 device and not a device that would be shared (a use case would be shift workers sharing a device as they move from shift to shift)
  • On the whole, iOS developers are still expensive compared to other platforms. For this reason, look to see if cross-platform tools, such as Xamarin or PhoneGap will meet your development needs
  • Apple Watch is a niche product and should be treated as such until pricing, performance and availability change

Apple sees itself in an enviable place in the enterprise: it is now the incumbent. Apple will need to keep innovating with a focus on enterprise needs to stay in this position.

Next Steps

How well do you understand the tools iOS has brought to IT?

Multitasking and other productivity features will be included in the latest iOS update.

Battle shadow IT with iOS's remote management UI.

This was last published in August 2015

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

What have you found to be the best application development software for iOS app development?