Já posso usar meu Mac Sillicon M1 no dia-a-dia de trabalho como programador?
Tags: ios, android, programming, m1
Published: 2020-12-21 19:37:54

---
title: Já posso usar meu Mac Sillicon M1 no dia-a-dia de trabalho como programador?
published: true
description: Um relato de como está sendo usar o novo processador M1 no dia-a-dia para programação.
tags: ios, android, programming, m1
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/rpgmc6jtq01if99rlh6m.jpeg
---

SIM!!! E digo isso com muita emoção, pois o principal motivo deu ter adquirido um novo computador da Apple em um curto período de tempo após seu lançamento foi na esperança e expectativa que minha produtividade que até então estava sendo prejudicada pelo desempenho do Xcode iria melhorar, e de fato isso aconteceu, a promessa apresentada pela Apple de uma performance melhor para o Xcode realmente aconteceu, e isso encheu meu coração de alegria \o/

![Benchmark](https://dev-to-uploads.s3.amazonaws.com/i/nu6da96p9ri2j0xdaoyh.png)

Atualmente trabalho com o desenvolvedor iOS na empresa Consulta Remédios e o Xcode é minha principal ferramenta de trabalho, no entanto minha maior frustração era não conseguir fazer uma simples call utilizando o Slack ou Google Meeting com o Xcode e qualquer outro programa executando junto sem que houvesse o estouro da memória e travamento do sistema.

Atualmente o único problema que tive foi relacionado a arquitetura, pois até esse momento (18/12/2020) a lib do Firebase tem alguns problemas para ser compilado para rodar em um simulador, afirmando que não é compatível com usando a arquitetura `x86_64-apple-ios-simulator`, orientando assim atualizar utilizar uma branch especial para cada ferramenta utilizada, por exemplo, para o Analytics devemos alterar em nosso podfile de pod 'Firebase/Analytics' para pod 'Firebase/Analytics', '7.2-M1' e assim para todos os outros frameworks, ou seja, usar o 7.2-M1

https://github.com/firebase/firebase-ios-sdk/blob/master/AppleSilicon.md

Particularmente não segui por esse caminho, apesar de ter funcionado localmente, pois acredito que os CI`s nesse momento ainda estão se atualizando a essa nova infraestrutura além de que, por agora sou o único que tem um Sillicon M1 e essa mudança pode exigir uma mudança no setup dos outros integrantes, e essa não é a solução, ela deve ser feita de forma transparente, por isso a solução mais adequada foi utilizar o Xcode emulado através do Rosetta, que apesar de perder um pouco de performance, não exigiu nenhum tipo de mudança a ainda assim provou que o novo processador da Apple é realmente poderoso.

O processo para executar o Xcode emulado no Rosetta e simples, basta ir em Aplicações > Botão direito no Xcode > Obter informações > Abrir com Rosetta.

![Xcode Rosetta Window toggle](https://dev-to-uploads.s3.amazonaws.com/i/ssbkpgw2d9u0687d1gm4.png)

Isso vale para qualquer aplicativo, apesar de perder um pouco de desempenho pode ser muito útil em algumas situações.

Agora para quem trabalho com Android no MacOS a história e outra, até o momento somente no device real.

![Android studio emulador erro m1](https://dev-to-uploads.s3.amazonaws.com/i/wr0m25bhreylxhneadtp.png)

Uma solução temporária e fazer uma instalação específica de um simulador que pode ser baixado em https://github.com/741g/android-emulator-m1-preview/releases/tag/0.1

![Android M1 emulador](https://dev-to-uploads.s3.amazonaws.com/i/ywm2t0db3k0mnqaxx2hs.png)

---

<center>**Se puder, dê aquela moral =)**</center>

<a href="https://www.buymeacoffee.com/didisouzacosta"><img src="https://img.buymeacoffee.com/button-api/?text=Me pague um café&emoji=&slug=didisouzacosta&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff"></a>

---

**Links interessantes:**

1. [Programar ouvindo música me ajuda muito, por isso um lofit bem brasileiro](https://www.youtube.com/watch?v=NBHJSuau8PQ&t=29s)
2. [Um bom papo sobre arquitetura](https://www.youtube.com/watch?v=jLlOnsIapdQ&t=2631s)
3. [Uma visão legal sobre o Swift](https://www.youtube.com/watch?v=TtZfCLViuLo)