Ah, Ruby on Rails. Der Champion des Startup-Trubels und des Nebenprojekts. Das beschreibt im Wesentlichen, warum ich denke, dass die Leute die Community als Ganzes genießen, weil sie alle diese beiden Tatsachen zu schätzen wissen.
Es hat sicherlich viel für die Startup-Welt und für die Entwicklergemeinschaften gleichermaßen getan. Es ist Sprachen wie JavaScript in seinen Auswirkungen auf die Webwelt sehr ähnlich. Ich kenne einige Leute, die nur deshalb in die Entwicklung eingestiegen sind, weil Rails so einladend und Ruby so schön ist.
Vielleicht finden Sie, dass Ruby on Rails das Richtige für Ihr großes Projekt ist. Lassen Sie uns in die Grundlagen eintauchen und es herausfinden.
Ruby on Rails für Einsteiger und Startups
Ruby ist eine dynamische Hochleistungssprache, die alle Vorteile von Perl und PHP bietet, ohne die damit verbundenen Syntaxprobleme.
Ruby wurde erstellt von Yukihiro „Matz“ Matsumoto, Mitte der 1990er Jahre. Und es wird innerhalb des Rails-Frameworks verwendet, daher Ruby on Rails. Rails ist ein Open-Source-Framework für Full-Stack-Webanwendungen, das einen Großteil der Leistungsfähigkeit von Ruby nutzt. Es bietet außerdem Organisation und großartige Programmiermethoden, alles integriert in einem einzigen Framework, und darüber hinaus ist es unglaublich erweiterbar.
Jetzt werde ich nicht mehr auf technische Details eingehen, schließlich sind das Dinge, die man in einer schnellen Google-Suche finden kann. Kommen wir also zum Kern des Gesprächs.
Schienen für Anfänger
Es mag übertrieben sein zu sagen, dass Rails Ihr Leben retten wird, aber Tatsache ist, dass ich mit Rails und Ruby mehr Leute dazu gebracht habe, mit dem Programmieren zu beginnen als mit jeder anderen Sprache oder jedem anderen Framework. Ich denke, dass die Umgebung insgesamt für Programmierneulinge völlig zugänglich ist. Beispielsweise ist die Community recht homogen und scheint auf die gleichen Ziele ausgerichtet zu sein. Das bedeutet wirklich viel, wenn es darum geht, dass Tausende von Menschen versuchen, Ihre Aufmerksamkeit zu lenken.
Nehmen wir an, Sie würden in der JavaScript-Community anfangen, dann ist das wie im Wilden Westen. In dieser Community passieren unglaublich erstaunliche Dinge, von Robotik über jQuery und Node to Backbone bis hin zu Tests und erweiterten Statistiken, und vieles erfordert Ihre Aufmerksamkeit.
So viele Menschen versuchen, in so viele verschiedene Richtungen zu gehen, dass es für einen Anfänger schwierig sein kann, zu entscheiden, wem oder was er folgen soll.
Vielleicht gibt es viele Überschneidungen zwischen Leuten aus diesen beiden Communities. Es ist sehr klar, dass das, was ihnen in JavaScript am Herzen liegt, nicht dasselbe ist wie das, was uns in Ruby und Rails als Framework oder Sprache am Herzen liegt.
Darüber hinaus erhalten Sie eine wunderschöne Programmiersprache.
Rails-Bild über Shutterstock.
Nur hier persönliche Präferenz, aber ich denke, Ruby ist das Richtige am meisten wunderschöne Programmiersprache, die jemals geschaffen wurde. Es ist das Erstaunlichste, was ich je zum Programmieren verwendet habe, und es motiviert mich wirklich, nebenbei Dinge zu erstellen, wenn ich von einem langen Programmiertag bei der Arbeit nach Hause komme. Dann wissen Sie, dass Ihnen eine Sprache Spaß macht, wenn Sie sie nach 8–10 Stunden Programmieren in Ihrem Tagesjob beherrschen. Mir ist klar, dass das vielleicht nicht für alle gleich ist, aber als Faustregel gilt, dass der Schöpfer von Ruby wirklich nach einer für Menschen lesbaren Syntax gestrebt hat und die Dinge dabei nicht kompliziert gemacht hat. Sehr ähnlich der Art und Weise, wie der Schöpfer von Clojure an den Aufbau einer Sprache heranging: Prozess. Sie haben beide die Einfachheit der Komplexität vorgezogen, weil wir alle wissen, dass Einfachheit große Komplexität mit sich bringt; und normalerweise umgekehrt, daher die Schönheit von Dingen wie Ruby und Clojure (abzüglich der übermäßigen Verwendung von Klammern in Clojure, Pfui).
Es ist sehr einfach, in der Rails-Community einen Weg zu finden, dem man folgen kann. In anderen Sprachen kann es etwas schwieriger sein zu wissen, wer sozusagen die „Geschmacksmacher“ sind, aber in Rails ist es sehr offensichtlich. Das heißt nicht, dass du haben diesen Leuten zu folgen, aber von diesen Leuten kann man ableiten, wo die Schwergewichte herumspielen, und dann von dort aus fortfahren.
Typischerweise haben Schwergewichte Projekte oder Bemühungen in Rails, die im Mittelpunkt einer lebendigen Community stehen, die sie unterstützt. Das sind also immer tolle Orte, an denen man einen Sprung machen kann. Schließlich ist Rails ein sehr experimentelles Framework und eine zukunftsweisende Erfahrung, die Sie bei der Verwendung programmieren können.
Als Anfänger werden Sie nicht nur Freude an der Syntax und Community haben, sondern auch dazu gedrängt werden, neue Dinge zu lernen. Und es geht darum, in dieser Welt des Programmierens neue Dinge zu lernen.
Rails für Startups
Ruby on Rails ist eines der leistungsstärksten Tools und die leistungsstärksten Tools, die das Valley und Startups auf der ganzen Welt seit Jahren gesehen haben.
Sei es die Syntax, die Möglichkeit, innerhalb weniger Stunden einsatzbereit zu sein, das unglaublich schnelle Prototyping – was auch immer es ist, es hat sich durchgesetzt.
Auch Rails-Läden und Start-ups auf der ganzen Welt sind dadurch auf dem Vormarsch, und das ist nur der Zucker im Pudding, der es zu einem köstlichen Leckerbissen für Sie macht. Es gibt nicht nur so viele andere Unternehmen, die es übernehmen und möglicherweise auf ähnliche Probleme stoßen, sondern Sie verfügen auch über ein kampferprobtes Framework.
Dies ist kein Alpha-Produkt, es ist kein Beta-Produkt. Dies ist kein abstrahierter Denkprozess für Entwickler, um Code zu organisieren. Dabei handelt es sich um das Ergebnis einer „wilden Hundeherde“ von Menschen, die sich zusammengeschlossen haben, um diese Gemeinschaft zu bilden, die alle durch eine Eins gegründet wurden DHH von 37Signale.
Auch hier möchte ich auf die Community eingehen, weil sie so wichtig ist. Es handelt sich (in gewissem Sinne) um eine so entwickelte und ausgereifte Gemeinschaft, dass Sie buchstäblich Hilfe finden können, wo auch immer Sie sie benötigen. Seien es Entwickler, die Liebe Programmieren in Rails oder einfach Leute, die sich beraten lassen möchten, um Ihre Probleme zu lösen. Bis hin zu Leuten, die es lieben, NoSQL in Rails-Umgebungen zu verwenden und es auch lieben, in der Asset-Pipeline zu hassen 😉
Apropos, es ist eine weitere tolle Sache für Anfänger und Start-ups gleichermaßen. Es gibt ein Organisationstool namens Asset-Pipeline, mit dem Sie Ihr gesamtes JavaScript (oder CoffeeScript), CSS und Ihre Bilder in einem Ordner organisieren können, der die entsprechenden Unterordner enthält. Das ist an und für sich schon nützlich. Alles in allem sollten Sie Rails ausprobieren, wenn Sie in einem Startup nach einer Sprache suchen, mit der Sie sich zum Codieren Ihres Produkts beschäftigen können. Vielleicht stellen Sie einfach fest, dass es Sie überrascht.
Warum Rails nützlich ist (für einzelne Entwickler)
Ein weiterer Bereich, in dem sich Rails wirklich durchgesetzt hat, ist der Bereich persönlicher Projekte.
Viele Entwickler sind sich ziemlich ähnlich, denn sie sind intelligente und fähige Individuen. Ich weiß, ich weiß, das ist keine Regel, aber es ist trotzdem oft eine Tatsache. Und Menschen dieser Art möchten oft persönliche Projekte haben, aus denen sie lernen oder Einnahmen erzielen können. Und alle, die ich kenne, sind sich einig, dass Rails dafür die perfekte Möglichkeit ist.
Rails-Bild über Shutterstock.
Die Verwendung von Tools wie Heroku zum Erstellen und Bereitstellen einer Rails-App für die Bereitstellung ist buchstäblich ein 1, 2, 3 Schritt oder besser gesagt ein 1, 2 Schritt. Es ist erstaunlich. Tatsächlich verwende ich Rails und Heroku um meinen Blog zu verwalten. Jedes Mal, wenn ich Änderungen vornehme, kompiliere ich Produktionsressourcen für Heroku, pushe sie an Github und dann an Heroku. So einfach. Und wenn ich einen neuen Computer habe, auf den ich umsteigen möchte, tausche ich einfach einige Fernbedienungen aus, die leicht verständlich sind Endmagieund das war’s – Sie sind bereit zum Hacken.
Einer der oft missverstandenen Aspekte des Entwicklungsprozesses besteht darin, Dinge versehentlich zu verkomplizieren. Es scheint nur eines der magischen Dinge in der Entwicklung zu sein. Sie können es ohne Rücksicht oder Zufall buchstäblich überkomplizieren irgendetwas. Es ist einfach das, was passiert, und Entwickler merken oft nicht einmal, dass sie es tun. Nun, Sie haben Glück, in Ruby gibt es viele „Konventionen statt Konfiguration“-Aktionen, die uns implizit dabei helfen, die Dinge zu vereinfachen.
Wenn Sie beispielsweise über eine Klasse „Bibliothek“ verfügen, die von ActiveRecord erbt, sucht diese automatisch nach einer Tabelle mit dem Namen „Bibliothek“ in der Datenbank. Es sind solche Kleinigkeiten, die uns helfen, nicht immer wieder Dinge schreiben zu müssen. Tatsächlich veranschaulicht es die Essenz von DRY (Don’t Repeat Yourself) übermäßig. Das ist erstaunlich und sehr hilfreich. Sparen Sie doch ein wenig Zeit, denn so bleibt mehr Zeit für den Kaffee.
Eine weitere Sache, die ich daran liebe, ist, dass der Schöpfer der Sprache absolut besessen von der Einfachheit und Schönheit des Codes ist. Wenn er also etwas Einfacheres und Schöneres machen kann, wird er es auch umsetzen, was viele Entwickler beunruhigt. Aber ich persönlich liebe es.
Rails als Engine hilft Ihnen auch dabei, etwas über Frameworks im Allgemeinen zu lernen, ohne dass Ihnen jemand auf die Füße tritt, und ich denke, dass dies auf perfekt ausgewogene Weise geschieht.
Natürlich werden die Leute sagen, dass PHP-Frameworks das besser machen, weil man mit PHP immer noch seinen Kopf gegen eine Wand schlagen kann, ohne einen Weg zu finden, es zu umgehen (von dem man lernen kann). Tatsächlich denke ich jedoch, dass Rails das auf eine viel elegantere Art und Weise macht, als es PHP jemals getan hat und wahrscheinlich auch jemals tun wird.
Rails-Bild über Shutterstock.
Sie sehen, in Rails muss man noch so viel lernen, um eine echte oder auch nur kleine Rails-Anwendung erstellen zu können. Es ist nicht so, dass man Gerüste einfach für alles verwenden kann. Tatsächlich können Sie das nicht aktiv tun, aber Sie werden es zunächst tun, und es wird Ihnen helfen, Dinge wie Ansichten, Vorlagen und die Interaktion von Ruby mit HTML zu lernen.
Eine Sache, die ich zum Beispiel gerne mache, ist das Einfügen einer Ruby-Variablen, die Serverdaten irgendeines Typs speichert, die bereits in einem Datenattribut festgelegt wurden. Also zum Beispiel: -data-attribute-for-ruby=”<%= Time.now %>” und dann in JavaScript mit diesem Datenattribut arbeiten oder interagieren.
Rails kann sehr schnell ziemlich kompliziert werden, und das Schöne an Rails ist, dass es Sie dazu zwingt, auch andere Sprachen zu erkunden. Dadurch werden Sie wirklich gut in JavaScript und sehr gut in CSS. Es vermittelt Ihnen implizit auch ein besseres Verständnis von SQL und der Funktionsweise von Datenbanken.
Durch die Einfachheit ist die Einstiegshürde so niedrig, dass bereits ein Blick auf das Datenbankschema sinnvoll ist. Oh, ich habe diesen Kurs erstellt, also ist er da. Nicht, Oh, Moment, ich habe die Klassensache gemacht, also muss ich jetzt die Datenbanksache machen, wie mache ich das? Ich weiß nichts über Datenbanken. Pfui. Scheiß drauf. Nichts davon in Rails.
Sie lernen, ohne dass Ihnen jemand auf die Füße tritt. Und es ist eine unglaublich schöne Sache.
Zusammenfassend
Ich glaube wirklich, dass das Erlernen von Ruby Sie im Allgemeinen zu einem glücklicheren Programmierer machen kann.
Ich kann hier nur aus persönlicher Erfahrung sprechen, aber es hat meiner Entwicklung ehrlich gesagt neues Leben eingehaucht. Ich war über 8 Jahre lang ein PHP-Typ und es war wirklich etwas, das ich nicht „liebte“, aber ich tat es trotzdem. Nachdem ich Ruby gefunden hatte, warf ich buchstäblich die Hände in die Luft und wandte mich nie wieder PHP zu. Es war eine so grandiose Veränderung in meinem Leben, dass ich Projekte erstellt, Jobs bekommen, Beratungsleistungen erbracht und zu einigen großartigen Open-Source-Projekten sowie dem Rails-Kern beigetragen habe, während ich vorher nur ein Student war, der PHP kannte.
Ich könnte natürlich dazu beitragen und diese Dinge in PHP tun, aber der Punkt ist, dass ich nie die Leidenschaft dafür hatte, und Leidenschaft ist so wichtig. Wenn Sie keine Leidenschaft für das haben, was Sie tun, sollten Sie damit aufhören. Im Augenblick. Und dann sollten Sie Ruby on Rails lernen. Es könnte es zurückbringen.
Haben Sie sich schon mit Ruby on Rails beschäftigt? Glauben Sie, dass es da draußen eine bessere Entwicklungsplattform gibt? Lass es uns in den Kommentaren wissen.