2010-05-28 3 views
7

Das ist ein bisschen eine seltsame Metaprogrammierungsfrage, aber ich habe erkannt, dass mein neues Projekt kein vollständiges MVC-Framework benötigt, und da ich ein Rails-Typ bin, bin ich mir nicht sicher, was ich jetzt verwenden soll.Welcher Tech Stack/Plattform für ein Projekt?

Um Ihnen einen Überblick über die notwendige Funktionalität zu geben; Diese Website zeigt statische Seiten an, aber Benutzer können sich anmelden und ihre aktuellen Pläne bearbeiten. Der gesamte Einkauf und die Kreditkartenbearbeitung werden von einem Abonnenten mit wiederkehrenden Zahlungen abgewickelt. Ich brauche nur eine Seite, um den aktuellen Plan zu bearbeiten. All dies wird über (dynamische) XML-API-Aufrufe erfolgen, sodass keine Datenbank erforderlich ist.

Sollte ich bei meinem typischen rails/nginx-Stack bleiben, oder gibt es etwas, das ich verwenden könnte, würde das die Last erleichtern, da ich das Rails-Heft nicht brauche. Ich bin mit Python und PHP vertraut, würde es aber vorziehen, diesen Weg nicht zu gehen. Ist Sinatra hier eine gute Wahl?

tl; dr: Was ist ein guter Weg, schnell meist statische Seiten, vorzugsweise in Ruby, mit einigen Seiten, die dynamisches XML-Rendering erfordern, zu bedienen?

Antwort

5

Wenn Sie bei Ruby bleiben wollen, wäre Sinatra in Ordnung, genauso wie Rails Metal.

+1

Ich habe noch nie von Rails Metal gehört, danke! – dannyzlo

0

Wenn Sie Rails kennen, warum bleiben Sie nicht einfach dabei? Auf diese Weise können Sie alle Authentifizierungsfeatures usw. verwenden, die Sie gewohnt sind, ohne dass Sie eine andere Plattform erlernen müssen und die damit verbundenen Implementierungsrisiken eingehen müssen. Wenn die Anwendung jemals über das hinausgeht, was Sie erwarten, sind Sie bereits auf einer soliden Basis.

+0

Mein Argument für die Suche nach Außenschienen ist, dass ich nicht das Gewicht der gesamten Codebasis für etwas so einfaches brauche. Der einzige dynamische Inhalt besteht hier aus API-Aufrufen, einschließlich der Authentifizierung. Alles, was ich tun muss, ist, die statischen Seiten schnell bereitzustellen und dann in der Lage zu sein, dynamisch XML in Ansichten zu generieren und XML von Anfragen zu analysieren. – dannyzlo

+0

@Danny Z: Ich verstehe, was Sie sagen, aber wenn Sie ein anderes Framework in den Mix integrieren, erhöhen Sie die Gesamtkomplexität Ihres Lösungsportfolios, die Sie unterstützen müssen, da Sie das neue Framework lernen müssen. Implementieren Sie die Implementierung, verfolgen Sie Änderungen daran usw. Wenn Sie keine wirklich strengen Einschränkungen für die Laufzeit haben, die Ihnen vom Kunden aufgezwungen wird, ist es manchmal besser, sich an das zu halten, was Sie wissen. Nur meine $ 0,02 wert. –

+0

Diese Denkrichtung führt zu "alles was ich habe ist ein Hammer, also ist jedes Problem ein Nagel." – x1a4

3

Wenn Sie sich etwas abenteuerlustig fühlen und nützliche Erfahrungen mit der von rails verwendeten Technologie sammeln möchten, können Sie versuchen, eine Rack-Anwendung zu erstellen. Es ist eine ziemlich einfache API, um auf generische HTTP-Abfragen reagieren zu können, und von dort aus können Sie schnell statische Dateiverarbeitung und XML-Verarbeitung erstellen. Es ist auch wesentlich schneller, Seiten zu starten und zu bedienen als Schienen.

http://github.com/cloudhead/toto ist ein Beispiel für eine anständige Rack-basierte Anwendung.

+0

Ein Blick darauf, danke! Hast du Vorschläge für ein gutes How-To? Oder irgendetwas von der Art – dannyzlo

+0

Es gibt einen Railscast auf diesem tatsächlich. Das wäre möglicherweise ein guter Ort, um http://railscasts.com/episodes/151-rack-middleware zu starten. Er integriert es in dieser Episode in Rails, aber es stellt Ihnen die API vor. – Ceilingfish

Verwandte Themen