Physikbuddha
Lt. Commander
- Registriert
- Aug. 2014
- Beiträge
- 1.063
Guten Morgen zusammen,
ich habe eine App in C# mit Xamarin (Native) erstellt. Die App steht seit ein paar Monaten sowohl im AppStore für iOS, als auch im Play Store für Android bereit.
Jetzt möchte ich eine alternative Enterprise-Version dieser App für B2B-Kunden erstellen. Sie soll, ich sag mal 90 % des Umfangs der Endkundenversion enthalten. Ein paar Sachen wie In-App-Käufe und Onboarding fliegen raus, dafür kommt zum Beispiel eine Loginfunktion herein, die die In-App-Käufe ersetzt (Profil des Nutzers bestimmt die freigeschalteten Funktionen).
Nun stellt sich die Frage, wie ich das technisch umsetze.
Die komplette Projektmappe enthält 9 Projekte, davon sind 2 die eigentlichen Android- und iOS-Projekte.
Die restlichen 7 sind geteilter Code wie ViewModels, Models, Services, Helpers, Datenhaltung (Repository), ... Um die mache ich mir gar keine Gedanken.
Es geht mir also um den Code der einzelnen Apps. Die Activities bzw. ViewController sind nicht gerade klein.
Spontan ging mir so durch den Kopf:
Unter iOS habe ich wiederum mein großes Storyboard als eine einzige Datei, die ich nicht einfach splitten kann, bzw. der Übersichtlichkeit halber nicht möchte.
Ich stehe jetzt also so ein bisschen auf dem Schlauch, wie ich an dieses Problem am besten herangehe.
Habt ihr Ideen oder Anregungen dafür? Kann ich weitere Informationen geben, die ich vergessen habe?
Gruß vom Physikbuddha
ich habe eine App in C# mit Xamarin (Native) erstellt. Die App steht seit ein paar Monaten sowohl im AppStore für iOS, als auch im Play Store für Android bereit.
Jetzt möchte ich eine alternative Enterprise-Version dieser App für B2B-Kunden erstellen. Sie soll, ich sag mal 90 % des Umfangs der Endkundenversion enthalten. Ein paar Sachen wie In-App-Käufe und Onboarding fliegen raus, dafür kommt zum Beispiel eine Loginfunktion herein, die die In-App-Käufe ersetzt (Profil des Nutzers bestimmt die freigeschalteten Funktionen).
Nun stellt sich die Frage, wie ich das technisch umsetze.
Die komplette Projektmappe enthält 9 Projekte, davon sind 2 die eigentlichen Android- und iOS-Projekte.
Die restlichen 7 sind geteilter Code wie ViewModels, Models, Services, Helpers, Datenhaltung (Repository), ... Um die mache ich mir gar keine Gedanken.
Es geht mir also um den Code der einzelnen Apps. Die Activities bzw. ViewController sind nicht gerade klein.
Spontan ging mir so durch den Kopf:
- Sämtliche Dateien einfach kopieren. Wenn dann aber mal in Zukunft neue Funktionen hinzukommen sollen, muss ich sie in allen 4 Versionen nachrüsten, und dabei würde ich potentiell zu viel übersehen. Ich könnte immer WinMerge drüberjagen lassen, um mir die Unterschiede anzuzeigen, aber das klingt nicht wirklich praktikabel.
- Komplette Ordner oder Dateien, die 1:1 übernommen werden können per Symlink/Junction rüberziehen. Hat wiederum den Nachteil, dass ich den Namespace nicht ändern kann. Außerdem hab ich da Probleme mit Git gehabt, aber das könnte man vielleicht lösen.
- Irgendeine Art Shared-Android- oder -iOS-Projekt erstellen, und dort den doppelten Code reinhauen, aber das ist mir bislang nicht gelungen.
Unter iOS habe ich wiederum mein großes Storyboard als eine einzige Datei, die ich nicht einfach splitten kann, bzw. der Übersichtlichkeit halber nicht möchte.
Ich stehe jetzt also so ein bisschen auf dem Schlauch, wie ich an dieses Problem am besten herangehe.
Habt ihr Ideen oder Anregungen dafür? Kann ich weitere Informationen geben, die ich vergessen habe?
Gruß vom Physikbuddha