Apple M1 para desenvolvimento de discourse

Olá!
Estou planejando comprar um MacBook Pro M1 da Apple para desenvolvimento com Discourse e gostaria de ouvir a opinião de desenvolvedores da comunidade sobre o processador M1 da Apple nesse contexto.

Você recomenda o MacBook Pro M1 como dispositivo principal para desenvolvimento com Discourse?

Temos vários engenheiros que usam um M1 para desenvolvimento e adoram. @david provavelmente pode detalhar.

Sim, funciona muito bem! A compatibilidade foi um pouco complicada no início, mas agora Postgres, Redis, Ruby e Discourse estão todos funcionando perfeitamente! Uma enorme melhoria de desempenho em comparação com meu MacBook Intel anterior. Há alguns detalhes adicionais neste tópico.

Isso soa convincente :wink: muito obrigado @sam e @david. Vou postar minha experiência quando receber o produto :grinning_face:

Olá :wave: Alguém tem um ambiente de desenvolvimento do Discourse configurado em uma máquina M1 enquanto também desenvolve outros projetos usando outras tecnologias? Como tem sido a experiência e qual é o seu processo?

Estou desenvolvendo e mantendo alguns outros projetos, e tem sido complicado alternar entre eles, ainda mais agora por causa da arquitetura ARM do M1. Adicionar e modificar configurações para fazer as coisas funcionarem (como locais diferentes de binários para diferentes pilhas tecnológicas e CLIs, chaves SSH diferentes para diferentes e-mails) tem sido uma verdadeira tarefa. Então, estou tentando otimizar o processo e estou usando aliases e scripts básicos no meu arquivo .zshrc.

Neste momento, eu me limito a desenvolver meu tema do Discourse e ler a base de código do Discourse :face_vomiting: :joy:

Referência:
Outras pilhas tecnológicas que estou desenvolvendo na minha máquina M1 além do Discourse:

  • Rails 6
  • Rails 5 + React
  • React Native

Você pode sempre usar nossa configuração Docker se quiser isolamento completo.

Não é tão rápido quanto executar nativamente, mas, pelo que ouvi, é perfeitamente utilizável.

Infelizmente, a implementação do Docker para M1 apresenta alguns problemas, o que significa que nossa imagem base não funciona :cry:

Quanto ao isolamento dos ambientes de desenvolvimento, acho que meu conselho seria garantir que você esteja usando o Bundler/Yarn para permitir a instalação de dependências diferentes para cada projeto. Para Ruby, também existem ferramentas como rvm, que permitem alternar instantaneamente entre diferentes versões do Ruby.