Approccio all'invio di moduli da un'app nativa / ibrida multipiattaforma con connessione Internet instabile

3

Ci scusiamo per la lunga domanda, ma voglio essere sicuro di definire chiaramente il mio problema.

Per la mia tesi (nell'ingegneria aerospaziale, quindi non molta esperienza di programmazione), voglio sviluppare un'applicazione mobile (prototipo) che faciliti la segnalazione di eventi legati alla sicurezza nell'aviazione africana. Sebbene il contenuto della mia tesi si concentri sugli aspetti più tecnici e sociologici della sicurezza (gestione), ho deciso di includere alcuni progetti pratici a scopo dimostrativo.

Considerando i criteri che presenterò di seguito, la mia prima ipotesi è di sviluppare un'app mobile utilizzando PhoneGap o qualcosa di simile. Ma la vita non può essere così semplice, quindi avrò bisogno di qualcosa di più di un semplice quadro. La mia domanda è, quale approccio conveniente ed efficace sarebbe quello di soddisfare la seguente descrizione?

Semplicemente questo è ciò che immagino (in parole povere):

  • Un utente (pilota, equipaggio di terra, ecc.) sperimenta o nota un evento relativo alla sicurezza
  • L'utente compila un modulo (Air Safety Report) sull'evento sul suo telefono
  • Ulteriori informazioni (foto / video) sono allegate
  • Una volta disponibile una connessione Internet stabile (siamo in Africa) il rapporto / modulo viene inviato a un server.

Ecco alcune considerazioni importanti:

  • La disponibilità limitata di internet - > Ho bisogno di una soluzione / app nativa / autonoma in modo che il giornalista non abbia tempo di attesa con i rapporti e che memorizzi i dati e li invii una volta possibile.
  • Non voglio - né dovrebbe - escludere i potenziali utenti (per molteplici ragioni) - > L'app dovrebbe essere disponibile su quante più piattaforme possibili (specialmente BlackBerry e Symbian sono ancora molto popolari in Africa!).
  • Lo sto facendo come una forma di aiuto allo sviluppo e voglio che sia disponibile a buon mercato - > open source preferibilmente.

Complessivamente, è possibile definire i seguenti criteri: Dovrebbe

  • essere open-source
  • supporta più piattaforme
  • consenti i file allegati (principalmente le immagini)
  • essere autonomo / nativo
  • supporto / consenti i servizi web
  • fornire la geolocalizzazione e il supporto per data / ora (automatizza la localizzazione del rapporto)
  • consentire l'utilizzo della fotocamera per l'allegato diretto (opzionale, ma preferibile)
  • identifica una connessione Internet e invia i dati una volta possibile
  • memorizza i dati fino all'invio

Oltre a PhoneGap (che non supporta la navigazione nelle librerie di immagini? - > apparentemente è possibile, vedere la documentazione di supporto), ho preso in considerazione i seguenti framework:

  • Mobl (non testato per tutte le principali piattaforme, nessun supporto per data / ora?)
  • QuickConnect (non supporta BlackBerry e Symbian)
  • Rodi (soddisfa i miei requisiti per quanto posso vedere)
  • Appspresso (non supporta BB e Symbian, nessuna selezione di date)

Ho letto il seguente thread su StackOverflow:

posta Arnold de Jager 12.03.2013 - 12:05
fonte

2 risposte

1

Penso che il più vicino possibile a un "approccio pratico ed efficace" che funzioni su quante più piattaforme possibili sarà una pura app web. HTML5 consente alle app basate sul Web di funzionare anche senza connessione e di archiviare i dati offline. Sembra che queste funzionalità siano supportate su Blackberry e Symbian .

Detto questo, il tuo focus su BB e Symbian rende il problema molto più difficile che sarebbe altrimenti. Rispetto a iOS e Android, il numero di sviluppatori che lavorano su queste piattaforme è piuttosto ridotto. Attenersi a un puro approccio HTML5 potrebbe aiutare qui riducendo al minimo la quantità di conoscenza specifica della piattaforma di cui avrete bisogno, ma penso che sarà ancora un percorso difficile. Invece di guardare ciò che è popolare giusto ora , pensa a come apparirà il mercato della telefonia mobile tra il momento in cui l'app diventa disponibile (ad esempio, da 6 mesi o più da ora) e in qualsiasi periodo di tempo pianifichi per supportare l'app (diversi anni, almeno). Inoltre, considera il tuo target demografico - ad esempio, potrebbe essere che i piloti abbiano maggiori probabilità di portare un dispositivo Android o iOS, specialmente considerando che ci sono un certo numero di app relative all'aviazione disponibili per quelle piattaforme.

    
risposta data 16.03.2013 - 17:30
fonte
1

Se vuoi impostare questo progetto come un progetto open source per la comunità, e devi solo iniziare con un prototipo, direi che non ha molta importanza all'inizio.

Eg. Se hai un'app per Android e una buona piattaforma API e server pubblicata, quando il progetto inizia a decollare probabilmente troverai qualcuno a fare un'app per iPhone, in modo nativo o in un framework multipiattaforma.

Inoltre, potresti iniziare guardando link o link e vedi se quelle piattaforme open source potrebbero essere la base su cui costruire. Entrambi hanno molte app client open source che puoi usare.

    
risposta data 16.03.2013 - 22:35
fonte

Leggi altre domande sui tag