Como se tornar um desenvolvedor iOS - O guia definitivo (2024)

desenvolvedor ios

Neste artigo, veremos o que acreditamos ser necessário para se tornar um desenvolvedor iOS. 

Nosso guia é direcionado diretamente a dois grupos de pessoas:

  • Iniciantes absolutos em Swift (Swift é a linguagem usada para codificar aplicativos iOS) – pessoas que nunca construíram nada para iOS antes.
  • E pessoas que já tentaram aprender Swift antes, mas nunca alcançaram seu objetivo de conseguir um emprego de tempo integral.

Consideraçãoless do seu nível atual, o objetivo aqui é o mesmo. Para colocá-lo em uma posição para se candidatar a uma função de desenvolvedor iOS júnior em uma empresa.

Veremos as habilidades que você deve aprender, os cursos que pode fazer, como se conectar à comunidade, os erros comuns que as pessoas cometem e muito mais. 

O melhor de tudo é que tudo o que discutiremos será totalmente gratuito.

Sério, muitas pessoas acreditam que gastar muito dinheiro as colocará no caminho rápido para o emprego dos sonhos, quando os fatores mais importantes são determinação e força de vontade.

Este artigo está dividido em sete seções:

  1. Habilidades básicas que você deve ter para conseguir um emprego.
  2. Habilidades que são boas para diferenciá-lo da multidão
  3. Erros comuns que as pessoas cometem ao tentar aprender.
  4. Os muitos recursos gratuitos disponíveis para ajudá-lo a aprender Swift.
  5. Como entrar em contato com a comunidade de desenvolvedores do iOS.
  6. Uma estimativa de quanto tempo levará para atingir seu objetivo.
  7. Preparando-se para se candidatar ao primeiro emprego.

Leia o post inteiro ou pule diretamente para a informação que procura, a decisão é sua!

As habilidades fundamentais necessárias para se tornar um desenvolvedor iOS

O que é um desenvolvedor iOS?

Um desenvolvedor iOS trabalha em aplicativos para o Apple gama de telefones. O iOS é especificamente para o iPhone e você trabalhará principalmente com jogos e aplicativos para esse telefone.

Você pode estar envolvido em:

  • Projetando e planejando aplicativos
  • Escrevendo código e desenvolvendo aplicativos
  • Executando manutenção em aplicativos ou servidores de aplicativos
  • Identificando problemas e resolvendo-os
  • Desenvolvimento de atualizações e melhorias
  • Trabalhar com equipes em todo o ciclo de vida do aplicativo

Mesmo que você esteja se especializando em um produto específico, há muita coisa envolvida no dia normal.

Vamos dividir os cinco itens em partes menores.

Habilidades básicas necessárias para se tornar um desenvolvedor iOS

Qual é o mínimo absoluto de habilidades necessárias para conseguir um emprego no desenvolvimento de iOS? 

Existem cinco habilidades essenciais que acreditamos que você precisará como desenvolvedor iOS:

  1. Programação rápida
  2. SwiftUI 
  3. Networking
  4. Trabalhando com dados
  5. Gerenciamento de versão

Vamos dividir os cinco itens em partes menores.

1. Aprendendo Swift

rápido é o primeiro da lista. Isso é Applea linguagem de programação central de. Ele não tem o conceito de exibir informações na tela do iPhone ou baixar dados da Internet. 

É simplesmente uma linguagem como JavaScript ou Python. É apenas código puro que você usa para criar variáveis, escrever funções e assim por diante.

O Swift tem apenas alguns anos e utiliza quase todos os recursos de ponta disponíveis. 

Isso significa que você pode evitar todos os comportamentos antigos comuns em linguagens mais antigas, como C++ e Java.

Isso também significa que possui uma série de recursos avançados dos quais você pode aproveitar.

2. SwiftUI

A segunda habilidade básica necessária é SwiftUI. É um Apple framework que nos permite usar o Swift para criar aplicativos para iOS, macOS, tvOS e até mesmo watchOS. 

Onde Swift é a linguagem de programação, SwiftUI fornece as ferramentas para desenvolvedores para criar aplicativos.

Para ser claro, o SwiftUI não substitui o Swift – é uma estrutura construída sobre o Swift que nos permite criar aplicativos.

Você precisará conhecer Swift e SwiftUI para ter sucesso.

SwiftUI é uma estrutura bastante jovem, apareceu pela primeira vez em 2014 e foi desenvolvida para substituir o arcaico Objective C.

Apesar de sua pouca idade, a comunidade iOS o adotou de todo coração porque é muito fácil de usar.

Apple também possui uma estrutura mais antiga para criar aplicativos iOS chamada UIKit. Se você perguntar a várias pessoas se deve aprender SwiftUI ou UIKit primeiro, obterá uma variedade de respostas. 

Achamos que você deve aprender o SwiftUI e aqui está o motivo pelo qual você deve priorizar o SwiftUI como uma habilidade principal.

O SwiftUI é significativamente mais fácil do que o UIKit e – leva talvez um quarto do código para obter os mesmos resultados que o UIKit, e há menos coisas para aprender ao longo do caminho. 

Isso significa que você ganha muito impulso porque pode construir coisas com mais rapidez, ver os resultados com mais rapidez e iterar esses resultados com mais agilidade.

Criado para Swift

Criado para Swift

O SwiftUI foi criado para o Swift, utilizando os recursos da linguagem para auxiliar na prevenção de problemas e na obtenção do máximo desempenho. 

Por exemplo, se você alterar alguns dados em uma tela de um aplicativo, o SwiftUI garantirá automaticamente que os novos dados sejam atualizados em qualquer outro lugar do aplicativo que os utilize.

Você não precisa escrever código para manter tudo sincronizado, o que normalmente é bastante complexo. 

UIKit foi escrito para Applelinguagem mais antiga do, Objective-C. Como resultado, tem todo tipo de peculiaridades resultantes de sua idade.

SwiftUI é compatível com todos os Appleplataformas de, para que você possa usar o que aprendeu no iOS para criar um aplicativo macOS ou watchOS com código quase idêntico. 

É claro que recursos como o Digital Crown são exclusivos de um único dispositivo, o Apple Assista, mas a grande maioria do que você aprender funcionará em qualquer dispositivo.

Mais importante ainda, SwiftUI é a direção que as coisas estão tomando. 

Se você estivesse se candidatando a um emprego há alguns anos, provavelmente precisaria conhecer o UIKit. O fato de você estar lendo isso significa que você está muito mais adiantado no processo. 

Embora o UIKit fosse mais popular, o SwiftUI agora é a estrutura de UI dominante.

As maiores empresas do mundo, incluindo Apple eles próprios agora estão avançando com o SwiftUI.

Quando Apple widgets lançados recentemente no iOS 14, eles tornaram um requisito o uso do SwiftUI.

Rede e manipulação de dados

A terceira e a quarta habilidades que mencionamos foram redes e manipulação de dados. Quando comparados ao Swift e ao SwiftUI, eles são bastante simples, ou pelo menos simples no nível necessário para obter um emprego de desenvolvedor iOS júnior.

Rede é a prática de recuperar dados da Internet ou enviar dados de um dispositivo local para um servidor remoto.

Em um aplicativo móvel, essa é uma habilidade fundamental.

Existem vários métodos para fazer isso, mas a coisa mais importante a entender é como recuperar JSON de um servidor.

É aí que entra em ação outra habilidade essencial: trabalhar com dados. 

Novamente, existem inúmeras maneiras de carregar e salvar dados. O mínimo absoluto que você deve fazer é converter os dados recebidos de um servidor em informações que seu aplicativo possa exibir.

Portanto, a terceira e a quarta competências essenciais estão inextricavelmente ligadas.

Busque alguns dados de um servidor e converta-os em informações que possam ser exibidas em seu aplicativo.

Alguns desenvolvedores brincam que escrever esse tipo de código é metade do trabalho de um desenvolvedor iOS, e é certamente verdade que dependemos muito dele.

Version control

A habilidade final não é codificação, é version control, como Git. Novamente, você não precisa de muito aqui, mas é importante que você possa publicar seu código em algum lugar público, como o GitHub, para que os recrutadores possam ver seu trabalho.

Poucas pessoas no mundo realmente entendem como o Git funciona, mas tudo bem – você só precisa saber o básico o suficiente para armazenar seus dados com segurança e colaborar com outras pessoas.

Então, quando esses cinco são somados, há dois enormes - Swift e SwiftUI - bem como três menores, mas importantes. 

Se você puder apenas se concentrar nessas cinco coisas sem se distrair, você estará no caminho certo para seu primeiro trabalho de desenvolvedor iOS.

É isso: essas são as cinco habilidades essenciais que acredito que você precisa para ser um desenvolvedor iOS!

Existem milhares de pessoas que têm apenas essas habilidades e podem criar e enviar aplicativos fantásticos na App Store.

O que vem depois dos fundamentos

O que vem depois dos fundamentos?

Depois de dominar as cinco habilidades principais, você poderá lançar seus próprios aplicativos e trabalhar como desenvolvedor independente. Você também pode se candidatar a cargos júnior de desenvolvimento de iOS e trabalhar para uma empresa, se for isso que deseja fazer. 

Não há outras qualificações especiais exigidas - apenas aprenda essas habilidades essenciais e você ficará bem.

No entanto, se você domina essas habilidades e deseja avançar, há mais cinco habilidades que recomendamos que você aprenda.

Você se tornará ainda mais empregável e a variedade de aplicativos que poderá criar se expandirá ainda mais.

As habilidades são as seguintes:

  • UI Kit 
  • Dados principais 
  • Validação
  • ensaio
  • Arquitetura de software
  • multithreading

Como antes, gostaríamos de examinar cada um deles com mais detalhes para que você entenda por que os consideramos importantes – e por que os consideramos habilidades de extensão em vez de habilidades essenciais.

UI Kit

Primeiro, há UI Kit. Isto é AppleA estrutura de interface de usuário mais antiga do, que tem sido usada para desenvolvimento de aplicativos desde 2008 – o que é antigo em termos de software.

Mas isso não significa que o UIKit seja ruim. Na verdade, à medida que você se acostuma com seu funcionamento, ficará surpreso com o quão elegante ele pode ser.

Existem vários motivos pelos quais vale a pena aprender o UIKit, incluindo:

Centenas de milhares de aplicativos já foram escritos no UIKit. Se você ingressar em uma empresa que possui um aplicativo grande e bem estabelecido, quase certamente será necessário escrever o código UIKit para mantê-lo.

O UIKit é muito mais poderoso do que o SwiftUI - há muitas coisas que você pode fazer no UIKit que atualmente não são possíveis no SwiftUI.

Usando a tecnologia Auto Layout, você pode criar layouts extremamente precisos.

Se você tiver problemas com seu código, o UIKit tem mais soluções do que o SwiftUI, simplesmente porque já existe há muito mais tempo.

Tudo isso faz o UIKit parecer fantástico, então por que eu o tornei uma habilidade de extensão ao invés de uma habilidade básica? 

Porque o UIKit também tem problemas:

Quase tudo é mais difícil de fazer no UIKit do que no SwiftUI, com algumas tarefas exigindo centenas de vezes, senão mais, de código. 

O SwiftUI foi projetado especificamente para o desenvolvimento de iOS moderno, então ele faz muito do trabalho pesado para você.

Como o UIKit não foi escrito em Swift, ele tem muitos recursos que o SwiftUI não possui - muitos opcionais implicitamente desembrulhados, marcando o código com um atributo @objc especial para torná-lo disponível para a parte inferior do Objective-C do UIKit e a necessidade de usar protocolos e delegados para exibir dados simples.

Nada no Auto Layout é automático. Na verdade, se você tentar construir um layout complexo, poderá ter pesadelos com o Auto Layout.

É extremamente inteligente, mas também extremamente difícil em alguns lugares.

É por isso que consideramos o UIKit uma habilidade de extensão. É preciso muito mais tempo e esforço para aprender do que o SwiftUI, o que significa que requer muito mais determinação.

Você tem que realmente querer aprender, caso contrário ficará confuso, entediado, irritado ou potencialmente os três!

Claro, o SwiftUI não possui todos os recursos do UIKit, mas permite que você progrida rapidamente e ganhe impulso antes de passar para o UIKit.

 

Gerenciando Dados Principais

Gerenciando Dados Principais

Dados principais, AppleA estrutura do para trabalhar com dados de aplicativos é a segunda habilidade de extensão que mencionei. 

Core Data permite que você manipule os dados depois de obtê-los, como pesquisar valores específicos, classificar os resultados e muito mais, tudo com muita eficiência. 

Ele também pode conectar-se facilmente ao iCloud, garantindo que os dados do usuário sejam sincronizados em todos os seus dispositivos.

Core Data tem uma série de desvantagens. O mais grave é que nem sempre é agradável trabalhar com eles.

Core Data é quase tão antigo quanto o UIKit e, embora funcionasse bem no Objective-C, não parece tão natural no Swift. 

Ele se integra bem com SwiftUI, o que o faz sentir less estranho, mas ainda é um tópico surpreendentemente complexo.

Como o UIKit, o Core Data é extremamente popular – centenas de milhares de aplicativos foram criados com ele e é usado em muitas empresas grandes e pequenas. 

Core Data, como o UIKit, é extremamente poderoso e, embora você possa recriar as partes mais importantes dele em seu próprio código, por que o faria?

Testando seu código

A terceira habilidade na minha lista de extensões é o teste. Escrever um código especial para garantir que o código do seu aplicativo principal funcione conforme o esperado. 

Os testes nos permitem garantir que nosso código funcione corretamente e, mais importante, que continue funcionando corretamente mesmo depois de termos feito alterações significativas.

O teste é fundamental e irá ajudá-lo a escrever software de alta qualidade. Então, por que é considerada uma habilidade de extensão em vez de uma habilidade central? 

Existem três razões para isso:

A comunidade iOS é péssima em testes, por quaisquer razões históricas. Muitos aplicativos grandes não têm nenhum teste e, tragicamente, vários desenvolvedores seniores de iOS estão quase orgulhosos de nunca escreverem testes. 

Quando você considera todas as coisas incríveis que você pode criar com Appleferramentas e estruturas da, escrever testes não parece muito divertido em comparação. 

Ao se candidatar a um emprego, conhecer Swift e AppleOs principais frameworks de sempre serão mais úteis do que saber como escrever testes. 

As empresas preferem que você saiba como usar SwiftUI, UIKit ou um dos outros grandes sucessos, porque o teste é um tópico muito menor.

Portanto, testar é importante, testar é importante, e se você quiser ser um ótimo desenvolvedor geral, você precisa aprender como escrever ótimos testes.

Mas só depois de dominar os fundamentos do desenvolvimento de aplicativos – depois de ter tido algum sucesso, sentir a adrenalina de ter seu aplicativo disponível na App Store e dominar os testes.

Arquitetura de software

Arquitetura de software

A quarta habilidade de extensão que gostaríamos de discutir é a arquitetura de software, que trata de como escrevemos código. 

Você vai escrever um código terrível quando estiver começando. 

Tudo bem porque é assim que você aprende. Você não começa bem – você fica bom sendo ruim por um longo tempo e aprendendo maneiras melhores de fazer as coisas com experiência e exposição.

A questão é que você continue com seu código incorreto até descobrir como fazer melhor. É aí que entra a arquitetura de software.

Analisando técnicas testadas e comprovadas para estruturar seu código para torná-lo mais fácil de ler, usar, modificar e manter no longo prazo. 

Essas técnicas às vezes dependem da maneira como o Swift funciona - recursos de linguagem que podem ser usados ​​para escrever um código melhor. 

No entanto, existem inúmeras outras técnicas que funcionam em qualquer linguagem de programação e são comumente chamadas de padrões de projeto.

Um aspecto importante dessa habilidade que você deve começar a aprender é como quebrar seu código. 

Por exemplo, se você estiver criando uma única tela em seu aplicativo, pode incluir um botão de login, uma galeria de imagens e uma lista de amigos. 

No entanto, você deve separar idealmente cada uma dessas partes - um componente de botão de login, um componente de galeria de imagens e um componente de lista de amigos - para que possa reutilizar qualquer um desses componentes em outras partes de seu aplicativo.

A arquitetura de software é muito mais subjetiva do que as outras habilidades que discutimos até agora. Para os outros, como SwiftUI, você pode raciocinar: "Bem, eu sei como fazer X, Y e Z, então estou confiante de que sou um bom desenvolvedor SwiftUI".

A arquitetura de software é um tópico muito amplo e muitas vezes não existe uma maneira "certa" óbvia de resolver um problema.

A melhor referência para isso é esta: você analisa seu código de seis meses atrás, um ano atrás e assim por diante.

Escrever código ruim é aceitável se você estiver mais perto de escrever um código melhor. 

Você certamente coçará a cabeça em alguns lugares ao relembrar o código que escreveu cinco anos atrás, porque saberá mais agora do que antes.

É assim que deve ser.

multithreading

A última habilidade de extensão que discutiremos é o multithreading. Esta é a prática de fazer com que seu código faça mais de uma coisa por vez. 

Multithreading pode ser uma verdadeira dor porque é difícil para o nosso cérebro entender.

Quando seu código faz uma coisa de cada vez, podemos pensar linearmente, mas quando duas ou três coisas acontecem ao mesmo tempo, potencialmente sobrepostas, isso pode realmente atrapalhar seu pensamento.

Portanto, embora multithreading seja uma ótima habilidade, você deve ser cauteloso. Seu objetivo deve ser entender apenas o suficiente dos conceitos e do código para fazê-lo funcionar bem sem ir muito longe. 

Para ser honesto, muitos desenvolvedores acreditam que o multithreading fará com que seu código seja executado três ou quatro vezes mais rápido instantaneamente. 

Embora isso seja verdade em alguns casos, em muitos outros casos, seu código será executado mais lentamente e agora você terá que lidar com toda a complexidade adicional do código.

“Minha recomendação específica é que você evite escrever código assíncrono / simultâneo tanto quanto possível. Isso pode parecer estranho em 2018, mas o custo em complexidade e desempenho é alto.

Portanto, aprenda um pouco sobre como o multithreading funciona no Swift para demonstrar que você entende os conceitos e a implementação, mas não exagere! ”

David Smith- Apple Equipe SwiftUI

Erros comuns que novos desenvolvedores iOS cometem

Erros comuns que novos desenvolvedores iOS cometem

Neste ponto, listamos todas as habilidades básicas e de extensão que você precisará para trabalhar como desenvolvedor iOS em tempo integral. 

Também queremos discutir alguns dos erros mais comuns que as pessoas cometem durante o aprendizado.

Erros Eu os vejo o tempo todo e sei como eles atrapalham as pessoas.

Existem sete grandes problemas que as pessoas enfrentam. 

  1. Lembrando de tudo
  2. Síndrome do objeto brilhante 
  3. Lobo solitário aprendendo
  4. Fazendo uso de software beta
  5. Dependendo Appledocumentação de
  6. Ficar atolado em Objective-C
  7. Visando outras línguas

Vamos examinar cada um deles um por um.

Pare de tentar se lembrar de tudo

Pare de tentar se lembrar de tudo

O primeiro, e de longe o mais comum, problema que as pessoas encontram é tentar memorizar tudo.

Ninguém se lembra de tudo. Ninguém chega perto de lembrar de tudo.

Mesmo se você considerar apenas as APIs publicadas por Apple, deve haver bem mais de cem mil deles. 

Mesmo se você limitar isso aos componentes principais do desenvolvimento de aplicativos, ainda estará analisando várias centenas.

Tudo funcionando de uma forma muito precisa e que exige muito aprendizado para usar.

Em vez disso, aprenda como fazer algo novo e logo esqueça como fazer novamente. 

Então, você pesquisa, usa novamente e imediatamente esquece.

Então, você procura pela terceira vez e usa, e dessa vez você quase esquece – algumas partes ficam com você. 

Este ciclo continua indefinidamente, com você tendo que consultar um tutorial ou algum outro guia de referência a cada vez, até que os fundamentos estejam enraizados em sua mente a ponto de você poder fazer isso sem consultar ninguém.

Se você ainda não sabia, esquecer é uma parte importante do aprendizado.

Cada vez que você esquece algo e reaprende, isso penetra cada vez mais profundamente em seu cérebro.

Quando você reaprende algo, seu cérebro faz novas conexões com outras coisas que você aprendeu, o que o ajuda a entender mais sobre o contexto do que você está tentando fazer. 

Se você decidir memorizar tudo, terá dificuldades.

Em vez disso, não se preocupe em esquecer as coisas. Saber onde procurá-los é muito mais importante do que memorizar códigos Swift específicos para realizar algo.

Evite a síndrome do objeto brilhante

O segundo problema mais comum é a “síndrome do objeto brilhante”.

É aqui que encontramos um tutorial que funciona e começamos a progredir. Mas depois de uma ou duas semanas, notamos outra série de tutoriais que queremos seguir e, em vez disso, embarcamos nela. 

A questão aqui é que muitos aspectos da aprendizagem são desinteressantes. Isso não é necessariamente culpa do professor. 

É apenas um fato de aprender a codificar - algumas coisas fornecem ótimos resultados com pouco esforço, enquanto outras levam muito mais tempo para entender, não produzem resultados extravagantes ou são apenas uma parte de um conceito maior.

Quando você atinge essas curvas de aprendizado acentuadas, a síndrome do objeto brilhante entra em ação.

Com tantos tutoriais gratuitos disponíveis, você pode pular para qualquer um deles e reiniciar, e você estará de volta à parte rasa da piscina, cobrindo as partes mais fáceis que você já aprendeu. 

Mas, unless Se o curso original escolheu um tópico incomum para cobrir, você provavelmente terá que aprendê-lo eventualmente e estará apenas atrasando o inevitável.

Esteja ciente da síndrome do objeto brilhante.

Quando você encontrar um problema, tente pedir ajuda e perseverar a outra pessoa, em vez de mudar.

Não vá sozinho

Não vá sozinho

Falando em perguntar a outra pessoa, o terceiro problema que vemos as pessoas enfrentarem é quando elas se tornam lobos solitários com seu aprendizado.

Eles acreditam que são totalmente capazes de aprender a criar aplicativos iOS usando Swift sozinhos e não precisam de ajuda.

Este método funciona para um número muito pequeno de pessoas, normalmente aquelas com vasta experiência com outras linguagens de programação ou plataformas. 

No entanto, para a maioria das pessoas, aprender desta forma é uma experiência terrível.

Cada erro ou mal-entendido leva cinco vezes mais tempo para ser percebido e resolvido. É extremamente fácil perder a motivação e você está perdendo muita inspiração ao ver os outros terem sucesso.

Se você é um aprendiz natural do "lobo solitário", nós o encorajamos a mudar seus modos. 

Compartilhe o que você está aprendendo, conecte-se com outras pessoas que estão aprendendo e desenvolva o hábito de fazer perguntas. 

Você descobrirá uma comunidade fantástica de alunos que irão apoiá-lo e encorajá-lo. Você também se inspirará no trabalho deles e, por sua vez, os inspirará com o seu.

É completamente transformador!

Não use versões beta

A quarta grande questão é quando as pessoas insistem em usar versões beta de Appleferramentas de desenvolvimento de. 

Todo ano, Apple lança um novo iOS, um novo macOS e outros produtos, sempre trazendo novidades interessantes para experimentarmos.

É natural que as pessoas queiram aprender o que há de melhor e mais recente, especialmente se souberem que Swift tem uma longa história de mudanças.

No entanto, quando as pessoas tentam aprender com o software beta, elas se deparam com vários problemas:

Como os tutoriais não foram atualizados para a versão beta, seguir suas instruções nem sempre será possível ou falhará.

Bugs são comuns em betas, especialmente aqueles lançados para atualizações importantes do iOS.

AppleOs frameworks beta do demoram para se estabilizar, o que significa que o código que funcionou no beta 1 pode não funcionar no beta 3.

Portanto, embora seja emocionante aprender coisas novas e você possa acreditar que está se adiantando no jogo com novos recursos, geralmente não vale a pena. 

Sempre use os lançamentos públicos mais recentes de Appledas ferramentas de desenvolvedor até que você se sinta confortável com elas.

Contando com a documentação oficial

Contando com a documentação oficial

O quinto grande problema que as pessoas enfrentam ao tentar aprender é confiar em Appledocumentação de. 

AppleA equipe de publicações para desenvolvedores da empresa trabalha duro para documentar o máximo possível da vasta gama de estruturas da empresa

Mas o trabalho principal deles é escrever material de referência – coisas que você lê quando tenta usar uma parte específica de suas ferramentas – em vez de criar um curso estruturado para ajudá-lo a aprender a construir aplicativos iOS.

Perdemos a conta de quantas vezes as pessoas perguntaram: “Como posso aprender Swift?” apenas para ouvir: "Leia Appleguia de referência do Swift. " 

Essa abordagem funciona para algumas pessoas. 

No entanto, para a maioria das pessoas, é como tentar aprender uma língua humana lendo um dicionário.

Os documentos têm como objetivo cobrir tudo no idioma, em vez de ensinar as partes mais importantes e como aplicá-las.

Então, se você tem vasta experiência com outras línguas, lendo Appleos guias de referência do podem ser úteis. Mas se você está apenas começando, talvez queira revisitá-los depois de alguns meses.

Ficar atolado em Objective-C

O sexto grande problema que as pessoas enfrentam é tentar aprender o Objective-C.

Este foi Appleé a principal linguagem de desenvolvimento antes da introdução do Swift. Embora existam resquícios em algumas bases de código antigas, a grande maioria do código existente agora é Swift, e quase todo o código novo também é Swift.

Algumas pessoas passam anos escrevendo Objective-C antes do Swift e realmente passam a amá-lo. Mas tem uma curva de aprendizado extremamente acentuada e carece da maioria dos recursos importantes do Swift. 

Quando Apple anunciou pela primeira vez o SDK do iPhone, muitas pessoas ficaram horrorizadas com o Objective-C porque era diferente de tudo que tinha visto até agora.

Objective-C e Swift não têm quase nada em comum para um iniciante. 

Sim, eles compartilham o mesmo Apple frameworks, mas unless você planeja trabalhar em Apple - a única empresa no mundo ainda produzindo grandes quantidades de Objective-C - você deve deixar Objective-C sozinho e se concentrar inteiramente em Swift.

Ignorando outras línguas

Ignorando outras línguas

O último grande erro que as pessoas cometem ao aprender Swift é descartar outros idiomas como inferiores ao Swift. 

O alvo mais comum é JavaScript. Você também verá pessoas mirando em Python, Java, Ruby, Go e outras linguagens, e para quê?

Não é uma corrida – essas línguas não precisam perder para o Swift vencer. Na verdade, Swift e SwiftUI são frequentemente inspirados em outras linguagens e frameworks.

Sempre que novos recursos de linguagem são considerados, a comunidade analisa implementações semelhantes em Rust, Python, Haskell e outras linguagens, e o SwiftUI é fortemente influenciado pelo JavaScript. React estrutura.

Recursos e cursos de desenvolvimento iOS

Recursos e cursos de desenvolvimento iOS

Agora, a parte que interessa à maioria das pessoas. Quais recursos você deve usar para aprender Swift, SwiftUI e muito mais – a fim de atingir seu objetivo de se tornar um desenvolvedor iOS?

Existem muitos por aí, e a comunidade Swift tem um grupo tão diversificado de pessoas compartilhando seus conhecimentos. 

No entanto, neste artigo, vamos nos concentrar em recursos gratuitos – lugares onde você pode aprender a criar aplicativos fantásticos sem gastar um centavo.

Isso é devido a dois fatores:

  1. Algumas pessoas acreditam que quanto maior o preço de um curso Swift, melhor ele deve ser.
  2. Muitos sites, como o Udemy, apostam na venda de um grande número de cursos de baixo custo, confiantes de que se você não gostar de um, simplesmente comprará outro. Eles também têm um modelo de negócio como o do Steam em que as vendas são constantes, incentivando as pessoas a acumularem uma grande quantidade de cursos para estudar “um dia”.

Portanto, aqui estamos apenas listando recursos gratuitos para que você não gaste cem dólares ou mais em seu primeiro curso e não compre uma dúzia de cursos baratos pensando que fará de você um desenvolvedor.

Tutoriais

Começar, Apple tem dois recursos principais que podem ajudá-lo. O primeiro é o seu Código de Ensino .

Ele contém recursos para alunos e professores para aprender Swift desde o início, até obter certificações profissionais. 

Seu currículo é extenso, então pode levar algum tempo para encontrar o melhor ponto de entrada para você, mas uma vez lá, você encontrará muito o que explorar.

Segundo, Apple tem uma série de Tutoriais SwiftUI que orientam você no processo de criação de aplicativos do mundo real. Estes, no entanto, não ensinam Swift, então você deve primeiro completar o currículo focado em Swift.

YouTube e outros sites

Existem alguns excelentes Vídeos do YouTube que mostram os fundamentos do SwiftUI.

Existem outros sites com tutoriais Swift e SwiftUI de alta qualidade, incluindo BLCKBIRDS, Ray Wenderlich, Donny Wals, Antoine van der Lee e muito mais – realmente encorajamos as pessoas a visitar uma variedade de recursos e descobrir o que funciona para elas.

Educação baseada em aplicativos

Se você preferir aprender por meio de aplicativos, recomendo um que seja totalmente gratuito. AppleParques Swift do Swift app.

Ele permite que você aprenda Swift diretamente do seu iPad ou Mac. 

Existem muitos interativos lessons voltados para crianças, mas também existem alguns mais avançados lessons que o ajudarão a aprimorar suas habilidades.

Encontrando soluções

Finalmente, você precisará aprender como encontrar respostas online. Isso pode significar ir para Stack Overflow, mas espero que não, porque não é um lugar particularmente agradável.

Em vez disso, faça perguntas nos fóruns Hacking with Swift, no seu grupo favorito do Slack, nas sessões iOS Dev Happy Hour, no Twitter/X e em outros lugares – somos uma comunidade genuinamente calorosa e acolhedora, com muitas pessoas ansiosas para ajudá-lo a alcançar seus objetivos.

Envolvendo-se na comunidade

Envolvendo-se na comunidade

Falando em comunidade, gostaria de discutir um tópico muito importante que o ajudará a conhecer pessoas em posições semelhantes às suas, aprender de forma mais eficaz e encontrar vagas de emprego.

É uma situação ganha-ganha para todos.

O assunto é conectar-se com a comunidade de desenvolvimento iOS. Isso inclui saber onde procurar notícias e ideias interessantes, onde ir para encontrar pessoas e compartilhar dicas e onde ir para fazer perguntas.

Quem devo seguir no Twitter?

Vamos começar com o mais simples, que é usar o Twitter. O Twitter é uma maneira fantástica de acompanhar coisas que interessam a você, e há algumas pessoas que eu recomendo no caso de desenvolvimento para iOS.

Sim, essas pessoas tuitam sobre seu próprio trabalho, mas acho que é ótimo acompanhá-las porque também tuitam muito sobre o trabalho de outras pessoas - elas vão ajudá-lo a ver uma variedade de perspectivas sobre um determinado tópico e compartilham todos os tipos de ideias e coisas interessantes para tentar.

Aqui estão 9 pessoas que recomendamos que você siga no Twitter:

Sean Allen passa muito tempo no YouTube fazendo vídeos de desenvolvimento em Swift e iOS, mas também trabalha muito para divulgar o trabalho de outras pessoas - ele realmente faz um ótimo trabalho ajudando todos a descobrirem algo novo todas as semanas.

Antonie van der Lee administra um site de desenvolvimento para iOS em https://www.avanderlee.com, mas também compartilha ótimos links para recursos úteis que encontra no GitHub, boletins informativos e muito mais.

Novall Khan trabalha para Apple, mas isso não a impede de postar vídeos regularmente sobre o que está fazendo, o que está aprendendo, com o que está tendo problemas e muito mais - ela é realmente inspiradora.

Steve Troughton-Smith é bem conhecido por seu trabalho anterior de mexer no iOS, mas você realmente deve segui-lo pela fantástica variedade de links que ele compartilha para trabalhos impressionantes. Gosto de como ele compartilha o andamento do desenvolvimento de seus próprios aplicativos, para que você possa vê-los crescer do início ao fim.

Kaya Thomas é uma das desenvolvedoras independentes mais conhecidas da nossa comunidade, e ela foi apresentada por Apple mais vezes do que posso contar. Ela tweeta frequentemente sobre seu próprio trabalho e apresentações, mas também compartilha links para livros que está lendo, artigos que leu e outros recursos.

Majid Jabrayilov não apenas escreve um blog fantástico sobre Swift e SwiftUI, mas também é um pneuless promotor de outros - se você o seguir no Twitter, terá ideia após ideia enviada de uma ampla variedade de fontes.

Donny Wals escreve um blog do Swift e, mais recentemente, livros sobre Combine and Core Data, mas também incentiva as pessoas a compartilharem no que estão trabalhando no Twitter. Apenas ler esse tópico uma vez por semana irá inspirá-lo a tentar coisas novas, então você definitivamente deve seguir Donny.

panage de verão trabalhos sobre Appleda equipe de acessibilidade, então, embora ela seja um pouco limitada no que pode dizer, ela tuitou várias dicas de primeira linha, suas e de outras pessoas, que todos podem usar para criar aplicativos melhores.

Natascha Fadeeva escreve um blog sobre desenvolvimento em Swift e iOS, incluindo artigos sobre Core Data, perguntas de entrevistas e outros tópicos, mas também tweeta sobre coisas que encontra em outros lugares.

Boletins informativos e mais

Boletins informativos e mais

É claro que o Twitter não é o único lugar para manter contato com a comunidade; há também boletins informativos, grupos do Slack, encontros do Zoom, fóruns, conferências e outros locais.

Não quero aborrecê-lo muito, então vou apenas listar um de cada aqui:

Você não pode dar errado com Desenvolvedor iOS semanalmente para boletins informativos.

Se você quiser postar em um fórum da web, https://www.hackingwithswift.com/forums é muito bom. Existem muitas categorias para escolher, e qualquer pessoa deve considerarless de nível de experiência, é bem-vindo a participar. Você é mais que bem-vindo para postar suas perguntas para iniciantes aqui, acredite em mim!

Todo mês, o Happy Hour para desenvolvedores iOS está retido em uma chamada em grupo Zoom. A verdadeira diversão está nas salas de descanso, onde você pode conversar com grupos de 6 a 8 pessoas ao mesmo tempo. É muito divertido e você conhecerá novas pessoas.

Assistir a conferências tem sido difícil devido à pandemia de coronavírus, mas Apple's WWDC foi um grande sucesso no ano passado e foi acompanhado por uma série de eventos comunitários.

Um grupo de amigos e eu criamos um Repositório GitHub para ajudar a controlar todos os outros eventos, artigos e outras coisas que aconteceram - dê uma olhada!

Por fim, se preferir bater um papo no Slack, onde pode obter respostas mais rapidamente, você pode entrar no Hacking com o grupo Swift Slack e junte-se a um dos canais Swift, SwiftUI e outros.

Quanto tempo leva para aprender iOS?

Esta é uma pergunta frequente e que queremos abordar agora.

Quanto tempo leva para progredir de não saber nada sobre Swift até conseguir uma posição de desenvolvedor iOS de nível básico?

A resposta óbvia é “depende”, mas isso seria uma desculpa neste caso, então vamos abordar o assunto de algumas maneiras diferentes.

A regra de ouro é não ter pressa

Em primeiro lugar, você não pode fazer vários cursos ao mesmo tempo. Lembra do que eu disse sobre a “síndrome do objeto brilhante”?

Sim, muitas pessoas acreditam que podem fazer dois cursos ao mesmo tempo, depois estudar quatro, cinco ou até mais horas todos os dias e ainda assim ter uma compreensão de alta qualidade dos tópicos abordados.

Para ser claro, já vi pessoas tentarem isso tantas vezes e sempre falham. Toda vez.

Isso nunca funciona, e ouço pessoas dizerem que é porque os tutoriais eram ruins, ou porque o Swift era muito difícil, ou literalmente por qualquer outro motivo que não fosse tentar apressar algo complexo.

Aprender Swift às vezes pode ser difícil, e aprender a criar aplicativos requer muitas tentativas e erros, cometer erros e tomar caminhos errados.

E tudo bem – é melhor do que bem, é fantástico! 

Cada vez que você tenta algo, comete um erro ou toma o caminho errado, você aprende algo ao longo do caminho. Quando você finalmente chegar à solução, você a entenderá muito melhor.

Portanto, o TL;DR aqui é não ter pressa – não tenha pressa, não tenha medo de explorar as tangentes que surgirem.

Não tenha medo de experimentar seus projetos e não tenha medo de voltar a algo que você aprendeu anteriormente e reaprender conforme necessário.

Qual é a sua formação

Qual é a sua formação?

Em segundo lugar, você deve considerar sua experiência antes de ingressar no Swift.

Veja, aprender a construir aplicativos requer uma ampla gama de habilidades. Se você tiver um vasto conhecimento prévio, como version control, estruturas de dados, algoritmos e muito mais, você terá uma vantagem significativa sobre aqueles que são novos na ciência da computação em geral.

Então, aqui estão algumas possibilidades de onde você pode estar agora:

Se você é formado em ciência da computação, já estará familiarizado com muitos dos fundamentos de ciência da computação necessários para começar a usar o Swift.

Variáveis, arrays, loops, arrays, conjuntos, funções, OOP e outros conceitos serão úteis em Swift, assim como todo o seu trabalho com estruturas de dados e algoritmos.

Isso pode economizar de 4 a 6 meses de estudo, dependendo das disciplinas que você estudou, e também lhe dará uma vantagem ao se candidatar a empregos em muitas empresas.

Se você não tem um diploma de ciência da computação, mas participou de um bootcamp de codificação, terá muitos dos fundamentos necessários para começar a usar o Swift.

Isso não lhe dará a mesma vantagem ao se candidatar a empregos nessas empresas, porque muitas vezes elas esperam um diploma apenas para marcar uma caixa em sua lista de requisitos arbitrários. Mas ainda assim você economizará três ou quatro meses.

Se você não tem um diploma de CS e não participou de um bootcamp, mas tem programado em seu tempo livre, você economizará algum tempo - provavelmente dois meses ou mais, dependendo da linguagem ou frameworks que você estava usando .

E se você não tiver um diploma de CS, não tiver participado de um bootcamp e não tiver experiência anterior em codificação?

Então eu estimaria de 9 a 12 meses para passar do nada a um emprego inicial.

Sim, isso pode ser um ano inteiro de trabalho além de qualquer que seja seu trabalho atual em tempo integral, e isso é apenas para conseguir seu primeiro emprego como desenvolvedor iOS.

É sempre o mesmo ano?

Não. Se você tiver experiência anterior, poderá reduzir esse tempo para 1 a 6 meses, conforme afirmei anteriormente.

Se você pegar os melhores números de ambos os lados – 9 meses desde nada até um emprego inicial, mais 6 meses por ter um diploma de CS – isso significa que você pode ser contratado em apenas 3 meses, o que é incrível.

Portanto, você não precisa de um diploma de CS ou de um bootcamp, mas precisa estar disposto a trabalhar duro.

Permita-se alguma margem de manobra

O terceiro ponto que gostaria de salientar antes de prosseguirmos é que "leva o tempo que for preciso". Adoro uma letra de John Lennon que diz: "A vida é o que acontece quando você está ocupado fazendo outros planos".

Não seja muito duro consigo mesmo se atrasar seu cronograma de aprendizado ou se perder alguns dias ou mesmo algumas semanas, e assim por diante.

Contanto que você seja resiliente, você chegará lá.

Preparando-se para se inscrever

Preparando-se para se inscrever

Por fim, se você está um pouco mais adiantado em sua jornada de aprendizado do iOS e pensando em conseguir seu primeiro emprego inicial, gostaria de indicar uma enorme coleção de recursos para ajudá-lo.

Eu recomendaria Vídeos com dicas de entrevista do Swift de Sean Allen.

Ele tem uma lista de reprodução completa para eles, onde você pode trabalhar em discussões individuais, como classes versus estruturas, programação funcional, tratamento de erros e muito mais.

Nenhum deles é particularmente longo, mas todos foram projetados para fornecer as habilidades necessárias para um bom desempenho em uma entrevista.

Onde agora?

Ok, revisei as habilidades básicas e de extensão de que você precisa, erros comuns de aprendizagem, cursos que você pode fazer e como se conectar com a comunidade iOS.

Também abordei como se preparar para sua entrevista de emprego.

Além disso, espero ter demonstrado quanta informação está disponível gratuitamente. 

Sim, a tentação de gastar cem dólares ou mais num curso é forte. Mas relaxe – mova-se primeiro, encontre impulso e encontre alguém que ensine Swift de uma maneira que funcione para você.

Quando você estiver em uma boa situação e se sentir pronto, vá em frente e gaste algum dinheiro, se quiser.

Boa sorte em sua jornada! 

Sobre o autor
David Attard
David trabalha na indústria online e digital ou em torno dela há 21 anos. Ele tem vasta experiência nas indústrias de software e web design usando WordPress, Joomla e nichos que os cercam. Ele trabalhou com agências de desenvolvimento de software, empresas internacionais de software, agências de marketing locais e agora é Chefe de Operações de Marketing na Aphex Media – uma agência de SEO. Como consultor digital, seu foco é ajudar as empresas a obter uma vantagem competitiva usando uma combinação de seus sites e plataformas digitais disponíveis atualmente. Sua combinação de experiência em tecnologia combinada com uma forte visão de negócios traz uma vantagem competitiva aos seus escritos.

Mais uma coisa... Você sabia que as pessoas que compartilham coisas úteis como esta postagem também parecem FANTÁSTICAS? ;-)
. deixe um útil comente com suas ideias, depois compartilhe com seu (s) grupo (s) do Facebook, que considerariam isso útil e vamos colher os benefícios juntos. Obrigado por compartilhar e ser legal!

Divulgação: Esta página pode conter links para sites externos de produtos que amamos e recomendamos de todo o coração. Se você comprar produtos que sugerimos, podemos receber uma taxa de referência. Essas taxas não influenciam nossas recomendações e não aceitamos pagamentos por análises positivas.

Autor (es) em destaque em:  Logotipo da revista Inc   Logotipo do Sitepoint   Logotipo do CSS Tricks    logotipo do webdesignerdepot   Logotipo WPMU DEV   e muitos mais ...