Ruby on Rails vs. Node.js ─ Welche Backend-Technologie sollten Einsteiger lernen?

Dieser Artikel basiert auf der Codementor Hour of Code Office Hour, die von Steve Klabnik, einem aktiven Open-Source-Mitwirkenden, veranstaltet wird 245 verpflichtet sich zu Rails vor. Das Publikum fragt Steve, ob Programmieranfänger lernen sollten Schienen oder Node.js als ihre erste Back-End-Sprache, und Steves Antworten lauten wie folgt.


Eines der Dinge, an die Sie sich erinnern müssen, ist, dass verschiedene Menschen durch unterschiedliche Methoden unterschiedlich lernen. Daher glaube ich nicht, dass es unbedingt eine allgemeingültige Antwort darauf gibt, wie man Programmieren lernen oder welche Sprache man wählen sollte.

Zum Beispiel lerne ich persönlich gerne Bottom-up, wo ich mich mit allen Details vertraut mache, bevor ich mich langsam zu den Abstraktionen aufbaue. Viele Leute ziehen es jedoch auch vor, Dinge von oben nach unten zu lernen, wo sie die Abstraktionen kennenlernen, bevor sie die Details verstehen.

Selbst wenn ich Ihnen gesagt habe, dass Sie zuerst Rails lernen sollen, gibt es immer noch mehrere Möglichkeiten, wie Sie Rails lernen können, daher ist diese Frage ziemlich kompliziert. Ich denke, das Wichtigste beim Lernen, wenn Sie ein Anfänger sind, ist, etwas zu tun, das Sie begeistert. Der zweite Faktor, den Sie berücksichtigen sollten, ist, ob das, was Sie lernen möchten, eine gute Dokumentation hat oder nicht.

Um Ihre Frage persönlich zu beantworten, würde ich jedoch zu Ruby tendieren, da es stabil ist und viel mehr Hilfe und Dokumentation zur Verfügung stellt. Zum Beispiel eines der Dinge, die ich wirklich mag an der Rails Girls Lehrplan ist, dass sie am Freitagabend eine Social Hour und ein Installationsfest haben und am Samstag etwas programmieren.

Natürlich wird auch Node und serverseitiges JavaScript älter, daher gibt es auch eine Fülle von Lernmaterialien, sodass es an dieser Stelle nicht verkehrt wäre, wenn Sie es Rails vorziehen würden.

Manchmal ist der Code im Frontend und im Backend in Bezug auf Logik und Implementierung fast gleich. Bedeutet das nicht, dass wir den Code wiederverwenden und uns an DRY halten können, wenn wir Node.js verwenden, wo sowohl das Front-End als auch das Back-End in JavaScript geschrieben sind?

Ja, und einige Leute tun dies tatsächlich. DRY (Don’t Repeat Yourself) ist jedoch eigentlich die Kurzbezeichnung dafür, dass es in Ihrem Konzept nur eine eindeutige Darstellung geben sollte System.

Persönlich halte ich gerne eine klare Trennung zwischen Front-End und Back-End aufrecht, um sie in der Netzwerkgrenze voneinander zu isolieren, so dass für mich diese Trennung nur betont wird, wenn Back-End und Front-End in verschiedenen Sprachen geschrieben sind. Wenn ich an einigen Stellen eine Logik wiederholen muss, liegt das daran, dass es sich um zwei verschiedene Systeme handelt und ich daher DRY nicht verletze.

Natürlich bin ich nicht der Meister aller Programmierungen und es gibt definitiv Leute, die mir da nicht zustimmen, das größte Beispiel sind Frameworks wie z Meteor. Ich persönlich mag diesen Ansatz nicht, da ich eine Überklebung der Grenzen eines Systems sehe, und ich denke, dass es wichtig ist, auf diese Grenzen zu achten. Obwohl ich keine direkte Erfahrung mit solchen Dingen habe, habe ich außerdem Leute in meinem Netzwerk gesehen, die darüber sprachen, wie sie Probleme hatten, als sie versuchten, serverseitigen Code in ihrem clientseitigen Code wiederzuverwenden .

Der einzige Fall, in dem Sie meiner Meinung nach so etwas tun können, ist, wenn Sie sich mit Validierungen befassen. Ich denke, es ist in Ordnung, Validierungen über den server- und clientseitigen Code zu teilen, insbesondere wenn Sie keinen Netzwerk-Roundtrip machen möchten (was eine große Sache ist, über die alle sprechen). Für fast alles andere erscheint mir die Wiederverwendung von Code über die Grenzen hinweg wie das Erstellen eines riesigen Schlammballs, anstatt zwei sauber getrennte Systeme zu haben.

Das soll nicht heißen, dass Sie Node.js nicht verwenden sollten. Eines der besten Dinge, die Node meiner Meinung nach getan hat, ist es, Menschen das Schreiben von Backend-Code zu ermöglichen, obwohl sie dies noch nie zuvor getan haben. Der Aspekt, nur eine Programmiersprache auf beiden Seiten zu haben, ist also wirklich ansprechend und bringt viele neue Leute zum Programmieren, also ist es definitiv sinnvoll, dieselbe Sprache für Frontend und Backend zu haben.


Mit über 200 Repositories auf GitHub ist Steve Klabnik für seinen Beitrag zu Open-Source-Projekten bekannt, wo er allein im Jahr 2014 über 1900 Beiträge geleistet hat. Er ist derzeit auf Platz 36 der All-Time-Rails-Contributors-Listeund hat den Leitfaden geschrieben Rost für Rubyisten. Seit Juni 2014 ist Steve Mozilla beigetreten, um an der zu arbeiten offizielle Rust-Dokumentation.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *