InfoWorld ran a survey to determine what mobile developers are pursuing. While most developers realize that mobile computing is the future, most developers are focusing on Android and iOS with rapid adoption of Swift for iOS.
Surprisingly, many mobile developers are using cross-platform tools. While almost everyone wants an iOS app, they also want an equivalent Android app as well. While some programmers may prefer to create iOS apps in Objective-C or Swift, they have to create Android apps using Java. The alternative is to focus on cross-platform tools that let you create both iOS and Android apps at the same time.
Not surprisingly, only 8 percent of developers are working with Windows Phone. Despite being a decent mobile operating system, Windows Phone has such a small market share and with Windows 10 coming out soon, developers will likely need to learn new skills to create Windows 10 apps for mobile phones instead of relying on Silverlight, which was the old way to develop Windows Phone apps.
If you’re going to learn programming, you can’t lose by learning mobile development, and you can’t lose by starting with iOS. While Android is important because of its sheer numbers and huge market share, iOS is the most lucrative. Of you want to learn iOS programming, your first question may be where should you start? While there are plenty of options, let’s look at a handful for now.
First, iOS programming requires a Macintosh. If you’re still using Windows or even Linux, and you still want to develop iOS apps, your best bet is to use HTML5 and a tool like PhoneGap. Fortunately, HTML5 is an open standard and PhoneGap is open source, so it won’t cost you a thing to learn mobile development with HTML5 and your apps can run on everything from iOS and Android to Blackberry and Windows Phone.
The drawback of HTML5 is that it doesn’t let you take full advantage of each operating system natively. For example, the latest iPhones have a TouchID fingerprint sensor while Windows Phone devices do not. That means you’ll need to customize your iOS app from your Windows Phoen app. To take advantage of each operating system, you may wind up customizing for each platform, which takes time.
Even if you do this, your HTML5 apps may not run as fast as native apps. For most apps, this won’t be a problem, but if your app needs to do serious number-crunching or data processing, an HTML5 app may run slower than a native app.
If you have a Macintosh, then the obvious choice is to get a free copy of Xcode and use Objective-C or Swift. The problem with Xcode is that it only lets you create OS X or iOS apps, but it does give you full access to all the features of iOS. Only with Xcode will you be able to tap into the latest features of iOS. With other programming tools, you have to wait until the company behind it updates their tool for the latest version of iOS. Since Apple uses Xcode to create their own software, Xcode is the most powerful option available.
Besides the limitation of creating only OS X or iOS apps, Xcode may be harder to learn. Objective-C is a complicated programming language but Swift is much simpler. However both rely heavily on understanding object-=oriented programming and the class frameworks that make up OS X and iOS apps. Despite being free, Xcode is a complicated solution.
If you’re a Visual Basic programmer, you can leverage your skills by using either Xojo or NSB/AppStudio. Both tools look and behave like Visual Basic and both let you create iOS apps along with OS X and Windows programs too. Xoxo even lets you create Linux programs while NSB/AppStudio lets you create Android apps.
The advantage of both tools is that if you already know Visual Basic, learning either tool will be simple. The drawback is that both cost money although you can try both for free. Another drawback is that both will always be behind adapting the latest features of iOS so as long as your app doesn’t require all the features of iOS, you should be fine.
Yet another option is LiveCode, a tool modeled after Apple’s own HyperCard program. LiveCode is free but if you want to distribute apps, you need to buy a license. For the greatest cross-platform features, LiveCode is probably the best since it lets you create Windows, Linux, and OS X programs along with Android and iOS apps for a single price. LiveCode also uses a simplified programming language that can be much easier for non-programmers to master (but could be confusing and limiting for experienced programmers).
Like most other tools, LiveCode also won’t give you access to the latest iOS features until the company updates their tool, so you’ll always be behind. If you don’t need the latest and greatest features of iOS, then LiveCode, like the other options, will be fine. If you do need to adapt the latest features, then you’ll want to use Xcode no matter how hard it may be to learn Objective-C or Swift.
If you’re serious about iOS programming, learning Xcode will always be a highly marketable skill. If you’re a non-programmer who just wants to create an app, Xcode will likely be too hard so look at a simpler tool instead. With so many options available, there’s no reason everyone can’t create their own iOS apps with enough creativity and persistence.