Mobile Web App - si combina con l'app web esistente o li separa

5

L'azienda per cui lavoro ha già un'app web completamente funzionale scritta in java con framework JSF. Sono ora in procinto di creare una versione mobile di questa app Web e di avere alcune domande generali su dove mettere questa app Web mobile.

  1. Questa app web mobile dovrebbe essere un progetto separato, confezionato in una guerra diversa e installato come app separata nel server o dovrebbe far parte dell'applicazione web esistente, incluso nella stessa guerra e installato come lo stesso app nel server?

  2. L'app web mobile utilizza jsf Manage Beans della web app esistente? Ad esempio, disponiamo già di un'app di registrazione degli ordini composta da diversi jsf Manage Beans e jsf pages. Per creare la versione mobile di questa app, dovrei semplicemente creare una nuova versione mobile delle pagine jsf ma usare tutte le jsf Manage Beans esistenti in quelle jsf mobile? Mi imbatterò in un problema perché il flusso di pagine dell'app web mobile potrebbe essere diverso dal flusso di pagine dell'app Web? Ma se non riuso, sembra che ci sarà un sacco di codice duplicato.

posta HockChai Lim 24.06.2015 - 21:16
fonte

3 risposte

1

A seconda dell'architettura utilizzata dall'app web corrente. Quando si ha a che fare con più canali come nel tuo caso, è consigliabile disporre di un sistema centrale che gestisca la logica aziendale e l'accesso ai dati. Inoltre, impilerai i tuoi thin client come app web, app per dispositivi mobili, app per android, ecc ...

Direi, se possibile, di ridefinire l'app Web il più possibile per separare la logica aziendale e il livello di presentazione. Quindi utilizza il livello della logica aziendale come un comune, mantenendo contemporaneamente due diversi progetti per i client.

    
risposta data 24.06.2015 - 21:32
fonte
0

(1) dipende dai cicli di vita previsti della tua app Web e dalla versione mobile dell'app. Se date entrambi sempre lo stesso numero di versione e li distribuite entrambi simultaneamente, è più logico mantenerli nello stesso progetto. Se i cicli di vita sono in qualche modo diversi (ad esempio, crei una nuova versione della tua app mobile ogni 3 mesi, ma una nuova versione della tua app web ogni giorno), allora è meglio tenerli come progetti diversi.

(2) dipende da (1). Se il ciclo di vita di entrambi è lo stesso, probabilmente sarà molto più facile avere componenti condivisi, dal momento che è sempre possibile utilizzare la stessa versione di tali componenti. Se il ciclo di vita è diverso, riutilizzare i "Managed Beans" non è impossibile, ma probabilmente necessiterà di molta più cura e gestione della configurazione, in modo da non incorrere in problemi quando una versione di app mobile precedente accede agli stessi dati prodotti con una versione più recente della tua app Web.

    
risposta data 24.06.2015 - 21:28
fonte
0

Dipende da molti fattori, ma essenzialmente:

Se hai scritto l'app web o hai molta esperienza con essa O che lo script app web è costruito con la logica / etc (piuttosto che essere un thin client che chiama un'API) potrebbe essere più facile per te averlo alimenta display diversi e usa la stessa logica.

Tuttavia, se l'app è basata su server / client (in cui l'app Web funge da client che parla a un servizio / server tramite un'API), è probabilmente molto più semplice avviare un progetto diverso e modificare l'app Web originale in reindirizzare all'app Web mobile. Se tutto è scritto con un framework decente, potresti scoprire che puoi gestire tutto il materiale di visualizzazione mobile / desktop tramite HTML / CSS / JS con modifiche minime del back-end.

Personalmente, non ho mai scritto un'app web in cui il desktop / mobile sia gestito in HTML / CSS / JS con l'eccezione di quando stavo provando Foundation per ZURB, faccio notare con Foundation che è un incubo convertire un sito to Foundation come l'idea generale è di progettare per dispositivi mobili prima e scalare fino al desktop (che è molto più semplice rispetto al contrario).

    
risposta data 02.10.2016 - 13:13
fonte

Leggi altre domande sui tag