2016-07-14 20 views
0

Ich frage mich seit einiger Zeit, warum sollte ich Ember in Kombination mit Rails verwenden?Warum Ember.js mit Rails verwenden?

RoR hat Templating-System, Ember hat eins.

Sie haben beide:

  • Modelle
  • Ansichten
  • partials
  • usw.

Kann jemand mir erklären, warum sollte ich sie in einer Kombination verwendet werden?

+0

Die MVC-Struktur in Ember gilt für die Clientseite der Anwendung. Wenn Sie so etwas verwenden, können Sie Ihre Rails-App problemlos auf eine REST-konforme JSON-API reduzieren und Probleme konsequenter trennen. – jaydel

Antwort

2

Die Schönheit von Ember ist, dass es vollständig Client-Seite ist. SPA's werden nur am Frontend ausgeführt und können daher nicht direkt mit einer db interagieren. Sie können jedes gewünschte Backend verwenden, solange es so reagiert, wie es Ihrem Datenadapter entspricht.

Wie Sie bereits erwähnt haben, hat RoR sein eigenes Vorlagensystem. Sie haben beide Modelle, View und Partials. Der Unterschied ist, dass RoR serverseitig rendert. Der Client ruft Ihr Backend an, erstellt die Vorlagen und die benötigten Informationen und sendet ein vollständig formatiertes HTML-Dokument zurück. Es durchläuft diesen Prozess für jeden einzelnen Anruf.

Mit Ember verwenden Sie überhaupt kein serverseitiges Rendering. Es ist alles auf dem Client gemacht. Alles wird dynamisch geladen. Sie rufen eine API auf und geben die Informationen zurück, die Sie zum Erstellen der Seite benötigen.

Ich persönlich habe nie RoR mit Ember verwendet. Ich habe elixir/phoenix und Node/express beide als Backend-APIs verwendet. Tatsache ist, dass Sie Ember mit irgendeiner Art von Backend verwenden müssen oder es ist etwas eingeschränkt in dem was es tun kann.

RoR auf der anderen Seite kann ein komplettes System für sich sein. Wenn Sie RoR in Verbindung mit Ember verwenden, verwenden Sie RoR als einfachen Endpunkt zum Abrufen und Speichern von Daten aus.

Persönlich mag ich Ember als mein Frontend, weil ich meine Vorder- und Rückseite einfach so entkoppeln kann. Fühlen Sie sich nicht auf RoR beschränkt. Sie können jede Sprache/jedes Backend verwenden, um eine API zu erstellen, um Ember zu tanken, aber wenn Sie Ember verwenden, müssen Sie ein Backend auswählen, um Ihre API zu aktivieren und mit der DB zu interagieren.

+0

Vielen Dank! :) –