2010-12-14 18 views
22

Ho bisogno di aiuto per decidere quale contenitore IOC è il migliore per lo sviluppo su dispositivi mobili (android). Quello di cui ho bisogno è un IOC di base senza troppo carico. Spring è un ottimo framework ma è eccessivo per i dispositivi mobili.Contenitore IOC migliore per dispositivi android/mobile

risposta

26

Si consiglia di provare Roboguice. Ho iniziato a utilizzare nei miei progetti con Robolectric per TDD.

Fin qui tutto bene :)

+0

Esiste un framework ioc più leggero per dispositivi mobili (Android). Roboguice sembra carino. Lo proverò e ti farò conoscere la mia esperienza. – dmay

+0

@dmay Quindi, cosa ne pensi? –

+0

Purtroppo mi sono trasferito in un altro progetto e non ho avuto la possibilità di esplorare ulteriormente. – dmay

15

Si dovrebbe anche provare AndroidAnnotations :).

È stato ispirato da RoboGuice, ma le associazioni e le iniezioni vengono eseguite in fase di compilazione, per evitare costi di prestazioni.

Fornisce inoltre il binding di eventi (annota un metodo per ricevere eventi di clic) e un modello di threading semplificato (annota un metodo per assicurarti che venga eseguito sul thread UI/in un thread in background).

E, naturalmente, AndroidAnnotations può essere combinato con RoboGuice.

+1

Perché combinare AndroidAnnotations con RoboGuice? – Macarse

+0

AndroidAnnotations presenta funzionalità che RoboGuice non fornisce e viceversa. RoboGuice ha un impatto su perf, soprattutto se si iniettano molti fagioli. Tuttavia, è ancora un ottimo framework e potresti volerli utilizzare entrambi in alcuni casi. –

+0

Non riesco a trovare alcun esempio di test unitario per l'iniezione di una simulazione in un'istanza di una classe configurata con AndroidAnnotations. C'è un modo per farlo (ad esempio, sostituire l'istanza da iniettare per un determinato tipo per un particolare test o classe TestCase)? – apollodude217

16

C'è anche Dagger che è più leggero di RoboGuice.

+1

Dagger 2 è l'unico DI consigliato da Google. Vedi [Google Dagger 2] (http://google.github.io/dagger/) –

0

C'è anche Spring ME, che deve essere il contenitore IOC più leggero di sempre. In realtà, non ha una dipendenza runtime, ma è comunque possibile utilizzare la configurazione Spring XML per cablare gli oggetti. Le diapositive sono here.

Problemi correlati