Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Swift
Code

O Que Há de Novo no Swift 3?

by
Length:MediumLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Introdução

Setembro passado, Apple lançou oficialmente a versão mais atual da sua nova linguagem de programação, Swift 3. Como na Swift 2 no ano passado, essa versão traz inúmeras novas funcionalidades e aprimoramentos, tornando-a ainda melhor!

Swift 3 está inclusa no Xcode desde a versão 8.0 mas também pode ser baixada no site swift.org.

1. Usando Swift 3

Se quisermos usar Swift 3 em projetos atuais ou futuros, Xcode provê uma ótima ferramenta de migração para fazê-lo facilmente.

Para novos projetos em Swift criado com Xcode 8, Swift 3 será usada automaticamente. Ao abrir projetos com Swift 1 ou 2 no Xcode 8 pela primeira vez, seremos  alertados para converter seus códigos para Swift 3 ou Swift 2.3.

Escolher Swift 2.3 dará acesso às APIs do iOS 10, macOS Sierra, tvOS 10 e watchOS 3 mas ainda usará a sintaxe do Swift 2. Alternativamente, podemos escolher não converter nossos codigos agora e continuar usando uma versão anterior. Estando pronto, podemos ir em Editar > Converter > Para Versão Atual da Sintaxe Swift... na barra de menus do Xcode para converter todo nosso código.

A ferramenta de migração toma conta de todas as mudanças necessárias no código para adotar Swift 3 vindo da 2. Isso inclui encadeamento de métodos e nomes de propriedades, mudanças de sintaxe onde necessário e outras coisas. Antes de completar a conversão, Xcode mostrará as mudanças pendentes para cada arquivo Swift. Isso significa que podemos verificar cada mudança antes de serem feitas, só para garantir que a ferramenta não introduzirá problemas no projeto.

2. Fundação

A maior parte do lançamento da Swift 3 foi a nova biblioteca de código aberto, Foundation. Embora desenvolvedores experientes do macOS e iOS sejam familiares com o framework Foundation, essa bibliotca traz novos recursos para programadores Swift.

A primeira mudança que notaremos ao usar as APIs da Foundation é a falta do prefixo NS. Isso significa que classes como NSDate, NSTimer e NSURL são agora Date, Timer e URL em Swift. A ferramenta de migração do Xcode 8 renomeará, automaticamente, todas essas classes para nós, mas essa é uma mudança que todos devem estar atentos ao criar novo código.

Por ser uma biblioteca base da Swift, todas as APIs do Foundation são compartíveis com sistemas operacionais Linux. Como Swift compatível com outras plataformas, a biblioteca Foundation também. Isso significa que o conjunto base de funcionalidades da Foundation, como administração de data/tempo e rede, pode ser usada onde Swift puder ser usada. Essa interoperabilidade multi-plataforma foi uma das motivações da remoção do prefixo NS das APIs da Foundation.

Por último, muitas das APIs da Foundation foram reprojetadas para encaixar melhor no código da Swift. Por exemplo, dependendo da API, esse reprojeto significa que a Foundation pode lançar mão de:

  • Administração de erro aprimorada usando blocos try e catch introduzidos na Swift 2.
  • Tipos opcionais, em contraste a toda inplicidade não envolta dos tipos opcionais que foram criados ao importar o framework Foundation do Objective-C para o Swift.
  • Mais algoritmos modernos e otimizados.
  • Melhor performance geral sendo escrita em Swift puro, que é bem otimizada.

No geral, usando a nova biblioteca Foundation da Swift é uma experiência muito melhor quando comparada ao usar o antigo framework em nossos códigos Swift. Se quiser saber mais sobre a biblioteca Foundation da Swift, veja o repositório no GitHub.

3. Guias de Nomeção de API

Swift 3 também introduz alguns novos guias de nomeação de API. Sendo criadas para simplificar todas as APIs do Swift além de torná-las mais consistentes.

Omita Palavras Desnecessárias

A primeira mudança no Swift 3 para melhorar as APIs foi remover palavras desnecessárias de métodos e propriedades. Essa mudança atinge tanto como recurso de linguagem ao importar APIs da Objective-C como afeta os guias para desenvolvedores criarem seus próprios códigos. O código a seguir contém alguns exemplos de Swift 2 comparado à mesma funcionalidade em Swift 3.

Veremos que as versões de Swift 3 são mais legíveis. As declarações if em particular possuem um flux melhor e parecem mais com uma sentença em inglês.

Rótulos de Parâmetro de Função

Swift 3 desfaz umas das mudanças adicionadas na Swift 2: o rótilo do primeiro parâmetro em uma função. Na Swift 2, o rótulo do primeiro parâmetro era ignorado automaticamente ao invocar a função. Por exemplo, uma função declarada como:

seria invocada em Swift 2 assim:

Swift 3 reverte essa mudança e não ignora mais o primeiro rótulo. Isso significa que a função acima seria invocada assim:

Contudo, o uso dessa função vai contra o objeto de omitir palavras desnecessárias da Swift 3. Para seguir o novo guia de design de API da Swift, a delcaração deve ser alterada para:

Essa nova declaração seria usada da seguinte forma:

O novo formato de nomeação flui tão bem quanto o formata da Swift 2 mas tem o benefício adicional do rótulo que vincula claramente ao primeiro parâmetro da função.

Notemos que ainda podemos especificar que o primeiro rótulo de função da Swift 3 pode ser ignorado. Isso é obtido usando _ e então adicionando um nome de parâmetro para usar dentro da definição da função, assim:

Embora seja um exemplo bem básico, esse novo formato de declarar funções é muito benéfico com nomes mais complicados. Por exemplo, o código abaixo mostra como alguns métodos de String da Swift mudaram da 2 para a Swift 3.

Uso do Baixo 'camelCase' para Enums e Propriedades

Essa mudança busca trazer consistência entre todas as propriedades da Swift 3 e enumerações. Ficou decidido que enumareções estão mais para propriedades que clases, elas deveriam seguir o mesmo formato.

Essa é uma mudança relativamente menor e uma que a ferramenta de migração do Xcode tomará conta ao converter código de Swift 2 para 3. Todos os desenvolvedores devem estar atentos ao escrever novo código.

Os exemplos a seguir mostram como essa mudança afetam algumas APIs.

4. Despachador do Grand Central

Junto da Swift 3, a versão de código aberto do Despachador Grand Central (GCD) da Swift também foi liberado. GCD é um framework da Apple para habilitar execução paralela de código em sistemas multicore. Os objetivos principais da reescrita são:

  • Prover a mesma funcionalidade que a existente nas funções do GCD baseadas em C com APIs projetadas para trabalhar e ler bem junto de outros códigos Swift.
  • Prover um conjunto de APIs multi-plataforma que poderá ser usada onde Swift for usada, como a Foundation.

Para desenvolvedores experientes com as APIs do GCD nas plataformas Apple, essa versão em Swift será bem fácil de entender. Ela segue os mesmo conceitos. O código abaixo mostra tarefas comuns que o GCD pode realizar no Swift 3:

Se quisermos aprender mais sobre programação paralela e GCD no Swift 3, podemos ver a sessão da WWDC da Apple desse ano e a referência do framework Dispatch para Swift.

5. Benefícios do Open Source

Embora não sea um novo recurso ou mudança, Swift 3 é o primeiro lançamento da Apple desde que a linguage tornou-se de código aberto em Dezembro de 2015. Sendo totalmente aberta traz vários benefícios que se tornarão mais evidentes nas versões futuras da Swift.

Primeiro, tornar a Swift e suas bibliotecas base abertas significa que desenvolvedores podem portar Swift para funcionar em outras plataformas e sistemas operacionais. Atualmente, Swift é compatível com todas as platformas Apple além de versões modernas do Ubuntu. Com o tempo, contudo, Swift pode ser portada para outros sistemas, como Android e Windows. Isso dá o potencial de fazer a Swift totalmente multi-plataforma e ser usada por mais programadores não Apple.

Depois, ter toda a parte interna da Swift visível ao público significa que funcionários que não são da Apple podem contribuir. Além dos recursos, especialistas também podem contribuir com soluções de bugs, aprimoramentos e otimizções dentro da Swift.

No geral, tornar a Swift aberta trará aprimoramentos e recursos à linguagem em um período de tempo menor já que permite mais pessoas contribuirem. Se quisermos aprender mais sobre a natureza aberta da Swift, podemos ver o artigo a seguir:

  • Swift é Open Source

Conclusão

Mostramos algumas das mudanças mais importantes que vieram com a versão 3 da linguagem. Esse é um lançamento importante porque, além de todos novos recuros e APIs da biblioteca base, provê uma visão clara de como Swift evoluirá nos próximos anos. Se as mudanças indicam algua coisa, a linguagem ficará cada vez mais legal de se usar.

Como sempre, deixe seu comentário e feedback na seção de comentários. E veja alguns outros cursos e tutoriais sobre a linguagem Swift!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.