Last month, Apple launched the version 7 of Xcode (an integrated development environment (IDE)) at the World Wide Developers Conference. Hallmarks of the new version include:
- Swift 2
- Metal for OS X
- App deployment support (without license) for iOS devices
In the following paragraphs, we provide a brief overview of what Xcode7 is all about and how it can aid your iPhone app development.
Xcode 7 Coding Benefits
As mentioned at the outset, Xcode version 7 beta came with Swift 2 support, which according to the Apple Developer website offers the following benefits:
- Advanced error handling model using try / catch / throw that feels natural in Swift.
- Availability checking and conditionals for OS versions.
- Markdown comments shown as rich text in Quick Help with embedded images and links.
- A migrator in Xcode 7 to convert your existing Swift code to use the new Swift 2.0 features and syntax.
Xcode 7 and Storyboards
Storyboards come with their flaws, but there are several advantages of using them (in comparison to XIB files) when it comes to iOS programming.
A storyboard is a great management tool for developers, because it gives you a wholesome look of the overall flow of the project and enables you to control the interaction of different controllers. Not only this, but it also offers a ‘cleaner’ workspace because you don’t have to use multiple controllers with a nib file for each controller. This is due to the availability of Segues (that smoothen the flow between each scene on the board) and also containers for all the scenes.
If a developer is developing a universal application, s/he can use two storyboards, one for iPad and one for iPhone. This will also ‘reduce’ the code as the developer goes from one screen to another.
Now where does Xcode 7 come in?
Basically, a major argument levied against the use of storyboards is that a complex app tends to have many scenes, which ends up in a huge storyboard which is not only difficult to understand (because of its size), but takes forever to load as well.
However, the fact of the matter is that you can easily divide storyboards into multiple, smaller pieces. Once you do that, you can use features like ‘Storyboard References’ to link them all together. This is a unique benefit that Xcode 7 offers, as Storyboard References feature is only available in Xcode 7/iOS 9+.
Once again, this may not compel you to switch to storyboards for iOS programming, buy Xcode 7 offers you efficiency and practicality if you choose to do so.
With all the benefits that Xcode 7 offers to developers, there is one major advantage that is being touted in the media: ‘sideloading’.
Sideloading is a popular term that is usually used in the context of Android apps. The concept is simple to understand; it refers the user’s ability to install applications without using an official license. This is very easy to do on Android devices, where you simply have to tap a check box to “Allow installation of non-Market applications”. A pop-up warning will come up about the potential dangers associated with sideloaded apps, but all in all it is an easy process.
But why would one want to sideload in the first place? Apple is known for its high-quality standards in everything that the company offers to its customers, including the apps. The applications featured on Apple Inc’s app store are vigorously tested for, among other things, bugs, so that users have the best apps at their disposal. This is also the reason why Apple falls behind Google as far as the number of apps each has on the official app store.
From the developers’ perspective, sideloading allows beta testing, coding apps, and testing them on their phones. Ultimately, sideloading can help you enhance your smartphone experience, provided that you don’t use it for piracy.
However, there is no harm in getting access to other app stores, and this is where Xcode 7 comes in. Now you can download virtually any app you want outside the App Store on your iPhone or iPad. Emulators, for example, are not allowed in the App Store, but that’s no longer a problem with this IDE.
Of course, there are a few limitations, the most obvious of which is the fact if you don’t have the source code for an app, you cannot download it from other sources. This is especially true for paid applications. So it’s not like you can get any app you want for use; the reference to ‘sideloading’ isn’t all that similar to Android.
But even then, it does give the jailbreak crowd an opportunity to run a wider range of apps from outside the App Store, which in the ultimate analysis only helps new developers.
However, developers still benefit, because using Xcode 7 for app development doesn’t require them to sign for the Apple Developer Program at $99 per year.
All you need to do to build your apps and run them on Apple devices is to download Xcode 7 beta and sign in with your Apple ID.
- Updated playgrounds which offer, among other things, support for ‘.swift’ files for greater functionality at high speeds
- Interface Builder comes with all latest iOS features e.g. Stack views automatically adds all necessary constraints automatically, making it easy to layout your views
- User Interface Testing ensures that changes that a developer makes in code are not displayed as unwanted changes to the user
- The code coverage feature displays icons to show what code is being tested and what is not
- Metal support is great news for game developers for iOS and Mac
- The Address Sanitizer feature notifies you about bugs and other user complaints in a timely manner so that you can respond quickly
- The TestFlight features allows you to detect and resolve crashes even while beta testing
Finally, the Energy Gauge lets you know how much of your battery is being used to power your app.