Perché Instagram su Android è così male, scarsamente ottimizzato rispetto alla versione iOS?
È perché Android si basa ancora su JAVA per le sue applicazioni e JAVA come linguaggio di programmazione ha i suoi limiti a causa della sua natura ad alta intensità di risorse. La ragione per cui consuma così tante risorse è che le applicazioni scritte in JAVA vengono eseguite su una macchina virtuale JAVA. Quindi quando si esegue un'app Android non si esegue solo la nostra app sul sistema operativo, ciò che si ha essenzialmente è una VM basata su JAVA che gira sopra il sistema operativo e l'app che gira su quella VM basata su JAVA.
iOS d'altra parte ha il suo runtime nativo e le app scritte per esso sono scritte in Swift che è basato su Objective-C. Non c'è uno strato di macchina virtuale tra il sistema e l'app, quando si esegue un'app viene eseguita sul sistema operativo utilizzando le librerie runtime native, quindi c'è sostanzialmente meno overhead di risorse.
La differenza non è solo tra Android e iOS, confronta l'app Android Instagram con il client UWP Instagram non ufficiale per Windows 10 Mobile (e PC) chiamato Winsta e ti renderai conto che anche quel client non ufficiale è più veloce e più ottimizzato dell'app Android Instagram e il motivo è lo stesso. Nel caso di Windows 10 Mobile l'app chiamata Winsta è scritta in codice nativo C++.
Perché Google non abbia sviluppato un proprio linguaggio di programmazione o perché non stia passando a qualcosa come QT o C++, nessuno lo sa. Vogliono solo tenersi stretto JAVA nonostante tutti i suoi difetti.
Articoli simili
- Perché la maggior parte dei telefoni Android sono scarsamente ottimizzati?
- In che misura lo Studio Ovale è stato ottimizzato?
- Quante sono le probabilità che una mano di Spider Solitaire sia vincente per 1/2/4 semi, assumendo un gioco ottimizzato?
- Quali sono i pro e i contro dell'aggiornamento dell'iPhone SE da una versione precaricata di iOS all'ultimo iOS?