2017-05-29 7 views
1

Ich bin ein Highschool-Student und versuche ein Netzwerk von Web-Anwendungen für verschiedene Zwecke für meine Schule zu machen. Ich benutze React on Meteor, aber ich weiß nicht, wie diese Apps am besten zu strukturieren sind. Die Apps verwenden dieselben Benutzerkonten und können sich automatisch anmelden, wenn sie bereits in einer anderen Anwendung in diesem Netzwerk angemeldet sind. Ich muss auch Admin-Apps für jede kleine Anwendung erstellen.mehrere Meteor-Apps mit dem gleichen Backend

Um dies zu tun, denke ich, dass ich DDP verwenden muss, um Daten in diesen Anwendungen zu verbinden? Wenn ja, sollte ich eine Back-End-Meteor-Anwendung erstellen, die die Benutzer und die Datenbank steuert, und Front-End-Meteor-Anwendungen für die verschiedenen Zwecke trennen?

Wie würden Sie mir empfehlen, diese Apps zu strukturieren? Ich danke dir sehr!

Antwort

0

Sie sind auf dem richtigen Weg. Eine Meteor App wird das Backend sein, die anderen Meteor Apps werden Clients für Ihre Master App sein. DDP ist der Weg zu gehen. Sobald Sie einen Client über DDP mit Ihrer Server-App verbinden, verhält sich Ihr Frontend genau so, als wären Ihre beiden Apps dieselbe App. Es funktioniert sehr gut.

Hier ist die DDP.connect (url) doc ist: here

Das von den offiziellen Meteor guide ist:

Gemeinsame Nutzung von Daten Ein weiterer wichtiger Aspekt ist, wie Sie die Daten zwischen Ihren verschiedenen Teilen werden Anwendungen.

Der einfachste Ansatz besteht darin, beide Anwendungen auf die gleiche MONGO_URL zu verweisen und es beiden Anwendungen zu ermöglichen, direkt aus der Datenbank zu lesen und zu schreiben. Dies funktioniert gut dank der Unterstützung von Meteor für die Reaktivität durch die Datenbank. Wenn eine App einige Daten in MongoDB ändert, werden Benutzer anderer mit der Datenbank verbundener Apps die Änderungen dank der Live-Abfrage von Meteor sofort sehen.

In einigen Fällen ist es jedoch besser, eine Anwendung als Master zuzulassen und den Zugriff auf die Daten für andere Anwendungen über eine API zu steuern. Dies kann hilfreich sein, wenn Sie die verschiedenen Anwendungen in unterschiedlichen Zeitplänen bereitstellen und vorsichtig sein müssen, wie sich die Daten ändern.

Die einfachste Möglichkeit, eine Server-Server-API bereitzustellen, besteht darin, das in Meteor integrierte DDP-Protokoll direkt zu verwenden. Dies ist die gleiche Art und Weise, wie Ihr Meteor-Client Daten von Ihrem Server empfängt, Sie können ihn aber auch für die Kommunikation zwischen verschiedenen Anwendungen verwenden. Sie können DDP.connect() verwenden, um eine Verbindung von einem "Client" -Server mit dem Masterserver herzustellen, und dann das Verbindungsobjekt verwenden, das zum Ausführen von Methodenaufrufen und zum Lesen von Veröffentlichungen zurückgegeben wird.

+0

Vielen Dank für die Antwort! Es hilft mir sehr. – Leo

+0

Ich habe nur noch eine weitere Frage: Wenn ich Änderungen an der Datenbank in einer dieser Client-Anwendungen vornehmen möchte, mache ich das mit Meteor-Methoden? (weil ich keinen direkten Zugriff auf die Datenbank habe, sondern nur den DDP) – Leo

+0

Ja, Sie müssen Methoden verwenden. Verwenden Sie immer Methoden, um Ihre Datenbank in Meteor einzufügen oder zu aktualisieren. –

Verwandte Themen