Sign up now to get free exclusive access to reports, research and invitation only events.
From a more efficient UI and 64-bit support to better layout and debugging tools, iOS 7 and Xcode 5 point to a new generation of mobile apps
Behind the new look
Apple's iOS 7 is not only the world's first 64-bit mobile operating system, but it also sports a completely new look. Gone is much of the chrome and gloss that characterized the UI in iOS 6, replaced by brighter, cleaner, and simpler UI elements that give developers more screen real estate to work with.
The yang to iOS 7's yin, Xcode 5 sports major improvements under the hood, ranging from faster compiling and support for 64-bit apps to a host of new features that smooth development and ease debugging. Together, iOS 7 and Xcode 5 allow developers to build better mobile apps that are both faster and have fewer bugs.
The old and the new
Compare the iOS 6 home screen (left) with its iOS 7 counterpart (right). Icons for iOS 7 appear flatter, and there's a noticeable lack of chrome. Note that the status bar in iOS 7 is translucent.
A minimalist look
The minimalist appearance of iOS 7's new UI is evident right from the lock screen. The iOS 6 lock screen (left) looks almost cluttered compared to the sleek one in iOS 7 (right).
Compared to the iOS 6 dialog for replying to an email (left), the dialog in iOS 7 (right) is lean and simple. Note also how much less screen space it uses.
Observe how the navigation bar and status bar practically disappear in the iOS 7 Mail app (right). However, the general layout is the same, and a leftward swipe across a mail cell presents a deletion dialog, just as it does in iOS 6. Most existing iOS 6 apps will continue to execute on iOS 7.
One major change in the UI is that pickers should no longer use an action sheet that blocks a portion of the screen, as shown in iOS 6 (left). For iOS 7, the picker is supposed to appear in line with its content (right). The picker is also translucent, as are most of the iOS 7 controls.
New Xcode templates
Xcode now offers several more project templates for use when creating an app. New templates are SpriteKit, In-App Purchase, and the Cocoa Touch Static Library.
Xcode also assists in project development by allowing you specify an app's capabilities. When you specify a capability, Xcode manages the addition of the proper libraries and code stubs to support it. Here, checkboxes make it easy to configure background mode support.
Gauges are lightweight processes that monitor your app's use of CPU, memory, graphics, and other resources. The gauges appear at the left. Clicking on one brings up a more detailed view at the right. If you need a more thorough analysis of the problem, you can click on the "Profile in instruments" button, which launches more powerful analytic tools that take a deeper look at the code as it runs. However, they are much more intrusive than the gauges.
You can use the OpenGL gauge to monitor an app's frame rate and overhead. Note that because OpenGL is closely tied to the hardware, you must execute the code on an iOS device tethered to the development system to use this gauge.
Xcode data tips
During debugging, Xcode displays the contents of variables and structures when you hover the pointer over them. New to Xcode is the ability to view the graphics associated with an object. Here, the debugger displays the contents of an object (UIBezierPath) that contains a Bézier curve drawn as a spiral.