1.5 Choosing a Mobile App Programming Language
Now for a really difficult decision: What coding language should you use? To answer this question, let's look at one specific language, Apple's Xcode/Swift. The Xcode Software Development Kit (SDK) was released in 2003 for MacOS for free to anyone who wanted it. The Xcode SDK is a set of visual software development tools that allows the creation of mobile apps specifically and only for the Apple App Store. It is categorized as an integrated development environment (IDE), which is a software application that offers all-inclusive facilities to computer coders for software developmentāin this case, mobile apps for the Apple App Store. Although Xcode exists for PCs, it doesn't work very well. This means that if you want to develop mobile apps for the Apple App Store, you must own a Mac, period. Your Xcode skills are useless everywhere but in the Apple App Store. The apps you develop must be completely rewritten in other programming languages if you want to offer them on other online stores, for instance, to PC owners.
Choosing Xcode isn't a bad decision, but it is limiting. Every language is limited to the operating system in which its mobile apps are sold or distributed. With Xcode, you must own a Mac to code App Store-specific mobile apps, and you have to set up an App Store Connect account. App Store Connect is the platform for Mac developers to upload their mobile apps to the Apple App Store, edit their mobile app's metadata, and view money they've earned. You can choose to be a sole proprietor mobile app business, but you can't become an App Store Connect member without a separate business banking account. App Store Connect requires tax information regardless of your country of origin, because it will report your mobile app earnings to the appropriate taxing authorities. You may be wondering, do you have to incorporate? Will incorporation assuage personal liability if your mobile app crashes a user's iPhone because of a coding bug? These are questions that must be answered by professionals.
Imagine that, for better or worse, you are married to your Xcode choice in 2010 and all that goes with it. In 2014, Mac decides (without your knowledge or permission) to launch Swift, which is basically an upgrade to Xcode. Mac iOS developers receive the earliest version of Swift poorly because it crashed frequently, among other things. But Swift eventually becomes a stable SDK platform, and you must learn a new language, modify all of your existing mobile apps, and relaunch them in the Apple App Store.
According to statista.com, as of March 2017, the Apple App Store had 2.2 million available mobile apps. Google Play had 2.8 million. When you chose Xcode/Swift, the Apple App Store was the biggest market segment, which is part of why you chose it in the first place. Now what? Should you redevelop your current Apple App Store mobile apps so you can offer them on Google Play and have two different versions programmed in two separate languages? Your choice of programming language is starting to look more like a business decision than a technical one, at least in part. Was choosing Xcode/Swift a bad decision? Absolutely not! Whether you're a hobbyist mobile app developer or a seasoned professional, you should know there is a lot to think about when choosing a programming language.