Devo aprender Swift ou Objective-C?

Sim, essa dúvida atrapalha o início do projeto de quem está começando. Para Android a escolha foi fácil, Java, agora para iOS surge essa dúvida. Junto com a dúvida, alguns mitos surgem:

“Agora que existe o Swift, o Objective-C vai acabar.”
“O Swift é muito inconstante, todo ano muda.”

E no meio dessa batalha você tenta descobrir qual é o mais fácil para fazer o mais rápido possível. Não é possível dizer qual é o caminho mais fácil para toda e qualquer pessoa, mas vou apresentar os pontos chave para serem pesados na hora da escolha.

Objective-C

Por ser a linguagem mais antiga é a linguagem com mais repositórios e bibliotecas pra o seu projeto (como visto nos dados de repositórios do GitHub). Além disso é a linguagem com mais apelo comercial.

O apelo comercial ocorre, pois muitas empresas não vão trocar o projeto de seu app para Swift simplesmente porque é a linguagem mais nova. Isso seria um retrabalho e essa força de trabalho poderia ser aplicada em uma evolução do app existente. Por isso, ainda é necessário que o profissional se capacite para dar manutenção em códigos Objective-C. Justamente por esse impasse, o Objective-C não vai acabar de forma repentina. Além do ponto profissional, outras vantagens são que ela é melhor para interagir com bibliotecas em C/C++ e geralmente quando se tem que fazer MUITO trabalho com video ou audio ela tem a performance melhor.

A desvantagem é que sintaxe não é bem convencional. Para quem já tem uma experiência com outra linguagem de programação, você tem que estar disposto a pensar diferente. Um grande ponto negativo é a dificuldade em encontrar informações e tutoriais para Objective-C e a dificuldade aumenta se for necessário encontrar algo específico para as versões mais recentes do iOS. Desde o lançamento do Swift os autores têm se voltado mais a escrever sobre a nova linguagem.

Swift

Desde 2014, quando anunciado o lançamento do Swift, muitos desenvolvedores se prontificaram a aprender por acreditarem que em pouco tempo essa seria a única linguagem de programação para iOS. Outra parcela aprendeu por ser uma linguagem com a sintaxe fácil (os opcionais “!” e “?” são a parte mais complicada). Por isso, a quantidade de desenvolvedores que aprenderam Swift é bem próxima dos que aprenderam Objective-C.

A primeira coisa que se nota é que Swift se afasta de C. Você não verá ponteiros, mas ainda é possível usar códigos de Objective-C e C em seu projeto. É uma linguagem mais legível para alguém do mundo web, especialmente por ter sido criada com muitas referências de Python e Ruby. O desenvolvimento em Swift parece ser mais intuitivo e fluido, pessoalmente pareceu mais rápido.

A grande vantagem é que quantidade de conteúdo disponível e atualizado para se aprender Swift é grande. Já a dificuldade é que a cada ano o Swift tem se atualizado e alguns detalhes fazem com que seu projeto deixe de compilar caso você atualize o xCode. A Apple até desenvolveu uma ferramenta de tradução de projetos antigos para o Swift mais novo, mas ainda assim é bom ficar atento aos detalhes.

Em resumo,

Se você busca desenvolver um projeto pessoal ou um freelance com prazo curto, recomendo fazê-lo em Swift a curva de aprendizado é parece ser mais rápida.
Caso seu objetivo seja alcancar um perfil de desenvolvedor iOS no mercado de trabalho, é necessário aprender as duas linguagens. Para quem irá aprender as duas linguagens, o melhor é começar com Objective-C.
Por mais difícil que seja, aprender primeiro Objective-C facilita a aprendizagem de Swift, enquanto que o contrário não.


Você acha que essa é a melhor forma? Aprendeu de uma forma diferente? Deixe um comentário!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s