Tendría un sistema bastante poderoso:
i7–6800k, 6850k o Ryzen 7 1800X (cualquier cosa más cara es en su mayoría innecesaria)
32 GB de RAM (preferiblemente de cuatro canales si se ejecuta en arquitectura X99)
- Cómo construir una aplicación de mensajería paso a paso para Android
- ¿Cuáles son algunas ideas de aplicaciones de Android para principiantes?
- ¿Cuáles son las ventajas y desventajas de crear una aplicación híbrida en lugar de crear aplicaciones separadas de iOS y Android?
- ¿Qué es el certificado de huella digital SHA-1 en Android Studio para la depuración?
- ¿Hay alguna forma de previsualizar / emular, en línea, su aplicación web tal como aparece en varios dispositivos Android?
GTX 1070/80 (aceleración de gráficos de hardware para emuladores)
SSD NVMe PCI-E de 512 GB (tiempos de inicio ultrarrápidos)
Cualquier CPU con más de 6/8 núcleos es en su mayoría exagerada. Dependiendo de su carga de trabajo y cuántos emuladores y máquinas virtuales esté activando, 32 GB deberían ser suficientes. La tarjeta gráfica es innecesaria (de nuevo, cuántos emuladores) pero es agradable jugar de vez en cuando para mí. Los SSD NVMe son INCREÍBLEMENTE RÁPIDOS y creo que cada desarrollador debería tener uno 🙂
En cuanto al software, optaría por Android Studio, ya que se integra con Firebase, Gradle, Git y la API de Android sin problemas. Además, Intellij es increíble y tiene algunos trucos y atajos de teclado realmente buenos.
Personalmente prefiero el desarrollo de Windows para Android. Por un lado, Visual Studio es maduro en Windows y a menudo lo uso para ver la API del lado del servidor de mi equipo. No hay mucho beneficio en pasar a Linux, ya que no gran parte del trabajo de un desarrollador de Android se realiza a través de la línea de comandos (o al menos no tiene que ser así).
Periféricos
Un buen par de altavoces (preferencia personal)
Un buen teclado mecánico (inalámbrico es agradable, aunque difícil de encontrar)
Logitech MX Master (este es un mouse realmente agradable, rueda de desplazamiento horizontal)
Una cámara web si trabaja de forma remota para esas llamadas de equipo.
Monitores:
Un monitor ultra ancho frontal y central para Android Studio. Muy productivo, especialmente con la división vertical de pantalla de Android Studio.
Un monitor 16: 9 a la izquierda para otro IDE, ver archivos, documentación, etc.
Otro monitor 16: 9 orientado verticalmente a la derecha para chat de equipo (Slack, etc.) y un cliente VCS (GitHub Desktop, GitKraken, etc.)
Finalmente, otro 16: 9 por encima del ultra ancho para ver todos mis emuladores. Obviamente opcional e innecesario, pero sería súper tonto 🙂