Frage

Ich lerne, Rails und haben sehr wenig Ahnung von Sinatra & Merb. Ich frage mich, sind die Situationen, in denen Sie verwenden würden Merb / Sinatra.

Vielen Dank für Ihr Feedback!

War es hilfreich?

Lösung

Sinatra ist ein viel kleineres, leichteres Gewicht Rahmen als Rails. Es wird verwendet, wenn man schnell etwas aufstehen laufen will, dass die Versendungen in unmittelbaren von wenigen URLs und gibt einigen einfachen Inhalt. Werfen Sie einen Blick auf die Sinatra Startseite ; das ist alles, was Sie brauchen eine „Hallo, Welt“ bis zu bekommen und lief, während in Rails müßten Sie eine ganze Projektstruktur erzeugen, einen Controller und eine Ansicht, Routing einrichten, und so weiter (ich habe nicht eine Rails-Anwendung in einer Weile geschrieben, damit ich weiß nicht genau, wie viele Schritte „Hallo, Welt“ ist, aber es ist sicherlich mehr als Sinatra). Sinatra auch weit weniger Abhängigkeiten als Rails hat, so ist es einfacher zu installieren und auszuführen.

Wir sind mit Sinatra als Schnelltest Web-Server für einige Web-Client-Bibliotheken, die wir jetzt gerade schreiben. Die Tatsache, dass wir eine einzige Datei schreiben können, und umfassen alle unsere Logik, daß eine Datei, und haben nur sehr wenige Abhängigkeiten, bedeutet es viel einfacher ist, mit zu arbeiten und unsere Tests als ausgeführt, wenn Sie eine Rails-Anwendung haben.

wird in Rails verschmolzen, so hübsch bald es nicht wirklich ein Grund, soll einen über die andere zu verwenden. Es wurde ursprünglich entwickelt, um ein wenig geringeres Gewicht und mehr entkoppelten als Rails zu sein; Rails hatte mehr in Annahmen gebaut, die Sie Active verwenden würden. Aber als sie die beiden verschmelzen, entkoppeln sie Rails in ähnlicher Weise, also, wenn Sie bereits Rails zu lernen, dann ist es wahrscheinlich lohnt sich nur mit dem Stick und die Entwicklungen folgen, wie sie kommen.

Andere Tipps

Ich kann nicht viel für Merb sprechen, aber Sinatra ist sehr effektiv für kleine oder Leichtbaulösungen. Wenn Sie nicht mit einer ganzen Menge von Code arbeiten, oder nicht eine große Website benötigen, können Sie eine sehr effektive Website mit Sinatra Code entweder so schnell oder doppelt so schnell wie auf Schienen (in meiner eigenen Meinung nach).

Sinatra ist auch hervorragend für die fragmentarischen Stücke einer Anwendung, zum Beispiel das Front-End zu einem Statistikpaket. Oder so etwas wie ErrCount , die nur ein wirklich einfacher Trefferzähler ist.

denken also über das Licht, schnell und sehr stark vereinfacht Web-Anwendungen (obwohl Komplexität Ihrer Wahl) bei der Verwendung von Sinatra.

Die Art und Weise die Dinge laufen, es bald eine offene Frage sein wird.

Wie bereits erwähnt, Merb 2.0 und Rails 3.0 werden die gleiche Sache sein. Die neu kombiniert Merb und Rails Kernteams sind bereits bei der Arbeit auf, dass zu erreichen. Ich weiß nicht, ob sie noch auf einer Releaseplanung (wahrscheinlich eine Beta) von RailsConf im Mai, aber es geschieht auf jeden Fall in diesem Jahr.

Wenn Sie tot Satz sind auf Verwendung eines ORM andere als Active, zum Beispiel, könnten Sie mit Merb jetzt beginnen und zu aktualisieren, wenn 2.0 (Rails 3.0) Schiffe. Gerade jetzt, Merb ist allgemein anerkannt, einen besseren Rahmen für die eigenen Komponenten als Rails variiert wird.

Sinatra sieht aus wie eine brillante Lösung für eine Web-Anwendung, die geringe Schnittstelle Komplexität hat und etwas niedrigeren Modell-Level-Code als normal wäre für Merb / Rails. wäre ein großer Einsatz unkompliziert RESTful APIs implementieren. Ich bin weniger überzeugt von seinem Wert, wenn eine Menge von HTML beteiligt ist, noch viel weniger, als Templat einlässt.

Auch mit Rails (und damit bald Merb) jetzt auf der Rack-sitzen, gibt es keinen Grund, nicht zu zählen Baby Sinatra apps in die Lösung: sie können zusammen leben. Es gibt einem Blog Post, dass die sehr Konzept diskutiert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top