Frage

Ich denke darüber nach, Aspekte einer Website als Rails -Plugins für die Wiederverwendung zu entwickeln. Meine Frage bezieht sich auf den Entwicklungsprozess. Da jedes dieser Plugins ein "Slice" der Funktionalität liefert, sollte ich jede "Scheibe" als eigene Anwendung entwickeln und dann den Code aus jeder Anwendung in ein Plugin extrahieren? Oder sollte ich sie als Plugins direkt in einer Anwendung schreiben? Letztendlich werde ich von jedem Standort mit diesen Plugins verknüpfen, um sie trocken zu halten.

Ich denke, die Hauptfrage ist der Entwicklungsprozess für das Erstellen mehrerer "Engine" -Typins.

Vielen Dank im Voraus für jede Hilfe.

War es hilfreich?

Lösung

Jeder Ansatz ist gültig.

Beim Schreiben eines grundlegenden Plugins finde ich es normalerweise einfacher, es mit der Anwendung, die es verwendet, gleich einfacher zu schreiben. Weil ich es einfacher finde, etwas zu entwerfen/zu testen, das bereits existiert.

Wenn es jedoch um Engine -Plugins geht, bevorzuge ich es, sie als separate Anwendung zu entwickeln und dann alle unnötigen Bits herauszureißen, wenn ich sie in ein Plugin bewege. Sie sind im Wesentlichen Mini -Anwendungen und sollten vollständig funktionsfähig sein, wenn sie in einem frisch erstellten Rails -Projekt installiert werden.

Indem ich sie als ihre eigene Anwendung entworfen habe, stelle ich eine ordnungsgemäße Kompartimentierung sicher. Dies stellt sicher, dass ich mich nicht versehentlich auf Codemodelle/-controller/Ansichten/Helfer beziehe, die nicht Teil der von mir entwickelten Engine sind.

Wenn Sie auf diese Weise mehrere Plugins mit mehreren Motortypen entwickeln, möchten Sie möglicherweise einige Schritte mit einem Versorgungsskript zusammenfassen. Wie eine, die den Prozess der Umwandlung einer Anwendung in ein Motor -Plugin rationalisiert.

Es sollte Ihre App nach Bedarf umstrukturieren und die Dateien füllen, die Plugins haben sollten, wie z. B. init.rb.

Andere Tipps

Vielleicht möchten Sie einen Blick darauf werfen Wüste Rahmen auch.

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