Swift Playgrounds 4+

Learn real coding the fun way


    • 3.7 • 280 Ratings
    • Free

iPad Screenshots


Swift Playgrounds makes it fun to learn to code and build real apps. You solve interactive puzzles in the guided “Get Started with Code” and learn the basics of building apps in “Get Started with Apps.” You experiment with a wide range of challenges and samples that let you explore unique coding experiences.

Swift Playgrounds doesn’t require any coding experience — it’s perfect for anyone just starting out, from eight to one-hundred-and-eight. The whole time you are learning Swift and SwiftUI, the powerful programming technologies created by Apple and used by professionals around the globe to build many of today’s most popular apps. And because it’s built to take advantage of iPad and the real iOS SDK, Swift Playgrounds provides a one of a kind learning experience.

Lessons Built-in
• Apple-created lessons guide you through the core concepts of programming by using code to solve puzzles
• See your code run in a beautiful, interactive 3D world that you can rotate with a finger and pinch to zoom
• Animations introduce each new coding concept at a high-level before you dive into the puzzles
• Glossary and built-in help pages give detailed information about available commands, frameworks, and terminology

Explore and Create
• Interactive coding shows the results of your code instantly, alongside your work
• Step through code in playground books to highlight each line as it runs
• Books provide a head start to create your own playgrounds that use graphics, sound, and touch
• App Gallery walks you through the building blocks of apps, like tabbed navigation and receiving input from device sensors

Build Apps on iPad
• Create real apps on iPad using SwiftUI
• See your code changes reflected live while you type
• Type quickly and accurately with inline code suggestions
• Extend your app with an ecosystem of Swift packages
• Navigate your code with project-wide search

Smart Coding Assistance
• Touch and hold to grab any command and move it around to change the order of your code
• Drag a brace with your finger to wrap a block of code inside a loop or conditional statement
• Drag and drop snippets of commonly-used code directly into your playground
• Fix common code errors with helpful inline suggestions
• Stay organized with automatic code formatting

Real Swift, SwiftUI, and iOS Code
• Learn the same powerful Swift programming language used by the pros to create apps in the App Store
• Build dynamic, elegant apps using SwiftUI, a modern way to create user interfaces
• Access iOS frameworks such as SpriteKit for 2D games, SceneKit for 3D graphics, UIKit, and more
• Your code has direct control of iPad hardware, including the gyroscope, accelerometer, camera, and touch events

Share or Publish
• Send your projects to friends and family using Messages, Mail, AirDrop, or other Share Sheet extensions
• Bring your app projects to Xcode on Mac and back again
• Submit your completed apps to the App Store with App Store Connect

What’s New

Version 4.1

Swift Playgrounds 4.1 includes bug fixes and the following new content:

“Keep Going with Apps” helps you understand how data moves throughout SwiftUI apps
“Animating Shapes” teaches you how to create, modify, and animate shapes
“Capturing Photos” is an advanced look at creating your own camera

Ratings and Reviews

3.7 out of 5
280 Ratings

280 Ratings

Aidenx ,

Music Plays When App Is Not In Use

Sometimes I’ll come home and the music from the app will be playing. I’ll unlock my iPad and the app won’t be open, though if I use the app switcher to find the app it appears to be running when it should be frozen. I tried to use my Apple ID to log into the bug reporter, but it says my account does not exist, even though I get a 2-factor authentication notification prompt.

micman1000 ,

Fun but Could be better.. esp for compete beginners!

This app is a great concept.. but it needs to decide if it is a true keyword entry set up... as per the still brilliant ZX Spectrum language... or if they want you to type the commands in with all the fiddly little parentheses in the right places... which on a touchscreen system with no mouse is extra, extra tedious.... especially when you are nesting commands. In fact it is now well over 30 years since basic programming was successfully introduced to the masses and I am really surprised how poor the interface for this supposed 'state of the art high level?' language really is. Developers... can we have an 'if else' keyword entry please as per the other commands... I presume it is due to a bug that it does not appear in the keyword list...

People having to learn this with no previous experience are going to give up when they have to type this command in and cannot figure out why it will not run as they have a { missing or positioned in the wrong nesting context. This impediment to easy learning is very very poor for a supposed modern high level language.

However I am hoping we will finally get to the point where I can actually do some useful programming with it... all in all 7/10 when it could so easily have been a 9.

energonic ,

comparatively poor interface

This does work (slowly for a compiled language) on ipad but it has a poor interface compared with pythonista. Swift playgrounds editor is a nuisance the way it selects whole keywords when you intended to select between characters. Very limited info about file system.
On pythonista you can select between characters and edit properly, the text of a program is well formatted and in a good font, you also have a repl, which is very useful. The files are visible and can be located.
pythonista is much more sophisticated than swift playgrounds on the ipad.

App Privacy

The developer, Apple, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Linked to You

The following data may be collected but it is not linked to your identity:

  • Identifiers
  • Usage Data
  • Diagnostics

Privacy practices may vary based on, for example, the features you use or your age. Learn More

More By This Developer