2015-04-12 25 views
6

Abbiamo scritto un sito/app angularjs ottimizzato per il cellulare
e stiamo usando cordova per creare un'app mobile basata su html5.condivisione codice tra web app e cordova

Il codice (HTML, CSS, JS) sarà la stessa sia per il web app e Cordova app
ma ci saranno alcuni file che sarà diverso.

Come configurare il nostro repository git per condividere (solo) file comuni tra i repository di app Web ei repository di app cordova?

Ovviamente tutti i file .gitignore sono tracciati e sono comuni a tutti i repository. Potremmo aggiungere tutti i file che non vogliamo nel repository Cordova a .gitignore ma questo ridurrà l'usabilità di 3+ ​​repository web app per l'unico repository cordova.

Abbiamo provato:

  1. Avere un repo locale del progetto per l'applicazione Cordova con .git/info/excludes su quella dei pronti contro termine, invece di .gitignore file - ma questo risolve solo il problema per spinge da quella dei pronti contro termine , non tira dall'origine (che causerà errori con i file non monitorate)

  2. Impostazione di un ramo diverso - e utilizzare un approccio git flow style alla succursale intermedio per unioni - ma è (apparentemente) a not possible hanno un .git/info/excludes specifica per un ramo - quindi tutto sarà sovrascritto in ogni unione

+0

Si consiglia di considerare di passare questa domanda a programmers.stackexchange. –

risposta

3

avrei bisogno di maggiori informazioni sul progetto, perché potrebbe dipendere da una varietà di fattori: gli obiettivi, il tempo, budget, ecc .. Ma a mio parere ci sono molte più differenze rispetto a "alcuni file" tra un progetto web e uno mobile. Per esempio:

  • un cellulare ibrido app bisogno di alcuni plug-in per fare alcuni compiti mobili specifici e comportarsi come un app mobile
  • una web app ben ottimizzato potrebbe essere troppo pesante per un app mobile
  • web app bisogno di sostegno anche IE, ma un app mobile non
  • una buona reattività interfaccia web app non è un'interfaccia cellulare e viceversa

Per questo mi creerebbe tre repository separati: un AngularJS Web project e uno Ionic Mobile project. E il terzo repo con un AngularJS module che verrà importato come git submodule. Questo terzo modulo potrebbe essere un modulo Core con tutte le funzionalità (servizi, direttive, filtri e così via) che saranno condivisi tra le due applicazioni.

Problemi correlati