Unidade III - Introdução ao Swift

Nesse módulo vamos apresentar a linguagem Swift, novo padrão para programação de Apps nativos para as plataformas da Apple. O Swift foi apresentado ao mundo no evento WWDC (Worldwide Developers Conference) de 2014 e teve sua primeira versão lançada em outubro de 2014.

Apresentada como linguagem que trazia todos as vantagens e benefícios de sua antecessora, o Objective-C, mas removendo a linguagem C, ela foi inspirada por vários linguagens e conceitos modernos de engenharia de software, sendo uma linguagem extremamente versátil para programas orientados a objeto, bem como apresentando recursos de linguagens funcionais.

Junto de seu lançamento a Apple introduziu ao Xcode a ferramenta de Playgrounds. Através dela os programadores podem "brincar" com a linguagem em programas que são interpretados em tempo real, a medida que vão sendo digitados. Essa é uma excelente forma de aprender a sintaxe da linguagem e testar seus principais recursos já que através dos Playgrounds conseguimos inclusive utilizar recursos próprios das plataformas iOS e OSX, onde o Swift executa.

A primeira versão do Swift tinha todos os recursos fundamentais que se espera em uma linguagem moderna, mas ainda tinha muito espaço para melhorias. No WWDC de 2015 a Apple anunciou a versão 2.0 da linguagem que trouxe novos recursos como tratamento estruturado de erros, extensões de protocolos e construções facilitadas para verificação de compatibilidade, dentre outras diversas melhorias.

Em 3 de dezembro de 2015 a Apple anunciou a abertura do código fonte da linguagem, junto com o lançamento de sua versão 2.2. Seu código esta disponível no GitHub onde é possível acompanhar seu desenvolvimento, criar forks e contribuir para o seu código. Graças a isso o Swift já foi disponibilizado em outras plataformas como o Linux e tem recebido grande apoio da indústria.

Nas práticas dessa unidade vamos construir o protótipo do App Traqt. Vamos reunir suas funcionalidades fundamentais em uma única tela, e assim entender não só alguns elementos básicos da plataforma iOS como exercitar os conhecimentos da linguagem Swift apresentados em sala.