Android, tutte le app devono essere a 64-bit entro il 2019

Android, tutte le app devono essere a 64-bit entro il 2019

A imporlo è Google, che ha pubblicato un nuovo post sul blog Android Developer in cui annuncia le novità

di pubblicata il , alle 18:21 nel canale Telefonia
GoogleAndroid
 

Android supporta le app a 64-bit dal 2015 con il rilascio di Lollipop ma, almeno fino ad oggi, non ha mai imposto agli sviluppatori l'uso delle più avanzate istruzioni. Il cambiamento arriverà ad agosto 2019, quando tutte le app rilasciate sullo store ufficiale dovranno avere il supporto ai 64-bit. Questo non vuol dire che dovranno abbandonare la compatibilità con le istruzioni a 32-bit, ma che al limite dovranno essere compatibili con entrambe le tecnologie presenti.

Nel post in cui annuncia la novità Google fa notare che nel prossimo futuro ci saranno dispositivi che supporteranno solo ed esclusivamente codice a 64-bit, quindi è ora che gli sviluppatori facciano il passaggio alle nuove istruzioni. Il processo per il passaggio ai 64-bit sarà graduale per gli sviluppatori: entro agosto 2018 tutte le nuove app dovranno essere sviluppate basandosi sulle API di Android Oreo, mentre per quelle esistenti la tempistica richiesta è novembre 2018.

Il requisito delle API cambierà ogni anno, richiedendo la versione successiva delle API disponibili rispetto all'anno precedente. Molto interessante anche il requisito di sicurezza che arriverà nei primi mesi del 2018. La compagnia aggiungerà "pochi metadati" all'interno di ogni APK in modo da verificare in maniera più attenta l'autenticità dello stesso. Gli sviluppatori non dovranno fare nulla per rispettare questa clausola, ma tutto il lavoro verrà compiuto da Big G.

Immaginate questi metadati come "un sigillo di sicurezza", ha scritto Google nel lungo post in cui spiega in maniera dettagliata le novità. Google non è stata molto solerte con i 64-bit, soprattutto se mettiamo in relazione le tempistiche di Android con quelle di iOS. La Mela ha iniziato a richiedere il codice a 64-bit per le app su iOS a partire dal febbraio 2015, mentre ha terminato il supporto ai 32-bit lo scorso settembre con iOS 11. Le due piattaforme sono però molto diverse.

Se da una parte è Apple a controllare tutto l'hardware proposto con iOS, la frammentazione di Android non consente di operare certi cambiamenti in maniera rapida e indolore per gli utenti. Il cambiamento sul robottino verde potrebbe alimentare numerose novità su Android: il passaggio ai 64-bit non porterà una rivoluzione in termini di prestazioni, ma più verosimilmente porterà gli sviluppatori più pigri ad aggiornare le proprie app rimaste invariate per lunghi periodi.

7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
lucusta20 Dicembre 2017, 19:33 #1
i 64 bit su uno smartphone ha la sola ragione di essere per l'interpolarità tra smartphone e PC, per il resto credo che se ne poteva fare a meno per altri 10 anni.
Crisa...20 Dicembre 2017, 20:12 #2
Beh gli attuali top di gamma hanno più di 4gb di ram, quindi i 64bit sono necessari, più che altro chiediamoci se sono necessari più di 4gb di ram in un telefono
nemex1s20 Dicembre 2017, 22:43 #3

e google

si appresta a rilasciare un so per pc
Phoenix Fire20 Dicembre 2017, 22:53 #4
Originariamente inviato da: Crisa...
Beh gli attuali top di gamma hanno più di 4gb di ram, quindi i 64bit sono necessari, più che altro chiediamoci se sono necessari più di 4gb di ram in un telefono


mi sembra un dubbio ragionevole

che poi ormai la ram l'aumentano perchè è rimasta la cosa che gli costa meno aumentare, anzi per il consumatore questo aumento è solo dannoso visto che gli sviluppatori si sentiranno in dovere di occupare ancora più ram del passato
rockroll21 Dicembre 2017, 02:18 #5
Originariamente inviato da: Crisa...
Beh gli attuali top di gamma hanno più di 4gb di ram, quindi i 64bit sono necessari, più che altro chiediamoci se sono necessari più di 4gb di ram in un telefono


No, non sarebbero necessari, ma l'involuzione tecnologica li ha fatti diventare o meglio credere tali.

Non è progresso quello che richiede maggiori risorse per fare le stesse cose.
panda8421 Dicembre 2017, 13:18 #6
Faccio notare che si parla di applicazioni e di App Store.

Buona parte delle app usa solo l'SDK, compilando quindi il Java in bytecode che può essere tranquillamente eseguito su VM 32 e 64-bit. Ciò significa che non c'è "Java 32-bit" e "Java 64-bit", ma c'è solo Java, quindi la differenza la fa la VM che è parte del sistema Android, non dell'app.

L'unica parte di un'app che può dipendere dall'architettura (es. ARM, MIPS o x86; 32-bit o 64-bit) è il codice nativo, compilato con l'NDK. Quindi solo chi usa l'NDK oppure usa librerie che hanno componenti nativi (es. motori grafici, librerie computazionali, ecc) può aver fornito supporto solo per 32-bit. Direi quindi che i casi sono limitati.

Google non è stata molto solerte con i 64-bit, soprattutto se mettiamo in relazione le tempistiche di Android con quelle di iOS. La Mela ha iniziato a richiedere il codice a 64-bit per le app su iOS a partire dal febbraio 2015, mentre ha terminato il supporto ai 32-bit lo scorso settembre con iOS 11. Le due piattaforme sono però molto diverse.

Se da una parte è Apple a controllare tutto l'hardware proposto con iOS, la frammentazione di Android non consente di operare certi cambiamenti in maniera rapida e indolore per gli utenti.


No, proprio non è questa la questione. La questione è che in iOS compili codice Objective-C, quindi produci binari 32-bit o 64-bit (Apple permette anche di fornire entrambi i formati in un solo binario), mentre in Android spesso e volentieri compili solo Java che, come detto, produce binari indipendenti dall'architettura.
LMCH21 Dicembre 2017, 15:14 #7
Originariamente inviato da: panda84
L'unica parte di un'app che può dipendere dall'architettura (es. ARM, MIPS o x86; 32-bit o 64-bit) è il codice nativo, compilato con l'NDK. Quindi solo chi usa l'NDK oppure usa librerie che hanno componenti nativi (es. motori grafici, librerie computazionali, ecc) può aver fornito supporto solo per 32-bit. Direi quindi che i casi sono limitati.

Se per "casi limitati" si intende "sviluppatori, usate librerie aggiornate e verificate che ci sia il supporto anche per i 64bit".
Perchè non ci sono storie, il codice nativo nei punti giusti da boost prestazionali notevoli (senza contare di tutta la mole di codice C/C++ sviluppato su altri S.O. che può essere portato su Android usando Java solo per l'interfaccia utente).

Originariamente inviato da: panda84
No, proprio non è questa la questione. La questione è che in iOS compili codice Objective-C, quindi produci binari 32-bit o 64-bit (Apple permette anche di fornire entrambi i formati in un solo binario), mentre in Android spesso e volentieri compili solo Java che, come detto, produce binari indipendenti dall'architettura.


Nelle ultime versioni dell'NDK sta avvenendo il passaggio a Clang (il compilatore C/C++ di LLVM usato anche nell'SDK per iOS), proprio per semplificare l'uso di codice nativo e l'utilizzo di librerie scritte in C/C++ su target Android con architetture di cpu differenti (in teoria anche gpu ed altro).

Imponendo il supporto anche dei 64bit, Google si assicura che gli sviluppatori si prendano la briga di usare librerie aggiornate (sia precompilate che a partire da codice sorgente) che permettano di avere le massime prestazioni su cpu a 64bit (e non creare gap prestazionali con altre piattaforme).

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^