2016-09-28 3 views
0

Wir haben ein einfaches Szenario mit einer Web-App und einer mobilen App. Beide Apps verwenden eine serverseitige Web-API. Unsere Geschäftslogik befindet sich nur auf dieser API.Verwenden von Firebase ohne Duplizierung der Geschäftslogik

Wir migrieren von AWS RDS zu Firebase. Ich sehe überall, dass ich keinen Server-Side-Code mit Firebase verwenden muss, aber wie kann ich Firebase direkt von meiner App aus (Mobile und Web) aufrufen, ohne meine Geschäftslogik auf beiden Anwendungen zu duplizieren?

Ich verstehe, dass dieser Ansatz (nur Firebase ohne serverseitigen Code verwenden) für einfache Anwendungen ist. Aber fast jede App, die ich mir vorstellen kann, muss eine serverseitige API haben, wenn ich meine Logik nicht replizieren will.

Fehle ich etwas oder muss ich wirklich eine serverseitige API noch haben?

+1

Das erste, was in den Sinn kommt, ist „Warum?“, Warum Sie eine Server-Seite api müssen? Deine Frage ist sonst zu weit gefasst. Wie immer geht fast alles von Fall zu Fall; die meiste Zeit werden Sie es gut machen, indem Sie die ganze Arbeit am Client erledigen und die Sicherheit der Datenbank überlassen (sehr wichtig, um zu lernen, wie man gute Sicherheitsregeln schreibt), und fast immer in einem großen Projekt werden Sie ein paar Funktionen brauchen läuft auf dem Server, um zu vermeiden, dass private Schlüssel oder ausführender Code offengelegt werden, die Sie möglicherweise nicht auf dem Client ausführen können (aber dies ist die Ausnahme, nicht die Regel). –

+0

Ich stimme dir zu. Aber lass mich dir einen Zusammenhang geben. Lass uns sagen, jedes Mal, wenn ich ein neues Produkt hinzufüge, muss eine E-Mail gesendet werden. Ich muss diese Regel auf beiden Anwendungen (Web End Mobile) schreiben? Stellen wir uns vor, dass sich meine Logik ändert ... Muss ich mich an alles erinnern, wo ich diese Logik einsetze? Mit einer API müsste ich nur einen Ort aktualisieren. Stellen Sie sich nun das Szenario vor, in dem ich eine Web-App, eine iOS-App, eine Wp-App und eine Android-App habe. Ich müsste meinen Code überall aktualisieren. Es ist nicht schwer sich vorzustellen, dass etwas vermisst wird. –

+0

Oh, richtig, ich habe so lange mit Cross-Platform-Javascript gearbeitet, dass ich diese Probleme XD vergessen habe. Ja, in diesem Fall muss man wohl genauso weiterarbeiten. Denken Sie immer noch, es wäre nützlicher, wenn Sie eine spezifischere Frage zu einem realen Szenario stellen würden, wenn Sie mehr Einblick in Ihre Ideen bekommen möchten. –

Antwort

0

Es klingt wie Sie suchen eine einmal-Lauf überall kann solution.You betrachten:

  • web-basierte Lösungen (zB progressive Web-Anwendungen)
  • Hybridlösungen (zB Ionic)
  • nahezu native Lösungen (zB Reagieren Ureinwohner, NativeScript)
  • Crosskompilierung Lösungen (z. B. Intel XDK)

... ein D wahrscheinlich ein paar andere Kategorien.

Wenn keiner der Ihren Anforderungen entspricht, müssen Sie:

  • die Logik in Firebase Sicherheitsregeln einzubetten und/oder
  • schreiben einen Vermittler oder Hilfsserver (siehe diese article on application architectures) und/oder
  • doppelte Logik in Anwendungen in der nativen Technologie von iOS und Android
+0

Eigentlich verwenden wir Ionic für unsere mobile Version und angular2 für unsere Webversion. Ich sagte iOS, Android, wp nur zur Veranschaulichung. Die einfache Frage ist: Ist es besser, meine Geschäftslogik auf beiden Apps (Web und Ionic) zu replizieren oder eine Web-API als Middleware zwischen den Apps und Firebase zu verwenden und die Logik an nur einem Ort zu halten? –

Verwandte Themen