The differences between Xcode 4.x and the new Xcode 5 are extensive and exciting for developers.
While we all ogle the evolution of Apple's iOS 7, let's not forget to become familiar with the latest iteration of Xcode. Without Xcode 5, it will not be possible to develop apps for the latest iOS. Xcode 5 is currently available in a beta release to all registered Apple developers.
You can download the most recent Xcode 5 beta release from the Apple Developers website.
There are many new enhancements added to the latest Xcode IDE, but one of the most long overdue features - and the cause for extensive celebration by all iOS developers - is the inclusion of Automatic Configuration. Having the ability to manage teams, certificates, and entitlements from within the IDE is worthy of a touchdown endzone dance.
New Xcode 5 features include:
- Automatic Configuration
- Test Navigator
- Auto Layout
- Debug Gauges
- Additional Source Control Features
Automatic ConfigurationBeyond the new clean iOS 7-like interface, Xcode 5 offers several noteworth enhancements and new features. The Automatic Configuration feature not only manages the labarynth associated with creating certificates and provisioning profiles, but also makes it easier to enable iCloud, Passbook, and Game Center Apple services from within the development environment. You can enable these services by simply toggling the appropriate on/off switch from the capabilities tab within the project configuration dialog (Figure A).
The nine Apple services that can be easily enabled through the new Automation Configuration feature include: (1) iCloud, (2) Game Center, (3) Passbook, (4) In-App Purchase, (5) Maps, (6) Inter-App Audio, (7) Keychain, (8) Background Modes, and (9) Data Protection. Several of these services - such as Background Modes and Inter-App Audio - are new to iOS 7, and explained in greater detail on Apple's Developer site.
Test NavigatorUnit testing is easier than ever with the new Test Navigator functionality in Xcode 5. With the addition of the Test Navigator pane, you can add test targets and test classes to your project (Figure B). Having this long overdue capability will decrease development time and increase speed-to-market.
Continuous Integration Bots
While this particular feature requires an OS X Server running the Xcode service, it is by far the biggest leap to date by Apple to support a team development environment. Registered developers can get more information on Xcode 5 CI bots and the overall continuous workflow environment here.
Auto LayoutAs more and more iOS devices hit the marketplace, developers are challenged with creating and maintaining multiple device-specific layouts. The new Auto Layout feature includes many enhancements to the Xcode Interface Builder. A new set of buttons at the bottom of the storyboard screen exposes several of the Auto Layout functions (Figure C).
The new Asset Management feature of Xcode 5 allows developers to better organize his or her images and icons. Instead of maintaining directories containing device-specific assets, developers have the ability to create asset catalogs. Additionally, the asset catalogs can create image "splits." This technique is used to create images that can scale as required by the interface's layout.
Xcode 5 includes a much improved debugger. In fact, the new visual debugger is built on the LLDB debugging engine. Not only are the data tips more responsive when hovering over your source code, but Quick Look is integrated to allow instant previewing of objects in memory. The Debug Gauges give a real-time graphical look of the resource consumption, memory use, and other attributes of an iOS app. Having this run-time dashboard will help developers troubleshoot performance issues.
Source Control Features
It is much easier in Xcode 5 to create and control branches of your project. The source control menu, for example, shows the currently active branch while allowing the developer to quickly switch, merge, and create branches.
The differences between Xcode 4.x and the new Xcode 5 are extensive. While it may be common practice to add or delete features of an application during the beta testing phase, it is not likely that Apple will remove any of the features touted on the "What's New in Xcode 5" webpage. Seasoned app developers will immediately benefit from the new features and functions of Xcode 5. With the imminent release of iOS 7 and Xcode 5, there will be a huge surge of new iOS with exciting new capabilities. Anyone interested in getting started in iOS app development will now have the best tools available for mobile development.