2015-04-12 7 views
6

Wir haben eine angularjs Website/App geschrieben - optimiert für mobile
und verwenden Cordova, um eine HTML5 basierte mobile App zu machen.Code Share zwischen Web App und Cordova App

Der Code (html, css, js) wird für die Web-App und Cordova App
gleich sein, aber es wird einige Dateien geben, die unterschiedlich sein werden.

Wie setzen wir unsere git Repo bis zu teilen (nur) gemeinsame Dateien zwischen der Web-App-repos und dem cordova-App repos?

Offensichtlich alle .gitignore Dateien Verfolgt werden und sind für alle repos gemeinsam. Wir könnten alle Dateien hinzufügen wir nicht .gitignore im cordova Repo wollen, aber das wird die Nutzbarkeit von 3+ Web-App repos für den einen cordova Repo reduzieren.

Wir haben versucht:

  1. für die cordova App mit .git/info/excludes auf diesem Repo statt .gitignore Dateien eine lokale Repo des Projekts zu haben - aber das löst das Problem nur für schiebt aus diesem Repo , zieht nicht vom Ursprung (welche Fehler mit untracked Dateien verursachen)

  2. einen anderen Zweig einrichten - und einen git flow style Ansatz für Zwischenast für Merges verwenden - aber es ist (scheinbar) not possible zu habe eine .git/info/excludes zu einem branchenspezifischen - so wird alles überschreibt auf jedem

+0

Möglicherweise möchten Sie vorbei, diese Frage über programmers.stackexchange zu betrachten. –

Antwort

3

fusionieren würde ich weitere Informationen über das Projekt benötigen, weil sie von einer Vielzahl von Faktoren abhängen könnten: Ziele, Zeit, Budget, etc .. Aber meiner Meinung nach gibt es viel mehr Unterschiede als nur "einige Dateien" zwischen einem Web und mobilen Projekten. Zum Beispiel:

  • eine mobile Hybrid-App einige Plugins müssen einige bestimmte mobile Aufgaben und verhalten sich wie eine mobile App tun
  • eine gut optimierte Web-App zu schwer
  • Web-App für eine mobile App könnte benötigt Unterstützung auch IE aber eine mobile App nicht
  • eine gute ansprechende Web-App-Schnittstelle nicht eine mobile Schnittstelle ist und umgekehrt

Dafür würde ich drei separate Repositorys erstellen: ein AngularJS Web project und ein Ionic Mobile project. Und der dritte Repo mit einem AngularJS module, die als git submodule importiert werden. Dieses dritte Modul könnte als ein Kernmodul mit allen Funktionalitäten (Dienste, Direktiven, Filter usw.) sein, die zwischen den zwei Anwendungen geteilt werden.

Verwandte Themen