Tecnologia

Eu deveria desenvolver meu app com Swift?

Por: , novembro 11, 2014

Swift, a nova linguagem da Apple, gerou bastante agitação na comunidade de desenvolvimento iOS. Com essa nova luz no fim do túnel, o antigo e com poucos fãs Objective-C finalmente poderia ser aposentado.
Swift possui algumas novidades bem legais e que o tornam bem diferente e mais maleável que o obj-c. Por exemplo:
– Sem arquivos .h
– Sem manipulação direta de ponteiro
– Optional no lugar de NULL/nil/NSNull
– Importação de arquivos mais simples
– Maior legibilidade
Porém, ao meu ver, Swift ainda não conseguiu se fixar no mercado e nem de longe, substituir seu antecessor. Vamos ver alguns problemas:
Escassez de recursos na linguagem
Apesar de parecer recursos básicos, Swift ainda não possui muitas funções úteis/fundamentais em certos objetos. Por exemplo, Array não possui o método .contains(), String não tem o .length, apesar de existir a built-in function countElements(). Mas nem tudo está perdido! Afinal, em Swift é possível criar extensões de objetos e criar funções dentro deles, por exemplo:
extension String {
       var length: Int { return countElements(self) }
}
Assim, a comunidade em volta da linguagem trabalhou bastante para enriquecer a maioria dos objetos básicos.
Build demorada
Este item era uma grande promessa da Apple: Swift seria pelo menos 3x mais rápido que Objective-C tanto em runtime como em pré-build. Porém segundo alguns benchmarks a nova linguagem é de 10 a 100 vezes mais lenta que obj-c! Além disso, um projeto com pouco mais de 10 mil linhas, pode levar até um minuto para buildar para aí então, você rodar no dispositivo ou descobrir que seu código tem um erro de sintaxe.
Sem gerenciador de dependências
O famoso CocoaPods é um gerenciador de dependências para projetos obj-c, é algo bem parecido com o maven ou gradle. A ferramenta ainda não tem suporte para a nova linguagem, o que pode fazer com que o seu projeto vire uma bagunça, afinal para usar bibliotecas Swift você precisa baixar os arquivos e deixá-los em um pasta no projeto.
Pois bem…
Swift é uma grande promessa para um futuro a médio prazo, porém se você vai escrever um projeto grande, ou que pode se expandir muito tome cuidado, talvez seja melhor se manter na antiga opção. Problemas como build demorada podem afetar ainda mais seu trabalho, o que já não acontece com o uso de obj-c.
No entanto, é possível usar as linguagens juntas. O que permite, por exemplo, que você comece escrevendo um aplicativo em objective-c e com o tempo, enquanto a nova linguagem for melhorando, você vá migrando algumas partes do app. Assim, é possível manter o melhor dos dois mundos

  • Receba nosso conteúdo em primeira mão.