Qual è il metodo offline migliore per l'applicazione su larga scala

1

Abbiamo un grande sito Web di gestione dei dati utilizzato da diverse proprietà. Alcuni dei nostri clienti hanno tempi di inattività (non possono accedere alla rete per un'ora o due). Vogliamo che il nostro sito supporti la visualizzazione dei dati offline e la gestione dell'inventario (ricerca e aggiunta di dati tipici) e quando l'utente va online possiamo sincronizzare le modifiche al nostro database centrale. I clienti utilizzano diverse piattaforme come Windows, iOS, ecc.

Abbiamo esaminato diverse opzioni, ecco le principali opzioni:

Sviluppa app web offline supportata in HTML5. Sviluppa un meccanismo di "fallback" e interagisci con i dati della cache dell'app come spiegato qui ( link applications-using -)

Sviluppa una soluzione multipiattaforma basata su desktop. Ricordo il vecchio MONO che è stato popolare. Ecco un post ( Che cosa suggerisci per le app multipiattaforma, incluso il web multipiattaforma-app-inclusive-web) e un'altra ( Scelta tecnologica per lo sviluppo multipiattaforma ( desktop e telefono)? piattaforma di sviluppo-desktop-e-telefono? rq = 1)

Mi rendo conto che la soluzione desktop potrebbe essere difficile da mantenere e comportare alcuni problemi di compatibilità e ambienti di test della domanda.

HTML5 può gestire complessità e flusso di dati da moderato ad alto? O sarebbe meglio fare affidamento su un'app desktop per una migliore scalabilità e amp; prestazioni?

    
posta Manish Pansiniya 22.10.2013 - 19:54
fonte

3 risposte

4

Se puoi ignorare le aspettative del management e del cliente, insieme al set di competenze esistenti del tuo team e al codice esistente, sceglierei la soluzione desktop. In effetti, elimina completamente il sistema del browser e fai tutto dal desktop.

A lungo termine, un'applicazione desktop, scritta in un linguaggio come C # o Java, ha ottenuto per essere ampiamente più facile da gestire rispetto a un sistema web su larga scala scritto in HTML e Javascript. A meno che le persone non debbano raggiungere il tuo sito utilizzando normali macchine (come quella che hanno appena trovato nella biblioteca pubblica) con normali browser, renderei il sistema un'app.

(Cioè, se puoi ignorare ...)

    
risposta data 22.10.2013 - 20:42
fonte
0

Definisci "migliore". Quella parola significa cose diverse per persone diverse quando viene chiesto in momenti diversi.

Suggerirei HTML5 (specialmente se i tuoi utenti non possono sempre installare app) se tu o il tuo team siete esperti in Javascript e HTML / CSS. Sento che JS è un linguaggio molto efficace e facile da gestire se capisci bene come usarlo.

Se tu o la tua squadra siete più esperti con Mono e altri, allora farei questa direzione. Tuttavia, presumerei di implementare la modalità offline e la sincronizzazione in Mono sarebbe un po 'più complessa che in JS con le API di HTML5.

Gli approcci in modalità offline sono tutti abbastanza simili in quanto è necessario monitorare localmente i dati ed essere in grado di sincronizzarli con successo dallo schema locale a uno schema remoto mentre in modo efficace (idealmente automaticamente) risolvere i problemi di diff / merge.

    
risposta data 22.10.2013 - 21:06
fonte
0

Se stai andando in HTML5 ho sviluppato un progetto per fare proprio questa cosa!

Utilizza i principi del controllo delle versioni per rilevare i conflitti ed è generalmente abbastanza ben congegnato con una buona documentazione sui principi di funzionamento e che sarà utile anche se non lo usi e una demo molto tecnica .

Ho appena aggiunto un componente server MongoDB in un ramo che presto sarò integrato nel master.

Puoi vedere il progetto su GitHub

Matt

    
risposta data 23.10.2013 - 10:36
fonte

Leggi altre domande sui tag