• Zuhause
  • Artikel
  • Die Vor-und Nachteile von Ruby on Rails E-Commerce im Jahr 2019
Veröffentlicht am 11-03-2019

Die Vor-und Nachteile von Ruby on Rails E-Commerce im Jahr 2019

Foto von Jakob Owens auf Unsplash

Wenn es um bestimmte Dinge im Leben geht, bin ich Purist. Sogar ein Snob.

Auf der Gitarre vermeide ich die Verwendung eines Capo. Wenn ich eine andere Sprache lerne, vermeide ich Google Translate. Als mein bester Freund in der zweiten Klasse ein Game Genie für mein Super Nintendo mitbrachte, wurde ich zu einer harten Erkenntnis gezwungen: Er konnte nicht mehr mein bester Freund sein.

Wenn ich etwas lernen werde, werde ich es richtig lernen. Keine Abkürzungen, nicht für mich.

Deshalb war ich so zerrissen, als ich tiefer in Ruby on Rails eintauchte. Manchmal fühlt sich Rails wie betrogen… aber es macht auch süchtig Spaß.

Deshalb werde ich heute meine puristischen Vorurteile beiseite legen, um den E-Commerce von Ruby on Rails zu erkunden. In diesem Beitrag werde ich kurz erklären, was Ruby on Rails ist, warum es umstritten ist, und schließlich den Vorteil der Verwendung von Rails für den elektronischen Handel erklären.

Als zusätzlichen Bonus werde ich Ihnen sogar genau zeigen, wie Sie mit Refinery CMS eine E-Commerce-Site von Ruby on Rails erstellen können. Sie erhalten Schritt für Schritt eine Anleitung, wie Sie:

  • Erstellen Sie die Raffinerie-Site
  • Integrieren Sie den Warenkorb von Snipcart
  • Führen Sie Datenbankmigrationen durch
  • Neues Inventar definieren
  • Erstellen Sie eine E-Commerce-Vorlage

Aber zuerst ein Geständnis. Ich hatte Ruby on Rails nie richtig geschüttelt, weil es für mich immer aus zwei Worten zusammengesetzt war:

Verwirrung und Kontroverse.

Nein, das ist nicht der Name meiner neuen Retro-Punk-Band (obwohl das ein Killer-Name wäre). Dies sind nur zwei Ideen, die mir immer in den Sinn kommen würden, wenn ich etwas über Rails lese.

Verwirrung und Kontroverse.

Die Verwirrung kommt daher, dass viele junge aufstrebende Programmierer die Vorstellung nicht verstehen können, dass Ruby und Ruby on Rails zwei getrennte Konzepte sind. Um nur der Klarheit willen, lassen Sie uns dies an vorderster Front klären: Sie sind anders. Sehr, sehr verschieden

Ein paar Worte zu Ruby & Ruby on Rails

Ruby ist eine Programmiersprache. Rails ist ein serverseitiges Web-Framework, das in Ruby geschrieben wurde. Sie können sich Rails als Django für Ihren Python oder Vue.js für Ihr JavaScript vorstellen. Das Framework benötigt immer die Sprache, aber die Sprache benötigt nicht immer das Framework.

Wie wird eine einfache RoR-Definition mit Ruby verwechselt?

Ruby und Rails werden aufgrund der anfänglichen und fortwährenden Beliebtheit des Frameworks häufig Hand in Hand genommen. Seit ihrer Gründung im Jahr 2005 von David Heinemeier Hansson (einer der brillanten Köpfe, die uns Basecamp gebracht haben) haben die mächtigen Kräfte von Rails die Grundsprache überschattet. Aber diese Popularität ist nicht ohne Kritik geblieben - was uns zu den… führt.

… Kontroverse: Das Argument “No True Scotsman” gegen Rails

Ok, „Kontroverse“ könnte hier tatsächlich zu stark sein. Wenn Sie jemals das Lesen in einer endlosen Spirale von Programmierforen verloren haben (und wir müssen alle echt sein), haben Sie wahrscheinlich bemerkt, dass Rails viele eingefleischte Fans hat. Sie schwören darauf. In der Tat ist einer der Vorteile von Rails, dass es eine blühende und unglaublich ausgesprochene Gemeinschaft gibt.

Es sind wirklich die Kritiker von Rails, die die Dinge interessant machen. Ich würde nicht sagen, dass viele Programmierer es nicht mögen, sie… einfach abweisen. Für sie ist Rails wie „Kodierung auf Stützrädern“.

Sie sehen, viele Vorteile von Rails sind auch der Untergang: leicht erlernbar, sehr verzeihend und viele Dinge unter der Haube, die Sie nie wirklich betrachten müssen. Grundsätzlich meinen Kritiker, dass Ruby on Rails mit der folgenden Warnung beworben werden sollte:

Nicht für echte Hardcore-Entwickler.

Wenn Sie das jetzt als begeisterter Rails-Benutzer lesen, weiß ich, was Sie denken: "Themenkämpfe". Wenn Sie einen Ferrari in Ihrer Garage bauen können, wen kümmert es dann, wenn der Motor vormontiert ist? Du hast immer noch den Ferrari.

Beide Seiten scheinen faire Argumente zu haben. Und es ist nicht meine Aufgabe, die Meinung anderer zu ändern. Was ich tun werde, ist jedoch, Gemeinsamkeiten zu finden. Nachfolgend finden Sie vier unumstrittene Gründe, warum die Verwendung von Rails für E-Commerce für Entwickler von Vorteil ist.

Warum Rails für E-Commerce verwenden?

1. Sauber, schnell und kostengünstig

Wenn Sie eine E-Commerce-Site für sich oder einen Kunden erstellen, ist eines der stärksten Argumente für die Verwendung von Rails, wie schnell Sie eine Site erstellen können, die nicht nur funktional ist, sondern schlank aussieht. All diese vorgefertigten Konventionen (über die wir oben gesprochen haben) und diese große Bibliothek von Edelsteinen (über die wir weiter unten sprechen werden) werden die Erstellungszeit Ihrer Site schnell nachverfolgen. Außerdem wird die Wartung durch die Einfachheit der Sprache und die Einstellung für Heimwerker einfacher verwaltet. Wenn es wahr ist, dass Zeit = Geld ist (und dies ist), können Sie mit Rails beides sparen.

2. Große, stimmliche Gemeinschaft

Rails hat eine der größten aktiven Gemeinschaften in der Programmierwelt. Und genau wie das Sprichwort sagt: "Es gibt nichts Neues unter der Ruby-Sonne", ist diese Community mehr als bereit, Ratschläge zu geben, um eventuelle Fehler zu beheben. Dies bedeutet, dass Sie - und Ihre Rails E-Commerce-Site - eine ganze (und unsichtbare) IT-Abteilung hinter sich haben.

Außerdem hast du coole Juwelen. Gems sind wie Apps, die Sie in Ihre Rails-Site integrieren können. Mit dem wachsenden Framework haben Sie auch die Anzahl der E-Commerce-Juwelen von Rails. Es gibt eine ganze Community auf GitHub, die Edelsteine ​​für nahezu jede Verwendung erstellt hat. Sicher, manche Entwickler bevorzugen es, diese Funktionen selbst zu codieren und zu erstellen. Andere wiederum gehen davon aus, dass das Rad neu erfunden werden muss. Das Coole an Rails ist, dass Sie beide Möglichkeiten haben.

3. Sterbe niemals, entwickle dich ständig

"Ist Rubin auf Schienen" ist eines meiner Lieblingsmerkmale für Google, da die Suchmaschine automatisch "tot" vorschlägt. Diese Frage wird in Dev-Foren immer wieder gestellt.

Hier ist die kurze Antwort: Nein.

Hier ist die längere Antwort: Nein. Nicht mal ein bisschen.

Und das ist der Grund: Ruby on Rails ist nicht tot, es erfährt einfach nicht das exponentielle Wachstum, das es in seiner Kindheit hatte. Wie alle Frameworks hatte auch Rails nach seiner Veröffentlichung ein „Buzz“. Dieses Summen mag sich verjüngen, aber Rails lebt und tritt immer noch. Erst im letzten Monat kam Rails mit der neuesten Version 5.2.2 heraus, die zahlreiche neue Funktionen enthält.

4. Marktfähig

Rails hat sich im Web-Dev-Markt zu einer unglaublich wertvollen Fähigkeit entwickelt. Aber lass mich klar sein.

Folgendes sage ich NICHT: Rails ist der marktfähigste Rahmen überhaupt.

Das sage ich BIN: Rails ist immer noch sehr marktfähig.

Ich habe zu viele Foren-Threads mit der Frage "Was ist das profitabelste Web-Framework zu wissen?" Mit einer Liste, die normalerweise Rails, Django, Node.js usw. enthält, gesehen. Das Endergebnis ist das für Programmierer auf jeder Ebene. Die Einfachheit von Rails und die Anzahl der Unternehmen, die kompetente Entwickler von Rails einstellen möchten, ist eine großartige Gelegenheit, die selten gefunden wird.

Das Mastering Rails für den E-Commerce kann zu vielen zukünftigen Möglichkeiten führen, genauso wie das Beherrschen anderer Rahmen. Der Unterschied ist, dass die Zeit, die Sie benötigen, um Rails zu beherrschen, möglicherweise viel, viel niedriger ist als bei jedem anderen Framework, aber die Qualität der Website ist wahrscheinlich gleich - oder zumindest wettbewerbsfähig.

Was sind einige großartige E-Commerce-Tools von Rails?

Ok, also, egal, ob Sie Rails lieben, tolerieren oder es ignorieren, Rails sollte zumindest einen Blick auf die voll ausgestatteten Rails E-Commerce-Lösungen werfen:

  • Solidus: Eine Open-Source-E-Commerce-Plattform für Großunternehmen
  • Spree E-Commerce: Oder eher Spree Commerce. Ein vollständiges, skalierbares und API-gesteuertes Open Source E-Commerce-Framework
    • Ror-e: Eine vollständige E-Commerce-Plattform, die behauptet, alles von der Bestellung bis zur Rücksendung zu erledigen
    • Sharetribe: Eine Peer-Peer-Marktplatzplattform
    • Wenn Sie jedoch nach etwas mehr Maßgeschneidertem suchen, schauen Sie sich unser maßgeschneidertes E-Commerce-Setup mit Refinery CMS mit Snipcart-Integration an.

      Im folgenden Tutorial erfahren Sie, wie Sie mit Refinery CMS von Anfang bis Ende alles tun, um eine Site zu erstellen, Ihre Produkte zu definieren und eine einzigartige E-Commerce-Vorlage zu erstellen. Wie bei Rails selbst macht die Kombination von Refinery CMS und Snipcart den Prozess einfach, elegant und äußerst effektiv.

      Lass uns anfangen!

      Rails E-Commerce-Lernprogramm mit Refinery CMS

      Voraussetzungen:

      Installieren, was erforderlich ist

      Als Erstes müssen Sie installieren, was für die Raffinerie erforderlich ist. Ich werde jetzt nicht weiter auf Details eingehen, da dies in den Installationsvoraussetzungen ausführlich beschrieben wird.

      Sobald dies erledigt ist, müssen Sie den folgenden Befehl ausführen, um das Refinery-Projekt zu erstellen:

      Raffinerie-Raffinerie-Snipcart

      Eine Erweiterung erstellen

      Wir hätten die CMS-Seiten möglicherweise überladen, um unsere Produkte zu erstellen, aber wir werden ein wenig aufgeräumt sein und eine eigene Erweiterung erstellen, um die Dinge von Snipcart voneinander zu trennen. Raffinerie wird mit einem fantastischen Gerüstwerkzeug für Erweiterungen geliefert, und das ist es, was wir zur Erstellung unseres eigenen verwenden werden. Führen Sie dazu den folgenden Befehl aus:

      Schienen erzeugen Raffinerie: Engine Produktname: String Beschreibung: String Preis: Ganzzahl Foto: Bild

      Vergessen Sie nicht, die folgenden Befehle auszuführen, nachdem das Gerüst fertig ist:

      Der Befehl ist ziemlich selbsterklärend. Es erstellt eine Entität mit Namen, ID, Beschreibung, Preis und Foto mit den entsprechenden Typen (Zeichenfolge, Zeichenfolge, Ganzzahl und Bild).

      Umstellung auf Postgres

      Nun, SQLite3 ist eine großartige Datenbank, um ein Projekt zu starten, aber ich denke, es kann knapp werden, wenn Sie ein umfangreiches Produktionsprojekt erstellen. Aus diesem Grund werden wir unsere Datenbank anstelle von SQLite3 nach Postgres migrieren. Es wird uns auch leichter machen, zu Heroku zu gelangen, sobald wir zur Produktion bereit sind. Wenn Sie Postgres noch nicht installiert haben, müssen Sie es hier herunterladen.

      Nachdem Postgres heruntergeladen wurde, installieren Sie es und definieren Sie ein Kennwort für den Standardbenutzer.

      Springen Sie jetzt zurück zu Ihrer IDE und öffnen Sie Ihr Gemfile. Ersetzen Sie darin die Linie 'gemini' von 'sqlite3' in 'pg'. Führen Sie dann die Bundle-Installation aus. Das letzte, was wir aktualisieren müssen, ist die Datei config / database.yml. Also öffne es und ändere es in:

      Wir sind fast fertig, Sie müssen nur die folgenden Befehle ausführen, um Ihre Datenbank aufzufüllen:

      Sobald es fertig ist, können Sie: Schienen-Server ausführen. Wenn Sie alles richtig eingestellt haben, sollte ein lokaler Server auf Port 3000 hochgefahren werden.

      http: // localhost: 3000 / Raffinerie

      Sie sollten mit einem Formular aufgefordert werden, einen Benutzer zu erstellen, der folgendermaßen aussieht

      Nachdem Sie Ihren Benutzer erstellt haben, werden Sie zum Dashboard der Raffinerie weitergeleitet, wo Sie unser brandneues Produktfenster sehen. So definieren wir unsere Produkte. Klicken Sie auf den Link Neues Produkt hinzufügen und definieren Sie Ihre Produkte wie unten beschrieben:

      Ansichten erstellen

      Zu diesem Zeitpunkt haben wir eine Datenbank mit unseren Produkten. Was wir tun müssen, ist, diese Daten zu verbrauchen, um sie in "Ansichten" anzuzeigen. Schlagen Sie auf Ihren Serverindex, der normalerweise http: // localhost: 3000 lautet. Dann klicken Sie auf den Produktlink. Voilà! Ihre Ansichten sollten jetzt ohne Fehler kompiliert werden, und Sie sollten alle Informationen des entsprechenden Produkts als Liste anzeigen. Die Aussicht ist eher barebones, also machen wir weiter und machen es ein bisschen funkiger. Öffnen Sie Ihre IDE erneut und springen Sie zu:

      Hersteller / Erweiterungen / Produkte / App / Ansichten / Raffinerie / Produkte / Produkte / show.html.erb

      In dieser Ansicht wird jedes einzelne Produkt gerendert. Dort werden wir die Schaltflächen zum Kaufen anzeigen, was bedeutet, dass die erforderlichen Skripte von Snipcart auch auf dieser Seite sein müssen. Fügen Sie dazu der Vorlage Folgendes hinzu:

      Dadurch werden die Skripts am Anfang des -Tags genau so gerendert, wie wir es möchten. (Vergessen Sie nicht, YOUR_API_KEY im Script-Tag snipcart.js zu überschreiben. Danach müssen wir unseren Buy-Button angeben.

      Perfekt! Jetzt können wir eine Produktseite aufrufen und ein Produkt in unseren Warenkorb legen! Im Moment gibt es auf unserer Website überhaupt kein Styling, daher wird sie unserer End-Demo nicht ähneln. Wenn Sie herausfinden möchten, wie wir unsere Demo gestaltet haben, können Sie über den Link am Ende dieses Beitrags direkt zur Quelle auf Github gelangen.

      Bereitstellung unseres Shops

      Dies ist der letzte Schritt, um unseren Shop für echte Kunden in Betrieb zu nehmen. Wir werden Heroku als Host für unsere [Demo] verwenden, aber Sie sind nicht darauf beschränkt, wenn Sie eine andere Route wählen möchten.

      Dazu benötigen Sie die Heroku-CLI, die Sie hier herunterladen können.

      Danach öffne deine cmd und starte heroku login, nachdem du eingeloggt bist, starte heroku create. Dadurch wird eine brandneue Heroku-App erstellt. Führen Sie dann Heroku-Addons aus: create heroku-postgresql: hobby-dev. Dadurch wird Postgres mit Ihrer App verknüpft, sodass Sie Ihre Datenbank erstellen können. Dann kannst du git hinzufügen. und verpflichten sich, Ihr Projekt endlich mit git push heroku master voranzutreiben. Dadurch wird der Build automatisch ausgelöst und Ihre App wird gerüstet. Sie müssen nur Heroku Run Rake db: ausführen und Heroku Run Rake Db: Seed ausführen.

      Hurra, jetzt ist unser Setup fertig! Wenn Sie jedoch Ihre Heroku-App öffnen, werden Sie feststellen, dass wir auf diesem Weg unsere Produkte verloren haben. Keine Sorge, das ist normal. Sie können sie entweder wie zuvor im Dashboard neu definieren oder Ihre lokalen Dateien importieren, indem Sie zuvor einen Speicherauszug erstellen. Ich werde die Details der zweiten Option nicht näher erläutern, aber Heroku erklärt das hier sehr gut.

      Live-Demo und GitHub-Repo

      Sehen Sie hier die Live-Demo
      Siehe GitHub-Repo hier

      Gedanken schließen

      So, das war es! Insgesamt große Erfahrung mit Rails und Raffinerie-CMS.

      Dinge, die ich mochte:

      • Es hat Spaß gemacht mit zu spielen und es war eine völlig neue Erfahrung.
      • Unter Windows ist RoR ein bisschen Trick, mit dem ich arbeiten kann, also musste ich in einer Konfiguration mit niedrigerer Stufe tauchen, um dies zu erreichen.
      • Ich fand es lustig und herausfordernder, als einfach ein Paket zu meinem Projekt hinzuzufügen.

      Dinge, die ich nicht mochte:

      • Rubys Syntax war neu für mich und ich fühlte mich für die erste Stunde völlig verloren. Durch wirklich einfache Dinge fühlte ich mich, als wäre ich in die Irre gegangen.
      • Es gibt nicht viele Diskussionen über Refinery CMS online. Wenn Sie also Ihre Frage nicht in ihren Dokumenten finden, müssen Sie selbst suchen.
      • Die Raffinerie-CMS-Architektur fühlte sich ein wenig verworren an. Ich musste wirklich tief in ihre Dokumente eintauchen, um herauszufinden, was ich für einfache Fragen hielt. Einige Prinzipien, von denen ich dachte, dass sie ein bisschen intuitiver sein sollten, aber es war wieder meine erste Erfahrung mit Ruby, daher bin ich wahrscheinlich die Schuld daran;)

      Mochte den Beitrag? Nehmen Sie sich eine Sekunde und teilen Sie es auf Twitter! Klicken Sie im Kommentarbereich auf Kommentare oder Fragen.

      Ursprünglich im Snipcart-Blog und in unserem Newsletter veröffentlicht.

Siehe auch

Fünfte Woche: Warum Bargeld verwenden, wenn Sie GOLD (Monese und Glint) verwenden können?