How to install Xcode and create a playground
How to install Xcode and create a playground êŽë š
Xcode is Appleâs programming application for developers. Itâs free from the Mac App Store, and it's required to do development for Appleâs platforms. So, your first action is to click here to install Xcode from the Mac App Store â itâs quite a big download, so start downloading it now and carry on reading.
While that's downloading, I can explain a couple of the absolute basics to you:
- iOS is the name of the operating system that runs on all iPhones and iPads. Itâs responsible for all the basic operations of the phone, such as making phone calls, drawing on the screen, and running apps.
- macOS is the name for Appleâs desktop operating system, which is the technological grandparent of iOS, tvOS, and even watchOS.
- watchOS is the name for Appleâs tiniest operating system, and is responsible for running native apps and also delivering notifications from the phone.
- tvOS is a spin off of iOS designed to run on televisions connected to Apple TV devices.
- Swift is Appleâs modern programming language that lets you write apps for iOS, macOS, and other platforms. It contains the functionality for building programs, but doesnât handle anything like user interfaces, audio or networking.
- UIKit is Appleâs native user interface toolkit. It contains things like buttons, text boxes, navigation controls and more, and you drive it using Swift.
- AppKit is Appleâs native user interface toolkit for macOS. Like UIKit it contains things like buttons, text boxes, and more, although focused on macOS rather than iOS.
- WatchKit was Appleâs native user interface toolkit for watchOS before SwiftUI was introduced. While UIKit and AppKit have much in common, WatchKit is significantly different â and significantly simpler.
- SwiftUI is a cross-platform toolkit that lets us build apps for iOS, macOS, tvOS, and watchOS.
- Cocoa Touch is the name commonly used for Apple's vast collection of frameworks for iOS. It includes UIKit to do user interfaces, but most people would say it also includes SpriteKit for making 2D games, SceneKit for making 3D games, MapKit for maps, Core Graphics for drawing, Core Animation for animating things, and much more.
- Cocoa is the name used for Appleâs framework collection on macOS. Strictly speaking itâs made up of AppKit for user interface, Foundation for basic functionality, and Core Data for object graphs, but like Cocoa Touch itâs often used to mean âall of macOS development.â
- NeXTSTEP is an operating system created by a company that Steve Jobs founded called NeXT. It was bought by Apple, at which point Jobs was placed back in control of the company, and put NeXTSTEP technology right into the core of Apple's development platform.
- Simulator is a tool that comes with Xcode that looks and works almost exactly like a real iPhone, iPad, Apple TV, or Apple Watch. It lets you test apps very quickly without having to use a real device.
- Playgrounds are miniature Swift testing environments that let you type code and see the results immediately. You donât build real apps with them, but they are great for learning. Weâll be using playgrounds in this introduction.
- Crashes are when your code goes disastrously wrong and your app cannot recover. If a user is running your app it will just disappear and theyâll be back on the home screen. If you're running in Xcode, youâll see a crash report.
- Taylor Swift has nothing to do with the Swift programming language. This is a shame, as you might imagine, but I'll try to make up for this shortfall by using her songs in this tutorial. Deal with it.
Thatâs it for the basics â if Xcode still hasn't finished downloading then why not watch some Taylor Swift videos while you wait? The examples in this tutorial will certainly make a lot more senseâŠ
Got Xcode installed? OK! Letâs do thisâŠ
Introduction to Swift playgrounds
When you launch Xcode, youâll see the Welcome to Xcode window where you can create a new project or open one of your recent projects. We donât want a project for now, because weâll be using a playground â little mini projects that let us run code quickly. You can make a new playground by going to the File menu and choosing [New]
> Playground
.
Xcode will ask you whether you want to create a playground for iOS or macOS, but it doesnât matter here â this introduction is almost exclusively about the Swift language, with no user interface components. For the avoidance of problems, leave âiOSâ selected for the platform. Youâll see a list of playground templates you can choose from, but weâre going to start small here so please choose Blank.
Finally, Xcode will ask you to name your playground â the default name of "MyPlayground" is fine, so go ahead and click Create.
What you'll see is a window split in two. On the left you'll see this:
import UIKit
var greeting = "Hello, playground"
And on the right, once Xcode has built and run the code, youâ'll see this: "Hello, playground". Note that build and running the code takes 10 seconds or so the first time, but is fast otherwise â Xcode has to launch a mini simulator behind the scenes.
This split is important, because it divides code and results. The code is in the left pane, and you will edit this to do your own Swift work as we go. The results are in the right pane, and it shows you what your Swift code has done. In this case, itâs telling us that we successfully set the value "Hello, playground."
Playgrounds run whatever code you write, one line at a time, and show the updated results in the side bar. To the left of each line of code youâll see a blue bar, and if you hover over various lines there youâll see you can press a play button to run the code up to that point.
Playgrounds are a great way to try some code and see the results quickly. They are extremely powerful too, as youâll see over the next hour or so. Letâs get started writing Swift!