Ach, Ruby on Rails. Der Champion des Startup-Trubels und des Nebenprojekts. Das beschreibt im Wesentlichen, warum ich glaube, dass Menschen die Gemeinschaft als Ganzes genießen, weil sie alle diese beiden Fakten schätzen.

Es hat sicherlich viel für die Startup-Welt und für Entwickler-Communities gleichermaßen getan. Es ist sehr ähnlich zu Sprachen wie JavaScript in den Affekten, die es in der Webwelt hatte. Ich kenne ziemlich viele Leute, die nur deshalb auf die Entwicklung gekommen sind, weil Rails so einladend ist und Ruby so schön ist.

Vielleicht finden Sie heraus, dass Ruby on Rails das Richtige für Ihr großes Projekt ist. Lassen Sie uns in die Grundlagen eintauchen und herausfinden.

Ruby on Rails für Anfänger und Startups

Ruby ist eine dynamische Hochzwecksprache, die alle Vorteile von Perl und PHP bietet, ohne die Syntaxprobleme, die sie mit sich bringen.

Ruby wurde erstellt von Yukihiro "Matz" Matsumoto , in der Mitte der 1990er Jahre. Und es wird innerhalb des Rails-Frameworks verwendet, daher Ruby on Rails. Rails ist ein Open-Source-Framework für Web-Anwendungen, das einen großen Teil der von Ruby gebotenen Leistungsfähigkeit nutzt. Es bietet auch Organisation und großartige Programmiermethodiken, die alle in einem einzigen Framework zusammengefasst sind, und darüber hinaus ist es unglaublich erweiterbar.

Nun, ich werde nicht auf viel mehr technische Details eingehen, schließlich sind dies Dinge, die Sie in einer schnellen Google-Suche finden könnten. Kommen wir also zum Gespräch.

Schienen für Anfänger

Es mag übertrieben zu sagen sein, dass Rails Ihr Leben retten wird, aber Tatsache ist, dass ich mehr Leute dazu gebracht habe, mit Rails und Ruby zu programmieren als mit irgendeiner anderen Sprache oder einem anderen Framework. Ich denke, dass die Umgebung als Ganzes für Neueinsteiger völlig zugänglich ist. Zum Beispiel ist die Gemeinschaft eher homogen und scheint sich auf dieselben Ziele zu konzentrieren. Das bedeutet wirklich viel, wenn es um Tausende von Menschen geht, die versuchen, Ihre Aufmerksamkeit zu lenken.

Angenommen, Sie sollten in der JavaScript-Community starten, nun ja, es ist wie im Wilden Westen. Es gibt unglaublich erstaunliche Dinge, die in dieser Community von Robotik über jQuery über Node zu Backbone, Testing bis hin zu fortgeschrittenen Statistiken geschehen und so viel Aufmerksamkeit erfordern.

So viele Leute versuchen, in so viele verschiedene Richtungen zu gehen, dass es für einen Anfänger schwierig sein kann zu entscheiden, wem was zu folgen ist.

Es gibt vielleicht eine Menge Crossover von Menschen aus diesen beiden Gemeinschaften, es ist sehr klar, dass das, was sie in JavaScript interessiert, nicht dasselbe ist wie das, was uns in Ruby and Rails als Framework oder Sprache interessiert.

Darüber hinaus erhalten Sie eine schöne Programmiersprache.

Rails

Schienenbild über Shutterstock.

Persönliche Präferenz nur hier, aber ich denke Ruby ist die schönste Programmiersprache überhaupt. Es ist das Erstaunlichste, was ich je programmiert habe, und es motiviert mich wirklich, Dinge auf der Seite zu schaffen, wenn ich von einem langen Tag der Programmierung in meinem Job nach Hause komme. Das ist, wenn Sie wissen, dass eine Sprache für Sie Spaß macht, wenn Sie es nach 8-10 Stunden Programmierung bei Ihrem Tagesjob machen. Mir ist klar, dass das vielleicht nicht für alle gleich ist, aber als Faustregel strebte der Schöpfer von Ruby wirklich nach menschenlesbarer Syntax und verkomplizierte die Dinge nicht, wenn er ging. Sehr ähnlich wie der Schöpfer von Clojure sich dem Aufbau einer Sprache genähert hat: Prozess. Sie beide wählen Einfachheit gegenüber Komplexität, weil wir alle wissen, dass es in der Einfachheit eine große Komplexität gibt; und typischerweise umgekehrt, daher die Schönheit von Dingen wie Ruby und Clojure (abzüglich der Verwendung von Klammern in Clojure, ugh ).

Das Finden eines Pfades in der Rails-Community ist sehr einfach. In anderen Sprachen kann es etwas schwieriger sein zu wissen, wer die "Tastemaker" sozusagen sind, aber in Rails ist es sehr offensichtlich. Das bedeutet nicht, dass du diesen Leuten folgen musst, aber von diesen Leuten kannst du schlussfolgern, wo die Schwergewichte herumspielen und dann von dort gehen.

Typischerweise haben Schwergewichte Projekte oder Bemühungen in Rails, die im Zentrum einer lebendigen Gemeinschaft stehen, die sie unterstützt. Das sind immer großartige Orte, in die man springen kann. Schließlich ist Rails ein sehr experimenteller Rahmen und eine vorwärts denkende Erfahrung, um so zu programmieren, wie Sie es benutzen.

Als Anfänger wirst du nicht nur die Syntax und die Community genießen, sondern auch neue Dinge lernen lernen. Und es geht darum, neue Dinge in dieser Programmierwelt zu lernen.

Schienen für Startups

Ruby on Rails ist eines der mächtigsten Werkzeuge und Werkzeuge, die das Tal und die Startups auf der ganzen Welt in Jahren gesehen haben.

Sei es die Syntax, die Fähigkeit, in wenigen Stunden aufzustehen, unglaublich schnell zu prototypieren, was auch immer es ist, es hat sich entwickelt.

Rail Shops und Start-ups haben sich auch deswegen durchgesetzt, und das ist einfach der Zucker im Pudding, warum es ein leckerer Genuss für dich ist. Nicht nur haben Sie so viele andere Unternehmen, die es übernehmen, und möglicherweise stoßen Sie auf ähnliche Probleme, Sie haben auch ein Gefecht getestet Rahmen.

Dies ist kein Alpha-Produkt, es ist kein Beta-Produkt. Dies ist kein abstrahierter Denkprozess für Entwickler, um Code zu organisieren. Dies ist ein "in-the-wild-Herde von Hunden Stil" Ergebnisse von Menschen, die zusammen gruppiert, um diese Gemeinschaft alle von einem eins begonnen zu bilden DHH von 37 Signale .

Noch einmal, ich werde der Gemeinschaft Gehör verschaffen, weil sie so wichtig ist. Es ist so eine weiterentwickelte und reife Gemeinschaft (in gewissem Sinne), dass Sie buchstäblich auf jede Art und Weise Hilfe finden können, die Sie benötigen. Sei es Entwickler, die gerne in Rails programmieren oder einfach nur Leute, die sich beraten lassen möchten, um Ihre Probleme zu lösen. Den ganzen Weg zu Leuten, die NoSQL in Rails-Umgebungen lieben, und die gerne die Asset Pipeline hassen;)

Apropos, es ist eine weitere tolle Sache für Anfänger und Startups gleichermaßen. Es gibt ein Organisationswerkzeug namens Asset-Pipeline, mit dem Sie Ihr gesamtes JavaScript (oder CoffeeScript), CSS und Bilder in einem Ordner organisieren können, der die entsprechenden Unterordner enthält. Das an und für sich ist nützlich. Alles in allem, wenn Sie in einem Start-up nach einer Programmiersprache suchen, um Ihr Produkt zu programmieren, geben Sie Rails eine Chance. Sie können nur feststellen, dass es Sie überrascht.

Warum Rails nützlich ist (für einzelne Entwickler)

Ein weiterer Ort, an dem Rails wirklich Fuß gefasst hat, ist der Bereich der persönlichen Projekte.

Viele Entwickler sind sich sehr ähnlich, da sie intelligente und fähige Individuen sind. Ich weiß, ich weiß, das ist keine Regel, aber es ist immer noch die Tatsache der Sache. Und Menschen dieser Art wollen oft persönliche Projekte haben, auf die sie hacken können, um zu lernen oder Einnahmen zu erzielen. Und alle, die ich kenne, sind der Meinung, dass Rails der perfekte Weg ist, dies zu tun.

Rails

Schienenbild über Shutterstock.

Die Verwendung von Tools wie Heroku für den Aufbau und die Bereitstellung einer Rails App ist buchstäblich ein 1, 2, 3 Schritt oder eher ein 1, 2 Schritt. Es ist erstaunlich. Tatsächlich benutze ich Rails und Heroku mit meinem Blog umgehen. Jedes Mal, wenn ich Änderungen vornehme, kompiliere ich Produktionsanlagen für Heroku, schiebe nach Github und schiebe dann nach Heroku. So einfach. Und wenn ich einen neuen Computer habe, den ich herunterziehen möchte, ändere ich einfach ein paar Fernbedienungen, die leicht zu verstehen sind Terminalmagie und das ist es - Sie sind bereit zu hacken.

Einer der oft missverstandenen Teile des Entwicklungsprozesses ist die zufällige Verkomplizierung von Dingen. Es ist nur eines der magischen Dinge in der Entwicklung, so scheint es. Sie können ohne Rücksicht oder Zufall buchstäblich alles überkomplizieren. Es ist genau das, was passiert, und oft merken Entwickler nicht einmal, dass sie es tun. Nun, Sie haben Glück, Ruby hat eine Menge von "Convention over Configuration" -Aktionen, was uns implizit hilft, die Dinge zu komplizieren.

Wenn Sie beispielsweise eine Klasse von "Library" haben, die von ActiveRecord erbt, sucht sie automatisch nach einer Tabelle namens "Library" in der Datenbank. Es sind kleine Dinge, die uns helfen, Dinge nicht immer wieder neu schreiben zu müssen. In der Tat veranschaulicht es übermäßig die Essenz von DRY (Do not Repeat Yourself). Was ist erstaunlich und sehr hilfreich. Warum nicht ein wenig Zeit sparen, nach all dem ist mehr Zeit für Kaffee.

Eine andere Sache, die ich daran liebe, ist, dass der Schöpfer der Sprache absolut von Code Einfachheit und Schönheit besessen ist. Wenn er also etwas einfacher und schöner machen kann, dann wird er es umsetzen, zum Ärger vieler Entwickler. Aber ich persönlich liebe es.

Schienen als Motor werden dir auch helfen, über Gerüste im Allgemeinen zu lernen, ohne dass dir jemand auf die Füße tritt, und ich denke, dass es das auf eine perfekt ausgewogene Weise tut.

Natürlich werden die Leute sagen, dass PHP-Frameworks das besser machen, weil man mit PHP immer noch den Kopf in eine Wand knallen kann, ohne Wege zu finden (von denen man lernen kann). Aber in der Tat denke ich, dass Rails das auf eine viel elegantere Weise macht, als PHP es jemals getan hat und wahrscheinlich auch immer tun wird.

Rails

Schienenbild über Shutterstock.

Sie sehen, in Rails müssen Sie noch so viel lernen, um eine echte oder sogar kleine Rails-Anwendung erstellen zu können. Es ist nicht so, dass man Gerüste für alles verwenden kann. In der Tat, Sie können dies nicht aktiv tun, aber Sie werden es zuerst und es wird Ihnen helfen, Dinge wie Ansichten, Templating und wie Ruby mit HTML interagiert.

Eine Sache, die ich liebe, ist beispielsweise das Setzen einer Ruby-Variablen, die Serverdaten eines Typs speichert, der bereits in einem Datenattribut festgelegt wurde. Also zum Beispiel: -data-attribute-for-ruby = "<% = Time.now%>" und dann mit diesem Datenattribut in JavaScript arbeiten oder interagieren.

Schienen können ziemlich schnell ziemlich kompliziert werden, und die Schönheit von Rails ist, dass es Sie dazu zwingt, auch andere Sprachen zu erforschen. Es ermöglicht Ihnen, wirklich gut in JavaScript und sehr gut in CSS zu sein. Außerdem erhalten Sie ein besseres Verständnis von SQL und wie Datenbanken implizit funktionieren.

Die Einfachheit macht die Eintrittsbarriere so gering, dass selbst ein Blick auf das Datenbankschema Sinn macht. Oh, ich habe diese Klasse so gemacht, dass sie da ist. Nicht, Oh Shooting warte, ich habe die Klassensache gemacht, jetzt muss ich die Datenbank-Sache machen, wie mache ich das. Ich weiß nichts über Datenbanken. Pfui. Schrauben Sie dies fest. Nichts davon in Rails.

Sie lernen, ohne auf den Fuß getreten zu sein. Und es ist eine unglaublich schöne Sache.

In der Zusammenfassung

Ich denke wirklich, dass das Lernen von Ruby Sie im Allgemeinen zu einem glücklicheren Programmierer machen kann.

Ich kann hier nur aus eigener Erfahrung sprechen, aber es hat das Leben ehrlich in meine Entwicklung hineingetragen. Ich war ein PHP-Typ seit über 8 Jahren und es war wirklich etwas, was ich nicht "liebte", aber ich tat es trotzdem. Nachdem ich Ruby gefunden hatte, warf ich buchstäblich meine Hände hoch und wandte mich nie wieder PHP zu. Es war so eine grandiose Veränderung in meinem Leben, dass ich Projekte erstellt, Jobs bekommen habe, beratend tätig war und zu einigen großartigen Open-Source-Projekten sowie dem Rails-Kern beigetragen habe, wo ich vorher nur ein Student war, der PHP kannte.

Ich konnte natürlich diese Dinge in PHP beisteuern und machen, aber der Punkt ist, dass ich nie die Leidenschaft dazu hatte, und Leidenschaft ist so wichtig. Wenn du keine Leidenschaft für das hast, was du tust, solltest du damit aufhören. Jetzt sofort. Und dann solltest du Ruby on Rails lernen. Es kann es zurückbringen.

Bist du schon in Ruby on Rails getaucht? Glaubst du, dass es eine bessere Entwicklungsplattform gibt? Lassen Sie es uns in den Kommentaren wissen.