When Swift Playgrounds arrived in iOS 10, it was welcomed by developers with open arms. It gave us the ability to write, test, and teach Swift coding from out tablets. Since then, over 1 million users have been using the app, I think a big part of that success is that Swift Playgrounds can make it fun. We are more likely to remember things when we have fun doing them than just reading lines of code from a book.
Two new versions of Playgrounds came from WWDC17 this year.
Swift Playgrounds 1.5
Released during WWDC17, version 1.5 adds new features including the ability to connect to 3rd party devices. This is a great way to get students excited, those of us old enough to remember programming Turtles and watching them run around the room will now be able to tell those young folks all about it. Many 3rd party devices are available for purchase in Apple stores, so you know they must be pushing it hard.
To support these new accessories, there is a tab in the application with playgrounds to get you started on device programming.
Swift Playgrounds 2.0
Also announced with a release date later in the year (my guess is Fall along with iOS 11) was Swift Playgrounds 2. This is a big update. As you would expect, first off it will support the iOS 11 SDK and is available today as a beta. To get the beta, you have to apply through test flight rather than via the Developer Portal. However, if you install the iOS 11 beta you will also discover the beta version is installed already. It should go without saying that Swift 4 is also supported.
Documentation is now integrated in to the app along with support for 3rd party feeds. This is going to be particularly beneficial to educators who can publish new training material on a feed for students to subscribe to.
Another great learning feature is the ability to step through code as it is running. When you have code running it can highlight it in the code editor, this can also serve as a somewhat simple debugger.
New abilities have been added for taking code entered at run time and using it in other pages, for example. You may have a code project that progresses through many different pages as the user works through training material, entering code. With Swift Playgrounds 2, that code can now be brought forward in to the next page allowing for progressive enhancement. Users also have the ability now to add, delete, rename, and reorder screens in the playgrounds they create along with support for even more languages.
One last important feature is a new option to adjust the speed of a running playground. If supported, you can adjust the speed of code execution in the live preview window.
I think you will agree, Swift Playgrounds is going from strength to strength, and continues to be an impressive teaching and learning tool for both the classroom and on the move.