Xcode is an integrated development environment for macOS which supports the development of native apps for macOS, iOS, watchOS, and tvOS. Xcode is the successor to NeXT's Project Builder and PBX. (In fact, Xcode's project manifest files are still named with the .pbxproj
extension.)
Xcode releases include stable versions of the clang C/C++/Obj-C compiler, the Swift compiler, the LLDB debugger, and iOS/watchOS/tvOS simulators. Xcode also includes Interface Builder, as well as tools for viewing and editing 3D models and scenes, image assets, and more.
It became much easier to create custom controls in Interface Builder with the introduction of the @IBDesignable
and @IBInspectable
directives in Swift. Developers can now build rich, complex, fully animated controls using just a few extra lines of code. I'm surprised by how many developers have yet to fully embrace this feature, and I frequently find that adding just a few of lines of code to existing classes can make them so much easier to work with.
Note that these features are also available in Objective-C and are a great way of breathing life into old classes. The syntactic equivalents in Objective-C are IB_DESIGNABLE and IBInspectable, but for now I'll be concentrating on examples in Swift.
This only works with projects using Swift 3+