Como estou planejando abandonar a Apple

Não estou escrevendo esta história no meu iMac lindo e genial de 27 polegadas. Aqueles de vocês que leram minha postagem anterior já sabem o porquê: principalmente porque estou terrivelmente desapontado com a recente diminuição da qualidade dos produtos da Apple e porque simplesmente não quero endossar suas aspirações monopolistas para se tornar a nova Microsoft.

Uma declaração de responsabilidade em primeiro lugar, porém: eu absolutamente não estou aconselhando ninguém a abandonar a Apple; Pelo contrário, estou um pouco irritado sempre que vejo pessoas evangelizando sobre como sua solução é a melhor e deve ser geralmente adotada por todos, hereges e crentes. Não. Se você está feliz com a Apple, use a Apple. Se o Windows for o que você quer, continue usando. Mas, em ambos os casos, certifique-se de ler os EULAs em algum momento, apenas para saber o que você está se inscrevendo ;-).

Sendo fora do caminho, se você ainda está lendo isso, provavelmente você está interessado em mudar, por suas próprias razões. E você provavelmente sabe que existem apenas duas principais alternativas de Apple ao redor: o ecossistema do Windows e uma infinidade de (muitas) distribuições do Linux. Outro nicho e alternativa legalmente problemática tem sido sugerido por alguns leitores, nomeadamente o uso do Hackintosh. Vou tentar resumir os prós e os contras de cada um e racionalizar meu processo de tomada de decisão, na perspectiva de um desenvolvedor JS / web completo, usuário poderoso e jogador ocasional . A perspectiva é importante – e a sua pode ser diferente da minha – porque você sempre quer basear sua decisão em suas necessidades reais , e porque você quer usar, não lutar, tecnologia.

Como eu disse, atualmente sou um desenvolvedor de JS / web completo e um jogador ocasional. Eu também sou um usuário poderoso, no sentido de que sou bastante experiente em tecnologia. Eu usei computadores desde a escola primária (o Spectrum estava com raiva na época), sabem muito sobre como eles trabalham internamente e entraram em contato com todos os sistemas operacionais mencionados acima, além de alguns outros que não existem mais. Anos atrás, antes de mudar para o OSX, costumava trabalhar quase que exclusivamente no Windows, como parte de uma equipe escrevendo em C # /. NET uma das melhores soluções de seguros do mundo, então acredito que sou bastante imparcial e com experiência no sistema operacional o suficiente para basear minhas decisões na razão, não o marketing de excitação do fanboyismo (isso é uma palavra? Não sou falante nativo de inglês, então corrija-me, quando necessário :-).

Pré-requisitos

Então, o que estou fazendo exatamente, além de falar sobre coisas tecnológicas, e qual software eu uso?

  • Escreva muitos códigos do lado do servidor e do lado do cliente: JS / Node.js , CSS , HTML e recentemente híbridos Frankenstein-ish, como o JSX . Alguns anos atrás, eu estava usando Sublime Text, então tentei o Visual Studio Code e agora estou completamente vendido para o Atom . Felizmente, tudo isso está funcionando em todos os sistemas operacionais possíveis.
  • Recentemente começou a aprofundar o React-Native para criar aplicativos móveis nativos. Sim, eu sei, já existe um aplicativo para tudo, mas as pessoas ainda querem mais. Você pode escrever React-Native em todos os lugares (afinal, é principalmente JS / JSX e algumas ligações nativas). Você ocasionalmente pode usar o Android Studio ou pode usar o Expo XDE , mas esses dois são multi-plataforma, e você pode implantar no Google Play a partir do MacOS, Windows ou Linux. Há uma história diferente com o XCode da Apple e a App Store – escrevi sobre isso no artigo anterior – você precisa de macros. Esse é um potencial ponto de dor.
  • Trabalhe com bancos de dados relacionais e não-relacionais: PostgreSQL, MongoDB, alguns Redis e recentemente Firebase. Eu preciso usar bons clientes de banco de dados e encontrei DBeaver e Studio 3T (ex MongoChef) para satisfazer a maioria de minhas necessidades. Ambos são multi-plataforma, então não há dor aqui.
  • Escreva e execute vários scripts de shell para automatizar meu fluxo de trabalho (construção, embalagem, implantação, etc.). Bash , na verdade. Esse é outro problema potencial, já que o Windows NTFS não é compatível com POSIX e o PowerShell é totalmente diferente, não é amplamente utilizado fora do ecossistema da Microsoft e, certamente, não estou interessado em aprender.
  • Execute Vagrant com o VirtualBox para virtualizar ambientes de servidor na minha máquina de desenvolvimento. Ambos são capazes de rodar em qualquer SO host.
  • Ocasionalmente, crie UIs para sites e aplicações web e móveis. Aqui está, na verdade, uma história mais longa para contar e o principal ponto de dor em mudar para outra plataforma , daí a seção dedicada abaixo.
  • E, finalmente, jogar jogos como World of Warships de vez em quando. Não há muito para dizer aqui; você simplesmente precisa inicializar o Windows em sua máquina para isso. Se você estiver em um Mac, certifique-se de usar uma partição separada, e não a VMware / Parallels, porque você deseja o desempenho. Mas mesmo assim, esteja ciente de que um iMac ou MacBook fará uma plataforma de jogo severamente sub-alimentada, ainda que escandalosamente caro. A menos que você esteja usando o Mac Pro mais novo na sua configuração superior, nesse caso, você é o proprietário afortunado de uma máquina de jogos obscenamente caro e de desempenho médio.