top of page

Dicas para quem quer ser Desenvolvedor Apple [2024]

Atualizado: 16 de jun.

Este artigo é para você que quer começar a desenvolver aplicações para dispositivos Apple, mas ainda não sabe por onde começar.
Imagem com o título Dicas para quem quer ser Desenvolvedor Apple [2024]
Desde 2022 eu publico um artigo com dicas de elementos que eu, particularmente, acredito que são importantes para quem quer ingressar na área iOS e ainda não sabe por onde começar os seus estudos. Então, se você quiser conferir as edições anteriores, basta clicar em um dos links a seguir:

Mas agora, vamos para a versão atualizada de 2024. O artigo possui as seguintes seções:

#1 Familiarize-se com as tecnologias Apple

Se você tem o interesse de desenvolver para dispositivos Apple, é importante conhecer quais são as tecnologias disponibilizadas pela empresa, ou seja, entender quais são os sistemas operacionais e plataformas para os quais você pode programar.

Além do sistema operacional iOS, usado nos iPhones, a Apple conta com mais 5, como mostra a imagem a seguir:

Imagem com a ilustração dos sistemas operacionais apple
Sistemas operacionais Apple
Então, uma boa forma de começar a conhecer as possibilidades no desenvolvimento para produtos Apple, é através do próprio site da empresa para desenvolvedores: Developer Apple.

Além disso, todo ano a Apple realiza o chamado WWDC (Apple Worldwide Developers Conference). Nesse evento, a empresa divulga suas últimas novidades para os produtos já existentes e, também, pode divulgar o lançamento de novos produtos. Ao fazer essas divulgações, os desenvolvedores podem ter uma ideia de qual será o futuro no desenvolvimento para dispositivos Apple.

No site para desenvolvedores, há uma seção com vários vídeos da WWDC, inclusive, com tutoriais: Vídeos WWDC.
Você pode conferir as novidades de 2024 nesse link: WWDC24

Finalmente, após se contextualizar, é hora de entender por onde começar a desenvolver.
Importante: minhas dicas a seguir são focadas no desenvolvimento iOS, mas boa parte delas também se aplicam aos outros sistemas operacionais Apple.

#2 Comece pelo Swift

Antes de qualquer coisa, você PRECISA compreender como a linguagem de programação base para o desenvolvimento iOS funciona. É importante, por exemplo, entender os seguintes conceitos em Swift:
- Declaração de variáveis e constantes;
- Tipos de dados e operadores;
- Arrays, Dicionários, etc..
- Como manipular estruturas condicionais;
- Como manipular estruturas de repetição;
- Funções;
- Closures;
- Diferenças entre Classe e Struct;
...

Além disso, é importante fazer muitos exercícios para colocar tudo o que aprendeu em prática, afinal, você só vai realmente aprender, fazendo. Minha indicação para começar a praticar é o 100 Days of Swift, que, além de dar várias ideias de quais conceitos de Swift estudar, oferece uma série de exercícios para poder testar seus conhecimentos.

#3 Conheça o Xcode

Para desenvolver para dispositivos Apple, é necessário usar a IDE Xcode. Ela conta com um conjunto de recursos para auxiliar ao máximo o desenvolvedor, como o editor de código em si, simuladores para diferentes dispositivos, ferramentas para gerenciar os testes da aplicação e até a possibilidade de preparar o app para publicação.
Nesse link você pode conhecer a IDE e começar a se familiarizar com ela.
Para conseguir usar o Xcode, você precisa ter um Mac. Porém, não se preocupe, mais abaixo vou dar uma dica para quem quer começar a programar em Swift, mas ainda não tem um Mac.

#4 Defina qual abordagem de construção de layout seguir

Atualmente, existem 2 formas de implementar a UI de um app para iOS nativo: UIKit e SwiftUI. O UIKit é a forma que está a mais tempo em uso e permite que sejam criados apps para iOS e tvOS. Já o SwiftUI, lançado em 2019, permite a criação de apps para iOS e para todos os outros sistemas operacionais da Apple.

Apesar do SwiftUI estar no mercado desde 2019, a grande maioria dos apps iOS publicados hoje ainda usam muito UIKit, justamente por essa última ser a forma mais consolidada. Portanto, se o seu plano é começar logo a trabalhar na área, as chances de você entrar em uma empresa e ter que dar manutenção em um app que use UIKit são muito altas.
Porém, isso não significa que as empresas não estejam usando SwiftUI, apenas significa que o UIKit é predominante. E vale ressaltar que UIKit e SwiftUI são interoperáveis, ou seja, em um mesmo projeto é possível construir views com ambas as tecnologias.
Nesse link você pode conferir um vídeo da WWDC22 que ensina como usar UIKit e SwiftUI juntos :)

Então, tendo em vista o cenário descrito acima, sugiro começar os estudos por UIKit e depois, quando você se sentir confortável, estudar SwiftUI.
E quando se pensa em UIKit, uma outra questão pode surgir: Usar Interface Builder ou View Code?
Isso porque o UIKit permite que as UIs sejam criadas dessas 2 formas. Ao criar telas usando Storyboard (ou xibs), é feito uso do chamado Interface Builder, que basicamente permite arrastar os elementos e construir a tela de uma maneira mais visual. (A diferença entre Storyboard e xib é que uma Storyboard pode conter várias views e um arquivo xib possui apenas uma view).

Já no View Code, a criação das views, a configuração da UI e suas constraints, é feita via código mesmo, programaticamente. Então, enquanto que usando Storyboard você já tem em tempo real uma ideia de como o layout ficará, usando View Code é necessário buildar a aplicação para poder ver o resultado.

Voltando a pergunta anterior, sobre usar Storyboard/xib ou View Code, eu recomendo você ter noção de como funciona a criação do layout com Storyboard, para o caso de ter que dar manutenção em um código que utilize isso. No entanto, se você for criar algo do zero, sugiro usar View Code. Digo isso, pois além de ser a forma mais utilizada, o View Code tem como benefícios, por exemplo, a facilidade de manutenção, controle da inicialização das views, componentização e testabilidade.
No começo, você pensará que essa abordagem parece ser mais demorada, mas com o tempo e prática, isso mudará.

Depois que você se sentir seguro com seu conhecimento na construção de layouts usando UIKit, comece o estudo de SwiftUI. SwiftUI possui um outro paradigma de construção de layout, chamado de declarativo. Além disso, ao contrário do UIKit, possui a ferramenta de Live Preview, ou seja, você constrói sua view e ao lado o Xcode mostra um preview de como ela ficará, sem precisar fazer build da aplicação (ou ter que lidar com a lentidão e verbosidade das Storyboards).

#5 Pratique!

Como mencionei antes, você só vai aprender, de fato, se praticar. Faça exercícios para treinar a linguagem, a construção de layout. Outra dica é criar pequenos projetos para colocar em prática os conceitos que você for aprendendo.
Além disso, crie alguns projetos no GitHub e deixe-os públicos, isso trará 2 benefícios: você conseguirá acompanhar sua evolução e, também, estará criando um portfólio (o que pode ajudar quando você tentar sua primeira oportunidade de emprego na área).

Se estiver sem ideias de qual projeto criar, existem várias publicações no próprio GitHub com sugestões de projetos para desenvolver. Os dois links a seguir, por exemplo, possuem várias ideias:
Ou use o ChatGPT e peça ideias de temas de aplicações simples para desenvolver e praticar seus conhecimentos :)

Por fim, uma outra sugestão é criar projetos pequenos mesmo. Se você começar por um projeto complexo, com muitas etapas e processos, isso pode acabar te desanimando e até dificultar para você conseguir enxergar seu progresso.

#6 Links que podem ajudar

1. Se você já quer praticar Swift, mas ainda não tem um Mac, indico a IDE online replit, ela é muito completa e permite praticar bem a linguagem.
2. O próprio site da Apple conta com vários tutoriais, englobando conceitos básicos do XCode, SwiftUI e UIKit.
3. Existem alguns sites que possuem muito conteúdo de qualidade sobre desenvolvimento iOS, mas gostaria de destacar 5 (além, claro, do site que você está lendo esse artigo):
4. Se você curte conteúdo em vídeo, gostaria de indicar o canal no Youtube do Sean Allen. Ele explica de uma forma muito clara e possui conteúdos direcionados para todos os níveis (iniciante, intermediário, avançado).
5. E para finalizar, algumas ideias de pessoas para acompanhar nas redes sociais:
 

Gostou desse conteúdo? Clique no botão abaixo para apoiar pelo Github Sponsors :)



0 comentário

Comments


bottom of page