
Google ha deciso di epurare da Android 11 una delle API più utilizzate
Se non siete sviluppatori e non vi siete mai trovati ad avere a che fare col codice probabilmente non avrete familiarità col concetto di task asincrono (spieghiamo di che si tratta nell'ultimo paragrafo). Per quanto sia una logica da macchina è qualcosa con cui tutti abbiamo a che fare tutti i giorni e avviene tramite specifiche API. In particolare, se siete sviluppatori stagionati o se vi trovate alle prime armi, ci sono buone probabilità che vi imbattiate nelle API AsyncTask.
Si tratta di una serie di procedure pensate per semplificare le interazioni tra l'interfaccia di un'app e le operazioni che avvengono in background. Purtroppo anche se si tratta di uno strumento utile non svolge il suo lavoro in maniera impeccabile (ci arriviamo tra un attimo), motivo per cui Google ha deciso di rimuoverlo dall'AOSP (qui il commit). A meno di rilasci di manutenzione quindi nella prossima versione di Android, non vedremo AyncTask.
Per colmare il vuoto, BigG suggerisce di utilizzare il framework Concurrency di Java o Coroutines di Kotlin, entrambe alternative più che valide.
La logica asincrona è piuttosto elementare: ogni volta che un applicazione deve raccogliere informazioni da un server remoto di solito compie una richiesta, ma per evitare che l'app rimanga in attesa della risposta, il tutto avviene in maniera asincrona. Una volta che i dati sono arrivati e sono pronti per essere mostrati, bisogna verificare che l'interfaccia da popolare sia ancora attiva altrimenti si possono generare crash o bug.
Ad AsyncTask manca una protezione per evitare quest'ultimo scenario, per cui gli sviluppatori sono obbligati a gestire manualmente simili situazioni. Evidentemente tutti le correzioni effettuate nel tempo da Google non sono stati sufficienti e ora non c'è altro da fare che avviarle verso il pensionamento anticipato. Per gli utenti finali non cambierà nulla, ma per molti sviluppatori si tratta di una novità rilevante.