A Apple liberou a versão 2.2 do Swift, a última versão da linguagem de programação para dispositivos móveis e servidores. Essa versão é o primeiro lançamento oficial que tem contribuições de desenvolvedores da comunidade open source, incluindo a contribuição de 212 desenvolvedores que não são da Apple. Alguns destes são erros de digitação, foram incluídos nos primeiros dias de open source do Swift, levando Chris Lattner a comentar:
Swift's comments and test suite are on track to be one of the most correctly spelled and best indented ones in the industry!
— Chris Lattner (@clattner_llvm) 5 December 2015
A versão também inclui uma série de melhorias que seguimos no processo de evolução do Swift, incluindo algumas propostas realizadas por contribuidores que não são da Apple:
- SE-0001: Permitir a maioria das palavras chaves como labels de argumentos;
- SE-0015: Operadores de comparação para tuplas;
- SE-0014: Restringir AnySequence.init;
- SE-0011: Substituir palavras chave typealias com tipos associados para declarações de tipos associados;
- SE-0021: Nomear funções com labels de argumentos;
- SE-0022: Referenciar um seletor Objecive-C de um método;
- SE-0020: Configuração da versão de build da linguagem Swift.
O projeto Swift foi expandido para permitir que outros desenvolvedores façam commit diretamente no repositório, para todos que realizaram um bom trabalho no passado.
O Swift 2.2 está incluso no Xcode 7.3, que também foi liberado. A versão oficial significa que as aplicações iOS podem agora ser enviadas para a AppStore usando o Swift 2.2. Binários oficiais estão disponíveis para o Linux Ubuntu 14.04 e 15.10. Entretanto a versão para Linux não está completa ainda, existe uma série de componentes faltando nas bibliotecas principais do swift que estão programadas para o Swift 3 no final deste ano. O IBM Swift sandbox está atualmente executando um build de desenvolvimento do Swift 3.0, mas em um futuro próximo será possível adicionar o Swift 2.2 como opção.
O Swift Package Manager não é parte dos builds oficiais porque ainda está em desenvolvimento. Será lançado com o Swift 3.0.
Está disponível uma atualização do documento Swift Programming Language ePub, assim como uma versão em HTML.
Mudanças no Swift 2.2
There are a number of changes in Swift 2.2 which will affect existing source code written for previous versions. These include:
Existe uma série de mudanças no Swift 2.2 que afetarão o código fonte escrito em versões anteriores. Estes incluem:
- Remover a iteração no estilo C, além dos operadores de incremento ++ e decremento --;
- Funções não pode mais ser definidas como tendo argumentos curry diretamente, mas ao invés disso retornam uma função que recebe um operador;
- Seletores Objective-C podem ser referenciados usando #selector(doSomething) ao invés de ofSelector("doSomething"), e agora é verificado em tempo de compilação;
- A maioria das palavras chaves agora podem ser usadas como label de argumentos;
- Tipos associados agora podem ser relacionados à um protocol, permitindo o uso de generics em classes que adotam estes protocols.
O livro gratuito da linguagem também inclui uma descrição do Automatic Reference Counting que pode não ter ficado claro em versões anteriores.
O Swift 2.2 está disponível para download através do website do Swift.