Mi trovo di fronte alla domanda su quale libreria usare in un'app per Android. Per ragioni di generalità e obiettività, eviterò di menzionare ciò che effettivamente fanno le biblioteche. Ho ridotto il campo a tre opzioni in base ai criteri indicati nella descrizione di ciascuno.
La mia domanda non è quale libreria è "migliore" per questa o altre situazioni. Piuttosto, sono interessato ai tuoi approfondimenti su quali altri criteri potrei applicare alla mia decisione o su qualsiasi altra cosa che potrei non aver considerato.
Qualunque cosa scelga, sarò bloccato con esso. I paradigmi delle due librerie sono abbastanza diversi da non pensare che sarebbe pratico racchiuderli in un'API comune e passare da uno all'altro in seguito.
Opzione 1: il vecchio standby
Il bello: ho usato questa libreria in altre app e mi sento abbastanza a mio agio. Il Javadoc è completo. Il barattolo ha solo 95 KB.
Il male: Google ha recentemente disapprovato l'intera API da cui dipende questa libreria. Questa API è open source e ancora supportata dagli sviluppatori originali , ma la deprecazione di Google indica che prevede di rimuoverla dalla libreria standard di Android. Lo sviluppatore della libreria che sto usando ha annunciato di voler imporre l'API di terze parti e inserirle nella sua libreria per proteggerne l'eventuale rimozione da Android. Napkin math dice che questo ingigantirà la libreria almeno di 1 MB, e forse il doppio, dal momento che non so esattamente da quali librerie dipenda.
Opzione n. 2: la nuova soluzione lucida
Il bello: questa libreria ha molte più funzionalità di quella che ho usato e sostituisce altri 163 KB di altre librerie (258 KB totali).
Il male: niente Javadoc. Normalmente lo considererei un rompicapo istantaneo, ma ho le spalle al muro. Senza una documentazione adeguata, mi aspetto che costasse almeno una settimana o due per mettersi a proprio agio. Pesa a 573 KB, più un altro 216 KB per un'astrazione opzionale di livello superiore. Quindi tre volte la dimensione di ciò che sta sostituendo, ma potenzialmente un terzo della dimensione futura di ciò che sta sostituendo.
Opzione n. 3: tira il mio
Il bello: sarebbe basato sull'API che Google sta mantenendo, quindi sarebbe molto piccolo. Ci sarebbe Javadoc. Altri sviluppatori potrebbero trovarsi di fronte a questo stesso dilemma, quindi la mia API potrebbe diventare un prodotto a sé stante.
Il male: non sarebbe così ricco di funzionalità come l'opzione # 1, figuriamoci l'opzione # 2. Mi costerebbe almeno due settimane per scrivere.