Vantaggi di android:
Il casino più grande è andare a gestire un sacco di device con sensoristica profondamente diversa ed eterogenea. Android è fortemente orientato al multi threading.
Si consiglia la lettura di Google Android Training Center.
Piccola toto storia della nascita di android e dei primi dispositivi android. Parte di racconto del pre-android: storia di Symbian. Informazioni su Nokia che aveva deciso di non prendere la strada verso i dispositivi android.

Uso un sacco Java Mobile Edition. Posso andare a configurare dei profili precisi per andare a fare runare le mie applicazioni: foundation, game, midp, pda, rmi, …
Addirittura avevo un co-processore chiamato jazelle per runnare le applicazioni java. L’idea di usar questi profili è molto comodo perché posso andare a gestire al meglio le mie risorse.
La scelta dei profili specifici mi da anche dei problemi di cross compatibilità. Android è molto simile a Symbian per alcune cose. Sono praticamente identici gli schemi del sistema operativo. Anche perché si sono ispirati sicuramente a Symbian.
Ad ora si cerca di fare la migrazione verso kotlin ma per ora ci sono ancora un sacco di cose che funzionino in java. Anche perché ci sono più programmatori java che kotlin. Su symbian posso andare a programmare tra java e c++, ora android e java + kotlin. Il secondo ha alcuni componenti super comodi, come per fare delle data classes.

Le librerie sono usate sia da application framework che da android runtime.
Racconto di come funzioni xorg.

“SurfaceFlinger praticamente va a fare rendering di ogni layer e io alla fine vedo quello più alto” - ipse dixit
Noi lavoriamo ad altezza applicazioni che comunicano con application framework. Non ci addentriamo all’interno del sistema operativo.