Quando a Apple anunciou o Swift em 2014, pegou muita gente de surpresa e estabeleceu uma ruptura com a hegemonia de 20 anos do Objective-C, até então no auge de sua utilidade para desenvolvimento de aplicativos para iOS.
Mas, afinal, quais são as vantagens desta nova linguagem? Para que mexer em time que estava ganhando? São muitas novidades e Apple resume nos seguintes tópicos: Estabilidade, Modernidade, Poder, Interatividade, Rapidez. Desde que se tornou open source, Swift vem se tornando uma opção bastante robusta para desenvolvedores interessados em conquistar as plataformas móveis.
Embora esse artigo não tenha a pretensão de ensinar a você como programar em Go, nosso objetivo é apontar a direção certa para mergulhar de cabeça na linguagem.
1) Introdução a Swift
Aqui mesmo no Código Fonte chegamos a escrever um artigo bastante introdutório sobre o Swift e, logo em seguida ensinamos como aproveitar suas classes desenvolvidas em Objective-C e portá-las para a nova linguagem.
Outro bom ponto inicial para começar a entender a Swift é no próprio site da Apple. A empresa vem se esforçando para evangelizar desenvolvedores, mas você provavelmente irá precisar de um bom domínio de inglês para atingir o objetivo de se tornar um bom programador na linguagem. A Apple não se esqueceu nem de quem está dando seus primeiros passos no mundo da programação e criou o aplicativo Swift Playgrounds, para que seja possível aprender os princípios da linguagem de uma forma divertida, resolvendo enigmas e realizando experimentos com o código.
O site da Apple focado em desenvolvedores mais experientes funciona como um portal de acesso para toda a documentação e os exemplos de códigos necessários para se estudar de forma independente seus principais fundamentos.
Mais informações também estão disponibilizadas no site oficial da linguagem, criado logo depois de seu código ter sido aberto pela Apple.
2) Cursos Online Econômicos
Quer você seja um autodidata ou não, um bom curso pode ajudar a iniciar sua caminhada em uma nova caminhada, afiar os conhecimentos que você já tem ou mesmo ensinar truques e meandros da linguagem que você não havia percebido. Em muitos casos, nem precisa gastar muito dinheiro:
- Desenvolvimento iOS em Swift – Em Português. Curso desenvolvido pela Pontifícia Universidade Católica do Rio Grande do Sul e oferecido através do iTunes. Custo: maioria dos módulos são gratuitos.
- Developing iOS 8 Apps with Swift – Em Inglês. Curso desenvolvido pela Universidade de Stanford e oferecido através do iTunes. Custo: gratuito.
- Udemy: Aprenda a programar em Swift – IOS – Em Português. Carga horária: 2 horas. Custo: R$25 (valor promocional por tempo limitado).
- Udemy: Curso completo de criação de aplicativos em Swift 2, IOS9 – Em Português. Carga horária: 12 horas. Custo: R$25 (valor promocional por tempo limitado).
- Linguagem Swift do básico ao avançado – Em Português. Conjunto de 15 videoaulas gratuitas no YouTube.
- iai? Instituto de Artes Interativas – Em Português. O iai? marcou presença aqui no Código Fonte por um bom tempo, mas encerrou suas atividades em 2016. Felizmente, disponibilizaram todos os vídeos, apostilas e códigos de suas aulas online, sem custo algum. Há dois módulos de Swift acessíveis na página principal.
- Aprenda a programar para iOS – Em Português. Carga horária: 16 horas. Custo: R$60.
- Swifty – Em Inglês. Aplicativo com mais de 200 tutoriais interativos de Swift. Os 13 primeiros são gratuitos e os demais podem ser adquiridos dentro do próprio aplicativo.
3) Ferramentas
A ferramenta certa para a tarefa certa é fundamental para se aventurar em uma nova linguagem de programação. Felizmente, já existe todo um ecossistema de programas focados para desenvolvedores de Swift:
- Xcode: O IDE oficial desenvolvido pela Apple.
- AppCode: Um IDE alternativo criado especificado para iOS que suporta tanto Swift quanto Objective-C.
- CodeRunner: Editor de código com autocompletar.
- Swiftify: Uma ferramenta online para conversão automática de Objective-C para Swift.
- IBM Cloud Tools for Swift: Um pacote de ferramentas para macOS que facilitam o gerenciamento e implantação de soluções Swift a nível de servidor no Bluemix da IBM.
- SwiftyBeaver: Plataforma de registro para Swift que permite acessar logs de aplicativos em desenvolvimento e lançamento com encriptação de ponta a ponta.
- SwiftFormat: Biblioteca de código e ferramenta de linha de comando para formatação de código Swift.
- Eject: Ferramenta de linha de comando para converter arquivos de Interface Builder para código Swift.
- json2swift: Ferramenta de linha de comando para macOS que gera código Swift de modelos de dados baseados em dados de JSON.
- jazzy: Ferramenta de linha de comando para geração de documentação para Swift e Objective-C.
- SwiftDoc.org: Documentação auto-gerada online para Swift.
- Iconic: Biblioteca de Swift que facilita a interação com fontes de ícones no iOS.
4) Livros Recomendados
Ninguém tem um computador na cabeça e um bom livro sobre uma linguagem de programação pode funcionar tanto como uma fonte inicial de aprendizado, como uma constante fonte de referência. Confira nossa lista de recomendações para Swift:
- The Swift Programming Language (Apple). Em Inglês. Gratuito.
- The Swift Programming Language (Apple). Em Português, tradução aberta. Gratuito.
- Using Swift with Cocoa and Objective-C (Apple). Em Inglês. Gratuito.
- Server-Side Swift (Paul Hudson). Em Inglês.
- Core Image for Swift (Simon Gladman). Em Inglês.
- Swift: Programe para iPhone e iPad (Guilherme Silveira, Joviane Jardim). Em Português.
- Advanced Swift: Updated for Swift 3 (Chris Eidhof). Em Inglês.
- Swift Essentials (Alex Blewitt). Em Inglês.
- Learn Swift: Build Your First iOS Game (Stan Idesis). Em Inglês. Gratuito.
- Desenvolvimento Em Swift Para IOS (Luís Marcelino, Catarina Silva). Em Português.
- Swift Programming: The Big Nerd Ranch Guide ( Matthew Mathias, John Gallagher ). Em Inglês.
- Swift in 24 Hours (BJ Miller). Em Inglês.
- Protocol Oriented Programming with Swift (John Hoffman). Em Inglês.
- Desenvolvendo para iPhone e iPad (Ricardo R. Lecheta). Em Português.
- iOS 10 Swift Programming Cookbook (Vandad Nahavandipoor). Em Inglês.
- The Swift Developer’s Cookbook (Erica Sadun). Em Inglês.
- Game Development with Swift ( Stephen Haney). Em Inglês.
- Swift Game Programming for Absolute Beginners (Arjan Egges). Em Inglês.
- Mastering Swift 3 ( ). Em Inglês.
5) Comunidades de Desenvolvedores
Interagir com a comunidade de desenvolvedores que já tem experiência na linguagem ou com outros iniciantes com as mesmas dúvidas e descobertas também é um caminho fundamental para aprender sobre Swift, além de uma ótima oportunidade de estabelecer laços profissionais e pessoais duradouros. Confira algumas das melhores comunidades relacionadas a Swift na web: