Features of Xcode
1. Playgrounds: A playground is an Xcode window in which you can enter Swift code that executes as you type it. It allows you to fix errors immediately and see your code’s results. You no longer have to build and run the code to debug it, saving you time as you develop your apps. Playgrounds also provide interesting features such as timelines that enable you to see how an algorithm executes over time.
2. Read-Eval-Print-Loop (REPL): It is a debugging tool for interacting with a running app. Like a playground, you can also use it to write statements that execute immediately. But REPL doesn’t have a playground’s capabilities for writing large amounts of code or rendering complex results.
3. Interface Builder: Xcode’s Interface builder enables you to create your apps using drag-and-drop GUI design techniques. Typically, you create GUIs in Storyboards that graphically map the paths a user can take through your apps, including each screen and the transitions between screens.
4. Auto Layout Adaptive Design: By default, new OS X and iOS storyboards use Interface Builder’s Auto Layout capabilities, which enable you to create responsive GUIs that update based on device orientation changes, screen-size changes and the user’s locale. Xcode adds Auto Layout Adaptive Design which enables you to use one storyboard to design your app’s GUI for all supported device sizes and orientations.
5. iOS Simulator: The iOS Simulator enables you to test iOS apps on your Mac. It provides support for various iPhone devices. It also includes new resizable iPhone devices that enable you to rest your Auto Layout adaptive designs by resizing the simulator window.
6. Live Rendering in Interface Builder: As you design your GUI and write code that manipulates it, Interface Builder renders the resulting GUI so you can see what it’ll look like when the app runs.
7. View Debugger: The view debugger allows you to find and fix problems with your app’s user interface. When you use the view debugger to pause an app, the view debugger displays the app’s user interface in a 3D rendering so that you can quickly see where an error has occurred. You can then go to the corresponding code to fix the problem.
8. Game Design: Xcode supports 2D and 3D game design as well as a particle editor that can be used to create complex animation such as fire, smoke, moving water and fireworks.
9. LLVM Compiler: Low-Level Virtual Machine (LLVM) is a fast, open-source compiler for Swift, Objective-C and several other languages that are fully integrated into Xcode.
10. XCTest: XCTest is a unit testing tool. Unit tests help ensure that software components in an app function as expected. You can use XCTest to automate testing of your app’s features, view the test results, determine whether any problems occurred and fix those problems.