Sviluppo di applicazioni su larga scala in Android

6

Dato che sono abbastanza nuovo per lo sviluppo di app su larga scala in Android e Java, ho pensato di chiedere un consiglio.

Il mio team si trova di fronte allo sviluppo di un prototipo di un software medico abbastanza complesso. Anche se è solo un prototipo, penso che potrebbe essere una buona opportunità per imparare una nuova piattaforma e entrare in buone abitudini.

I nostri requisiti di progettazione sono abbastanza semplici: un insieme di file comuni: temi, stili, oggetti, metodi statici per database ecc. e poi una serie di "app" più piccole come: test digitali, giochi ecc. Ognuno è abbastanza unico .

Il nostro pensiero iniziale è quello di creare una serie di applicazioni più piccole che verranno lanciate da "la schermata principale". Ogni applicazione sarebbe un progetto separato in Eclipse e quindi dovremmo modificare il percorso di costruzione per includere i "file comuni". In questo modo: ogni sviluppatore può lavorare sui propri progetti senza disturbare gli altri.

I problemi che trovo con questo approccio:

  1. Distribuzione dell'applicazione (con un gruppo di applicazioni invece di una grande)
  2. Test dell'applicazione
  3. Uso di stringhe per avviare un'altra applicazione, ovvero preoccuparsi che l'applicazione sia stata installata
  4. Errori umani stupidi, ad es. modifica di file comuni e dimenticanza di commit delle modifiche

Un'altra soluzione sarebbe quella di creare un'unica grande applicazione / progetto con ogni sviluppatore che lavora su un pacchetto separato che rappresenterebbe ogni app. Tuttavia, questo introduce risorse comuni (ad esempio nomi di stringhe univoci) ecc.

Qual è il tuo consiglio sul modo migliore per affrontare questo problema? Quale approccio è migliore a lungo termine? Esistono altri approcci più sensati?

    
posta Dawid O 02.09.2014 - 22:51
fonte

1 risposta

3

Se le app sono distinte in termini di dati e finalità, ritengo che modularizzarle, rendendo un numero di pezzi separati più piccoli, è meglio. Se non condividono i dati e se non hanno un strong accoppiamento in termini di utilizzo da parte dell'utente, farei in modo di tenerli separati e piccoli.

Tutto dipende dall'accoppiamento tra le app piuttosto uniche. Se ognuno è isolato e non dipende da molte altre cose, sarà più facile testare a un livello più alto. Sarà più facile isolare i bug. Più semplice da aggiornare.

Puoi utilizzare la funzionalità di gestione dei pacchetti (ad es. queryIntentActivities) per trovare e aiutare a lanciare le altre attività per aggirare i problemi di lancio di altre app.

I problemi legati alla dimenticanza di apportare modifiche e altri problemi di tale natura non sono problemi di codifica o di progettazione del sistema, sono pratiche e problemi di processo.

    
risposta data 08.04.2015 - 15:18
fonte

Leggi altre domande sui tag