Meu "setup" de desenvolvimento iOS
Se você está querendo começar com o desenvolvimento iOS, esse artigo é bem recomendado pra você, vou falar sobre o investimento necessário para começar como desenvolvedor iOS
Aplicativos/Plugins
Opa! Estou escrevendo esse artigo pra mostrar alguns aplicativos que eu utilizo no meu dia a dia como Freelancer.
Oh My Zsh
A primeira coisa que eu faço quando eu pego uma maquina nova é instalar o Oh My Zsh. Ele é plugin para o terminal que facilita bastante na produtividade no dia a dia.
Com ele é possível navegar por TAB, tem autocomplete, já vem com atalhos de git e o melhor na minha opinião é que ele se você estiver dentro de uma pasta que é um repositório git ele mostra sua branch atual.
Existem diversos plugin pro Oh My Zsh mas eu gosto do jeito que ele vem, a única coisa que eu muda são as cores.
Utilizando esse plugin, seu terminal vai ficar parecido com isso:
Site: https://ohmyz.sh
Temas: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
Postman
Quando estou trabalhando em um projeto e não me entregam o Swagger para testar a API, acabo utilizando o Postman.
Postman é uma ferramenta que tem como objetivo testar serviços RESTful (Web APIs) por meio do envio de requisições HTTP e da análise do seu retorno
Segue um tutorial bem completo de como utilizar: Tutorial de como utilizar o Postman para documentar uma API
QuickType
Quantas vezes você foi testar um API e viu um JSON gigante? Criar as classes modelos dessa API pode ser um problema mas alguém resolveu essa dor.
Utilizando o QuickType simplesmente pegamos o retorno da API que o Postman nos traz e colamos no QuickType.
Podemos converter o JSON para qualquer uma dessas linguagens:
- KOTLIN
- JAVA
- DART
- C++
- RUBY
- OBJECTIVE-C
- JSON SCHEMA
- TYPESCRIPT
- ELM
- PYTHON
- RUST
- FLOW
- C#
- SWIFT
- JAVASCRIPT
- GRAPHQL
Agora falando mais especificamente de iOS, ele permite escolher entre classes e structs, se a propriedade vai ser opcional ou não, se ele vai criar enums para algum tipo de padrão que tiver e cria a classe de requisição usando Alamofire ou NSURLSession (Não recomendo essa última rs)
Link: https://quicktype.io
GitKraken
Quando estou trabalhando em projetos sozinho ou com equipes pequenas acabo utilizando o próprio terminal com Oh My Zsh para subir coisas no repositório, entretanto quando o time é grande eu utilizo o GitKraken que é uma interface gráfica para o git (existem outras como Github Desktop e o Sourcetree).
Gosto de utilizar essa ferramenta para olhar o gráfico de branchs do repositório que estou trabalhando.
A UI do Git é gratuita, você pode optar pela versão paga e você ganha o Kanban deles que faz de forma automática PR e outras automações.
Link: https://www.gitkraken.com
Trello
Gosto de trabalhar bastante com Kanban(artigo explicando: https://artia.com/kanban/) e se o projeto que estou trabalhando não me fornece uma ferramenta como o JIRA para colocar minhas atividades, eu acabo criando meu trello no estilo kanban bem basicão mesmo só para ter controle das atividades feitas e os próximos passos do projeto.
Equipamentos
Macbook
Eu trabalho usando um macbook de 2015 i5 dual core com 8GB de ram e 512GB de SSD. No dia a dia de programação ele resolve bem as minhas necessidades, algumas vezes ele "engasga" com o Xcode principalmente se o storyboard tiver muitas telas.
Fazendo outras atividades como responder emails, acessar sites e até mesmo jogar(jogos indies que não precisam de memória de video) eu consigo fazer tranquilamente. Hoje em dia é possível encontrar esse macbook por R$ 5.000,00 que eu acho que é um investimento bom para quem quer começar nessa área.
Meu Macbook x Mac Mini 2018 (i3)
É possível encontrar esses dois equipamentos pelo mesmo preço, particularmente eu prefiro o macbook do que o mac mini pelo fato da portabilidade, de poder trabalhar em um coworking ou até mesmo em um Starbucks.
Existem comparações que mostra o mac mini 2018 sendo superior ao meu modelo de macbook.
Isso é um critério que você deve levar em conta, portabilidade ou um pouco mais de performance.
iPhone
Com relação ao iPhone é super recomendável que você seja um usuário de iPhone enquanto está na área de iOS para poder dar insights para os designers/PO/UX com relação a navegação o que seria bom ou ruim e etc.
Não precisa ter o iPhone mais caro, pode ser um iPhone de entrada.
Outros iDevices
Outros dispositivos acredito que os próprios simuladores conseguem satisfazer 90% dos projetos pois são bem completos. Você só precisar comprar por exemplo um Apple Watch, se for trabalhar com app Saúde, sensores de movimentos e etc. Mas caso seja somente telas com informações, acredito que não é necessário.
Bônus
Quando estou trabalhando de casa utilizo um monitor LG 29" ULTRAWIDE™ PRO GAMER 1MS, pelo fato de super Ultrawide eu consigo deixar por exemplo o Xcode e o Postman aberto lado a lado para comparar possíveis problemas em uma requisição. Utilizo também um mouse e um teclado sem fio no padrão US, então basicamente meu macbook em no meu home office vira uma CPU.