# Swift Playgrounds

O Swift Playgrounds (também conhecido como Playgrounds ) é um ambiente de desenvolvimento para o Swift criado pela Apple Inc. A versão original do Playgrounds foi lançada pela Apple Inc. em 2 de junho de 2014 durante a WWDC 2014 como parte integrante do Xcode.
Em Setembro de 2016, foi lançada a versão para iPad (Swift Playgrounds for iPad). Esta versão é uma aplicação educacional que tem como publico alvo crianças que pretendem começar a aprender programação.
Em Febrereiro de 2020, uma nova versão foi lançada para o mac OS Catalina. Esta versão, funciona de forma autonoma face ao Xcode e é semelhante à versão para iPad

## Descrição geral

O Swift Playgrounds tem a capacidade de processar código em tempo real. Instruções em código são avaliadas (e os seu resultados apresentados) à medida que são codificadas, fornecendo feedback em tempo real ao programador. Esse tipo de ambiente de desenvolvimento é geralmente chamado REPL (Read–Eval–Print–Loop) e é muito útil para prototipagem rápida e para aprendizagem. As vantagens do ambiente REPL são particularmente evidentes nos tutoriais para Swift.
O Swift Playgrounds para iPad foi anunciado a 13 de junho de 2016 durante a WWDC 2016 como uma aplicação exclusiva para iPad com o objectivo de ensinar programação em Swift. Uma versão para programadores foi lançada na mesma data, seguida por uma versão beta (pública) no mês seguinte. A aplicação foi apresentada como uma ferramenta de ensino para alunos, introduzindo os principais conceitos de programação através de um ambiente interactivo desenvolvido para propositadamente para ser utilizado com o dedo. A aplicação foi lançada em setembro de 2016. A Apple desenvolveu um programa curricular para ensinar programação através do Swift Playgrounds para iPad, recomendando do ensino secundário.

## Características

O Swift Playgrounds para iPad foi concebido simultaneamente com um ambiente de desenvolvimento integrado e como ferramenta educacional. A aplicação permite aos utilizadores descarregar projectos contendo lições e desafios. Uma vez guardados no iPad, estes projectos podem ser copiados e modificados sem a necessidade de uma conexão permanente à Internet.
As lições do Swift Playgrounds para iPad introduzem três personagens: Byte, Blu, Hopper. Em cada desafio, é pedido ao utilizador que ajude essas personagens a alcançar objectivos simples, através de simples instruções de código. À medida que os desafios se tornam mais complexos, novos conceitos de programação são introduzidos e são necessários algoritmos cada vez mais elaborados para os resolver. As lições mais avançadas do Swift Playgrounds apresentam aos utilizadores um leque de recursos mais complexos, como a API Apple Bluetooth e a plataforma de desenvolvimento Apple Augmented Reality (ARKit).
Em janeiro de 2018, a Apple expandiu subscrições ao Swift Playgrounds, permitindo que os usuários adquirissem Playgrounds desenvolvidos por terceiros e fornecedores de conteúdo para vendê-los.

## Desenvolvimento e publicação

O Swift Playgrounds foi desenvolvido pelo Departamento de Ferramentas para Programadores da Apple (Developer Tools Department).De acordo com Chris Lattner, criador da linguagem de programação Swift e director do referido departamento, o Swift Playgrounds foi "fortemente influenciado pelas ideias de Bret Victor, pela Light Table e por outros sistemas interactivos". O Swift Playgrounds foi anunciado pela Apple a 2 de Junho de 2014 durante a WWDC 2014 como parte do Xcode 6 e foi posteriormente lançado em Setembro do mesmo ano.
A versão para iPad do Swift Playgrounds (versão 1.0) foi lançada a 13 de setembro de 2016.Chris Lattner teve um papel central no desenvolvimento do Swift Playgrounds para iPad, incluindo a concepção, design e implementação. Simultaneamente com o lançamento, a Apple publicou atravésiBook Store guias de utilização da aplicação. O lançamento coincidiu com uma campanha centrada em Silicon Valley para pressionar as escolas públicas a ensinar programação e foi seguido pelo anúncio da iniciativa da Apple "Everyone Can Code", um programa que fornece currículo de ciências da computação para ajudar as crianças a aprender a Programar. O Swift Playgrounds está incluído neste programa como currículo de codificação gratuito e a Apple fornece guias detalhados para orientar os professores no ensino do Swift. A Apple também lançou o "App Development with Swift", um currículo de um ano para ensinar o desenvolvimento de software Swift e mais tarde introduziu um programa de certificação Swift para validar as habilidades de codificação para os alunos.
Em janeiro de 2017, a Apple fez uma parceria com o RNIB (Royal National Institute of Blind People) para fornecer versões em braille do Swift Playgrounds usados nos curso de programação da Apple. Em maio de 2018, a Apple anunciou que a iniciativa "Everyone Can Code" seria ampliada para escolas para estudantes cegos e surdos.

### Histórico de Versões

| Encontro | Versão | Descrição |
| Junho 2016 | | Apple anuncia Swift Playgrounds para iPad. Uma versão exclusiva para Apple Developers é lançada |
| Julho de 2016 | | Versão beta lançada |
| Setembro 2016 | 1.0 | Primeira versão é lançada |
| Março de 2017 | 1.2 | Suporte de idiomas para chinês simplificado, japonês, francês, alemão e espanhol latino-americano; Suporte para a framework MapKit |
| Junho 2017 | 1.5 | Possibilidade de programar robôs e drones ( Lego Mindstorms EV3, Parrot, Sphero ...) |
| Setembro 2017 | 1.6 | Suporte para ARKit (Realidade Aumentada) Suporte para Swift 4 Acesso à câmera |
| Janeiro 2018 | 2.0 | Disponibilização de assinaturas de playgrounds desenvolvidos por terceiros. |
| Maio 2019 | 3.0 | Suporte para o Swift 5 Partilha de ficheiros Swift |
| Outubro 2019 | 3.1. | Suporte para o Swift 5.1 Framework SwiftUI incluída |
Após o lançamento, o Swift Playgrounds atingiu o primeiro lugar no top das principais apps educacionais gratuitos para iPad em quase 100 países. O aplicativo recebeu críticas geralmente positivas dos utilizadores (pontuação de classificação 4/5 na App Store) e da imprensa. A app recebeu elogios por tornar a programação mais acessível a estudantes, bem como por não se concentrar excessivamente no Swift, insistindo nas boas práticas da programação. A Common Sense Media classifica os Swift Playgrounds com uma pontuação de 5/5.