Apple recently revealed the preview of its Xcode 4 programming environment to the public. The IDE is used to build Mac OS X and iOS apps, and offers developers a new user interface, integrated Interface Builder, LLVM compiler 2.0 support, and improved instruments.
On the interface front, Xcode 4 consolidates the previous multiple windows into a single window. It also introduces a set of navigators on the left hand side of the window include a list of project files, a central search interface, issue tracking, debugging data with compressible stack traces, active and inactive breakpoints, and a persistent collection of logs.
There's also a "Jump Bar" that shows the relative location of your current file and lets users click, or jump, to any other file on that level.
In addition, Interface Builder is no longer a separate application and is now integrated into the Xcode 4 IDE.
The best part: you can drag connections directly from the UI design to the source code. Xcode 4’s new split editor layout makes it easy to wire up your actions and outlets simply by dragging a connection to existing code - one gesture and you’re done. Don’t yet have the code ready to connect? Xcode will create a new outlet or action for you, just drag to an empty space in your source file and Xcode will generate the code.
Here are some additional new features:
Xcode Assistant. According to Apple, when the Assistant is invoked, the IDE will "anticipate which other files you need to see, as you work."
Editing a new derived class? The Assistant will show you the code for the class you are inheriting. Writing new implementation code? The Assistant will automatically show you the corresponding header. When designing an interface, the Assistant will show you the appropriate controller, making drag-and-drop code connections extremely simple. Data model designing will bring up the classes that back your models - all automatically.
LLVM Compiler 2.0. Apple says that the new compiler is twice as fast as GCC and produces faster final applications.
With Xcode 4, the compiler is more than a command-line tool. LLVM is fully integrated into the IDE itself. Syntax highlighting, code completion, and every other index-driven feature is handled by the LLVM parser. If the compiler knows about a symbol, so does the Xcode IDE. C, C++, and Objective-C are all accurately understood at editing time, exactly as they are when building.
In addition, Instruments for Xcode 4 presents a new interface.
New data collection instruments are also available, including OpenGL ES for tracking iPhone graphics performance, new memory allocation monitoring that can find unintended memory growth, Time Profiler on iOS for collecting samples with very low overhead, and complete System Trace for insight into how all system processes interact.
Instruments covers even more ground, has even lower overhead, and is more useful than ever before.