Perché Android Studio è così terribile? È troppo lento, si blocca e i bug ritardano il mio progetto.

Ho usato XCode e Visual Studio per molti anni. Sto usando Android Studio da quasi due anni e l'ho trovato di gran lunga il peggior IDE con cui abbia mai lavorato. Ora sono alla versione 3.1.3.

Ho dovuto acquistare un PC più veloce solo per fargli costruire il mio progetto, che altrimenti avrebbe richiesto secoli. È pieno di bug. La cosa peggiore è la divisione tra l'IDE e gradle. Ogni volta che si fa un cambiamento significativo nella configurazione del progetto (come l'aggiunta di un file a un makefile) è necessario attendere per minuti che gradle si "sincronizzi". Il passo di sincronizzazione è totalmente assente in tutti gli altri grandi IDE ed è un killer della produttività. Dovete aspettare che la sincronizzazione finisca, e poi siete autorizzati a lanciare la build. Dato che entrambi richiedono minuti, si rischia di distrarsi e iniziare a fare un'altra cosa (per evitare di annoiarsi per l'attesa) due volte prima di poter vedere la propria app in esecuzione, solo perché si è aggiunto un file. Le persone che lavorano su progetti più piccoli possono non notare questi problemi, ma vi assicuro che su progetti più grandi tutta questa attesa uccide la vostra produttività.

Gli errori di compilazione nativi (c++) sono riportati male, se non del tutto. Devo cercare la stringa "error" nel log di compilazione per trovarli!

La mia ipotesi sul perché Android Studio sia così brutto è che è sviluppato congiuntamente da Google e Jetbrains, quindi nessuna singola entità è responsabile del prodotto.

Il fatto che sia sviluppato in Java non aiuta, a volte si può quasi vedere il mostruoso garbage collector che deve spazzare via la memoria mentre l'IDE si blocca e si devono aspettare forse 5 secondi perché l'app torni ad essere reattiva.

Anche la decisione originale di usare Java/Kotlin come linguaggio di programmazione/runtime principale influisce sullo sviluppo di Android in generale e lo rende macchinoso quando, come nel mio caso, si deve far interagire codice Java e c++ nativo. Questo aggiunge un ulteriore livello di complessità non necessaria, e Android Studio deve gestire sia i file Java che almeno due tipi di file make (cmake e ndk-build).

Speriamo che le cose migliorino in futuro.