Eu deveria desenvolver meu app com Swift?

Swift, a nova linguagem da Apple, gerou bastante agitação na comunidade de desenvolvimento iOS. Com essa nova luz no...

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.
Data de publicação: 11/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

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.

Comentários

  1. André Willik Valenti26 de novembro de 2014

    Caramba, que decepção! Tem cara de produto lançado antes da hora… Mas, bom, tomara que evolua e fique bom num futuro próximo. Costumo ser muito fã da ideia de novas linguagens de programação, embora saiba que o ecossistema em volta dela precise acompanhar para que o resultado seja bom.
    Bem sucinto o artigo, muito bom! Parabéns, Felipe!

    Responder
  2. Marcus paulo3 de dezembro de 2014

    PARABÉNS FELIPE PELO POST.
    DUAS DÚVIDAS:
    1 – COMO FICA A COMPATIBILIDADE COM APLICATIVOS EM OBJECTIVE-C (JÁ VI ALGUMAS PESSOAS COMENTANDO), QUE COM O NOVO XCODE, ALGUMAS COISAS DEIXARAM DE FUNCIONAR. SEI QUE A LINGUAGEM SWIFT NÃO DEVE TER NADA HAVER COM ESSE FATO.
    2 – COMO VOCÊ ABRANGERIA OS DISPOSITIVOS MAIS ANTIGOS, QUE RODAM IOS6, IOS5?
    PARABÉNS PELO POST
    ABRAÇOS

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 × quatro =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top