2016-03-24 5 views
0

Ich bin der Meinung, dass mehrere Web-Anwendungen entwickeln, die das gleiche Backend und Datenbank teilen. Ich dachte, dies zu tun, indem Sie eine einzelne Rails JSON API mit einer Postgresql-Datenbank entwickeln. Ich würde dann meine verschiedenen "Client" -Schienenanwendungen haben, die dieselbe JSON-API entweder in AJAX (unter Verwendung von JQUERY) oder durch ihre eigenen Schienencontroller anfordern.Haben verschiedene Rails App mit dem gleichen Backend und Datenbank

Was halten Sie von dieser Lösung? Gehe ich in die richtige Richtung? Gibt es etwas Besseres zu tun?

==> Ich dachte auch vielleicht ist es möglich, eine einzige Rails-App zu haben, die je nach Herkunft der Anfrage ein anderes HTML ausgibt? Was denken Sie ?

+0

Ja, es ist möglich, verschiedene Layouts und Ansichten je nach Anfragetyp und Ursprung zu rendern. Sie sollten mit dieser Idee der Single-Rails-Anwendung gehen. –

+0

danke @MuhammadYawarAli für Ihre Antwort. Könntest du erklären, wie du das machst (bisher habe ich nur die Möglichkeit gesehen, verschiedene Formate abhängig von der Art der Anfrage zu rendern). Auch was denkst du ist falsch mit dem JSON API Ansatz? –

+0

Es gibt nichts falsch mit JSON API Ansatz und ich verwendet Layout ändern Methode zum Rendern verschiedener Ansichten mein scenairio war, verschiedene Ansichten anzuzeigen, wenn auf dem Desktop-Browser geöffnet und für mobile Browser unterschiedlich, so schrieb ich eine Route-Methode in der Anwendungs-Controller, um die Route festzulegen basierend auf Anforderungsheadern. Es funktionierte gut und App ist jetzt live. –

Antwort

0

Der JSON-Ansatz ist langsamer, als wenn Ihre Anwendung je nach Anforderung anders geliefert wird. Sie müssten JSON-Objekte erstellen und parsen, die 2-Wege-Kommunikation dieses Objekts handhaben, es ist deutlich mehr Arbeit pro Anfrage.

Sie können alle Arten von Informationen aus dem Anfrageobjekt in Ihren Controllern finden, z. B. request.referer für die Quelle der eingehenden Anfrage. Anhand dieser Informationen sollten Sie in der Lage sein, eine Entscheidung darüber zu treffen, wie Sie Ihre Daten für den Benutzer bereitstellen können.

+0

Die Wahrheit ist, ich habe bereits mit dem JSON-API-Ansatz begonnen, ich könnte von vorne anfangen. Ich bemerkte auch, dass meine App mit dem API-Ansatz sehr langsam war, da das Grundmuster darin besteht, zuerst den Controller der Client-Rails-App zu durchlaufen, der dann für den Aufruf der API verantwortlich ist, die dann die JSON-Antwort rendert. Wenn ich mich daran halte, habe ich überlegt, jede Anfrage mit AJAX zu machen, um die API direkt asynchron aufzurufen, aber dann sehe ich nicht wirklich die Möglichkeit, Rails für die Client-App zu verwenden. Wäre AngularJS oder ReactJS dann eine bessere Wahl? –

Verwandte Themen