[Gulli] Io sono un tecnico non un...programmatore

Anubis Wolf conan.edogawa.detective@gmail.com
Lun 7 Gen 2013 11:26:07 CET


Bene ragazzi, come da oggetto (citazione ovvia di McCoy), ho un
dilemma che riguarda la programmazione, una semplice curiosita' che
non riesco a levarmi dalla testa da quando ho visto il PC nuovo di
Andrea, un Lenovo, con cpu Intel montare Andorid x86 e far girare
TUTTE le applicazioni native per Android.

Quindi se qualcuno vuole aiutarmi a risolvere l' arcano, ne sarei molto felice.

Partiamo dalla teoria, le applicazioni sono compilate per girare su
una certa architettura, ad esempio x86, AMD64, ARM.
Le applicazioni x86 sono le uniche che possono girare sia su x86 che
su AMD64, perche' quest' ultima architettura e' costruita in modo da
permettere, in hardware, l' esecuzione di codice x86.

Ma un programma scritto per x86 NON PUO' girare su ARM, ne viceversa.

Pero' i programmi scritti per Android, che notoriamente gira su ARM,
funzionano perfettamente su Android x86 su x86 (Intel in questo caso),
come e' possibile ?

L' unica soluzione che ho pensato all' arcano e' che Davlik c' entri
qualcosa, una sorta di layer "uniforme" per tutte le applicazioni,
indipendente dall' architettura, a cui le applicazioni si appoggiano e
vengono eseguite. In modo molto simile al Java (da cui in realta'
Davlik e' dervato). Non so, pero', se questa e' solo una mia
elucubrazione o e' veramente cosi', qualcuno ne conosce la risposta ?

Se fosse realmente cosi', pero', nascono due grossi problemi e un
vantaggio. Il primo e' la complessita' del sistema, il secondo e' l'
enorme richiesta di risorse hardware per gestire tutto l' accrocchio,
visto che delle applicazioni compilate nativamente per l' architettura
girerebbero richiedendo frazioni di queste risorse...mentre il
vantaggio e'...che le applicazioni in questo caso sarebbero scritte in
un liguaggio ad altissimo livello e quindi sarebbe abbastanza semplice
da fare. Ma anche di questo non sono sicuro, non sapendo programmare
per Android.

<modalita' folle >ON</modalita' folle>
Se avessi ragione mi chiedo una cosa...ci sono moltissimi terminali
(smartphone, tablet, PC stick USB, schede sperimentali) dotati di chip
piu' o meno potenti ARM11, ARM Cortex A8, ARM Cortex A9...fino a 1
GHz, che purtroppo non stanno dietro alle attuali applicazioni per
Android, basta guardare il mio smartphone, ha un ARMv6 (ARM 11), da
500 MHz, overcloccato a 690 MHz (solo quando sotto uso intensivo, e
devo dire che l' overclook e' stabile, almeno) e se si apre anche solo
Facebook e' inutilizzabile tanto e' lento.
Dicevo, mi chiedo una cosa...sarebbe possibile, limitatamente a cio'
che interessa e con un po' di ammattimento, ricompilare nativamente
per l' architettura ARM in questione, sistema e applicazioni, sempre
lasciando android, ma usando applicazioni scritte nativamente per ARM,
e lasciando anche il layer di compatibilita' Davlik per le altre
applicazioni e il market ?
In questo modo l' intero sistema risulterebbe estremamente piu'
leggero e veloce e le applicazioni "pesanti" girerebbero comunque
senza problemi anche su hardware datato, mentre allo stesso tempo ci
sarebbe accesso al market e alle altre applicazioni.
<modalita' folle >OFF</modalita' folle>

<modalita' ultra-folle >ON</modalita' ultra-folle>
Magari, ancora meglio, un sistema compilato per quell' architettura e
un programma scritto nativamente per la stessa architettura, che
intercetti i programmi che il play store installerebbe (a quanto ne so
l' installazione di un programma su Android e' quasi la copia del
pacchetto APK, e poco piu'), e lo compilasse nativamente per quell'
architettura, in modo che rimanga installato, ma compilato
direttamente per ARM, e non che giri su Davlik (e credo che questo
sarebbe estremamente piu' performante della compilazione JIT di
Davlic, o no ? i programmatori che dicono ?)
Se si trovasse la maniera di fare questo programma, e magari di
proporlo sul playstore, probabilmente si farebbero dei bei soldini,
visto che permetterebbe a chiunque di eseguire qualunque applicazione
del play store (o magari anche di installarla da altre fonti), anche
su smartphone e altri device "datati" che non supportano quella
"normale" per Android o la supportano ma il sistema e' talmente lento
da risultare inutilizzabile...come nel mio caso.
<modalita' ultra-folle >OFF</modalita' ultra-folle>

Grazie per le risposte.

-- 
By Anubis Wolf - Alias: Nicola Tobi


Maggiori informazioni sulla lista Gulli