Mobile app development tools: A buyer's guide
A collection of articles that takes you from defining technology needs to purchasing options
Xcode, Apple's integrated developer environment (IDE), gives developers and development teams the tools they need to build apps for Apple's OS X, Apple Watch, Web and iOS operating systems. The current release of Xcode is 7, and is available for download. Xcode will run only on OS X-powered Apple machines, such as iMac, Macbook and Mac Mini, and is free to use. A $99, annual developer's license is required to publish apps to iTunes or Mac OS X App Store.
Xcode is a mature development environment that allows small and global development teams to work together effectively and deliver services rapidly. The Xcode IDE leverages a model-view-controller approach to segment each layer of an app. This makes code maintenance much easier and forces an object-oriented program approach. For instance, the UI layer is separated with tools, such as the new Interface Builder, which allows users to drag and drop visual controls onto a screen; Auto Layout, which allows users to dynamically control the presentation of objects for different screen sizes; Storyboard, which provides the ability to visually layout the screens for your app; and Preview mode, which quickly shows you what your app looks like. None of these UI tools touch the code you are creating.
Historically, code development in Xcode has been written using Objective-C, a mature C-based language that dates back to 1986. In June 2014, Apple released Swift, a new language to build products. The development of Swift is based on modern development languages and has become the fastest adopted language in history. Apple has spent years developing Swift, and the result is a language that is easier to learn than Objective-C, familiar to many Internet developers and safe to use. Swift and Objective-C can be mixed in the same projects. Xcode 7 introduces Swift 2.
Xcode is a tool that individual developers work with. Code is checked into a Git repository, and can be shared among small and large groups. There has been support for continuous integration in Xcode for many releases and the current version maintains strong support for testing tools. Xcode now includes tools such as Test Assistants, which ensures the code and tests are aligned correctly; Test Navigator, to step through your tests; and results and support for Xcode Server bots that run when code is checked in for unit, performance, asynchronous and UI tests.
The only public app store that Apple supports is the iTunes App Store. To publish an app created in the Xcode IDE to the iTunes App Store, you will need a developer's license. Your developer license will give you access to iTunes Connect, the tool used to publish apps. Enterprise apps do not need to use iTunes Connect, but you will need to leverage an enterprise certificate to register each app before you publish to your internal app store.
Support for Xcode can be found online through Apple's Developer forums. Technical support is available over the phone. Finally, Apple offers an enterprise code review service to ascertain how well-structured your teams' projects and code are. There is a charge for code review that can be gained by contacting Apple Enterprise Services.
Xcode is specifically for iOS, OS X and Watch OS development and can be used by companies of any size. The current release of Xcode is 6.4, with 7.0 in beta and expected to ship with the final release of iOS 9.
There are pros and cons to iOS development. Is iOS the right fit for your company?
How can you tell all these mobile OSes apart? Matthew David will explain how.
Apple collaborates with Cisco to ensure footing in enterprise market.