Ein begleiteter Einstieg in das Studium von Ruby on Rails

Was über Ruby on Rails zu lernen ist und wo man es finden kann.

Wir bei Taktsoft setzen seit 2008 auf Ruby und Ruby on Rails im Bereich der Web-Entwicklung. Rails ist ein modernes und stabiles Framework, das zu unserem agilen Entwicklungsprozess passt und es durch seine Konventionen ermöglicht, leicht wartbare und qualitativ hochwertige Software zu entwickeln. Unser Wissen und die Erfahrungen, die wir machen, zu teilen ist Teil unserer Firmenkultur. In den letzten Jahren haben wir viele Werkstudenten auf dem Weg durch das Studium belgleitet, sie angelernt und von Beginn an in unser Entwicklerteam integriert. Dadurch konnten wir viele wertvolle Erfahrungen sammeln. Dazu gehört, wie ein reibungsloser Einstieg in die Web Entwicklung mit Ruby on Rails für Studenten aussehen kann.

Die Komponenten der täglichen Arbeit mit Rails kennen zu lernen und deren Sinn und Zweck sowie ihre Rolle zu verstehen, ist ein großes Vorhaben und kann Einsteiger leicht überwältigen und zu Frustation führen. Viele der Tools und Technologien sind voneinander abhängig und oft versteht man die Beziehungen zwischen diesen erst in der Praxis.

Wir bei Taktsoft wollen mit diesem Leitfaden den Einstieg in das Studium von Rails und den dazugehörigen Tools erleichtern und hoffen, dass er allen Interessierten dabei hilft, sich auf dem Weg zum Web Entwickler zurecht zu finden.

Aller Anfang ist schwer

Der Monolith

Ruby on Rails ist ein Web Framework, dass dem Entwickler sehr viele Aufgaben abnimmt und ihr bzw. ihm ermöglicht, sich um die wirklich interessanten Dinge zu kümmern. Es unterscheidet sich von vielen anderen Frameworks in seinen Zielsetzungen. So ist die aus der Ruby-Welt geschätzte "Programmierer Zufriedenheit" ein wichtiger Aspekt in dem Design von Rails. Mit seinem Motto "Konvention vor Konfiguration" hat Rails viele andere Frameworks beeinflusst und damit einen großen Teil der Industrie verändert. Des Weiteren sind lang bewährte Philosophien wie die testgetriebene Entwicklung und ein agiler Entwicklungsprozess fester Bestandteil der Rails-Mentalität und werden von dem Framework belohnt.

Rails ist ein sogenannter Monolith. Oft hört man auch: Rails wird "inklusive Batterien" geliefert. Das bedeutet, dass Rails dem Entwickler von vornherein alle Werkzeuge mit an die Hand gibt, die für die Entwicklung von Web Anwendungen benötigt werden. Rails bringt einen Web-Server und eine Konsole für die Entwicklung mit. Ein Teil von Rails beschäftigt sich ausschließlich mit der Darstellung und der Anzeige der Webseiten und ein anderer Teil ist verantwortlich dafür die Daten aus der Datenbank mit den Objekten in der Anwendung zu verknüpfen. Aus diesem Grund ist Rails für Einsteiger und erfahrene Entwickler gleichermaßen interessant.

Quo vadis?

Eine Reise von tausend Meilen beginnt mit dem ersten Schritt

Wie schon erwähnt, ist der Einstieg in die Entwicklung von Webapplikationen nicht zu unterschätzen, da dieses Themengebiet viele verschiedene Schichten der IT abdeckt und eine Vielzahl an Technologien in der Webentwicklung eingesetzt werden. Für diesen Leitfaden setzen wir voraus, dass die grundlegende Funktionsweise des Webs verstanden ist. Die Begriffe HTML, CSS und Javascript sollten keine Fremdwörter sein und deren Rolle in Bezug auf das Erstellen von Webseiten muss man erklären können. Es ist jedoch nicht zwingend erforderlich, diese Werkzeuge ohne Hilfe benutzen zu können.

Jedem Einsteiger empfehlen wir die Rails Guides zu lesen. Dies ist das offizielle Handbuch zu Rails und auch für erfahrene Entwickler immer wieder ein Ort, an den man zurück kommt, sollte man etwas vergessen haben. Für Einsteiger ist das erste Kapitel "Getting Started" der beste erste Schritt in die Welt von Rails und kann an einem Tag bearbeitet werden. Die Rails Guides sind jedoch kein Lehrbuch, das man am Stück durcharbeiten sollte. Vielmehr bieten sie ein vertiefendes Verständnis der verschiedenen Aspekte von Rails, während man anderweitig Erfahrungen mit Rails sammelt.

Den intensivsten und umfassendsten Einstieg in Rails bietet das Rails Tutorial von Michael Hartl. Das Buch ist für jeden frei im Internet zugänglich und hat sich aus gutem Grund als Standardwerk für den Einstieg in Rails etabliert. Das Buch wird stetig aktualisiert und um Neuerungen in Rails erweitert. Das besondere an diesem Buch ist, dass dem Leser nicht nur einfach Rails erklärt wird, sondern anhand verschiedener Beispielanwendungen das Vorgehen und die Herangehensweise gezeigt werden. Dabei entwickelt der Leser die Anwendungen Schritt für Schritt selbst. Das Vorgehen spiegelt einen echten Arbeitsablauf mit Rails wieder und zeigt zudem die Nutzung von Git als Versionskontrollsystem und Heroku als Cloud Service zum Hosten der Anwendungen. Auf der Webseite www.railstutorial.org finden sich zudem Screencasts zu diesem Buch, die zwar eine kostenpflichtige, aber durchaus sinnvolle Erweiterung darstellen, in denen man dem Autor über die Schulter schaut und den Umgang mit den verschiedenen Werkzeugen im echten Leben sieht. Wir haben die Erfahrung gemacht, dass das gewissenhafte Durcharbeiten dieses Buches bis zu 3 Wochen in Anspruch nimmt, daher empfiehlt es sich bei Studenten, dies innerhalb der Semesterferien zu tun. Das Rails Tutorial verlangt sehr viel Konsequenz und Disziplin, die aber belohnt werden. Hat man das Buch erfolgreich durchgearbeitet, besitzt man ausreichend Wissen von Rails, um in kleineren Projekten Teilaufgaben übernehmen zu können oder eigene zu beginnen.

Für einen schnellen, aber nicht vollständigen Einblick in Rails können wir den kostenlosen interaktiven Kurs von Codeschool Rails for Zombies Redux empfehlen. Zwar behandelt dieser Kurs nicht die aktuelle Version von Rails (sondern Version 3.1), dennoch kann er für Einsteiger sehr hilfreich sein. Durch das interaktive Absolvieren von Code Challenges im Browser fällt das Lernen leichter, die vorgegebene Struktur und die Lehrvideos vor jedem Kapitel helfen dabei, sich auf einen Aspekt von Rails zu konzentrieren. Mit einer geschätzten Länge von 2 - 3 Stunden ist er an einem Nachmittag beziehungsweise Abend schnell absolviert. Darauf aufbauend bietet Codeschool kostenpflichtig aktuellere, vertiefende Kurse an. Von diesen empfehlen wir Rails 4: Zombie Outlaws und Rails 4 Patterns

Weiterführende Links zum Thema Webentwicklung mit Rails

Im Internet finden sich noch sehr viele weitere hilfreiche Ressourcen zum Lernen. Einen guten Überblick findet man beim RailsApps Project. Besonders interessant ist der Artikel von David Heinemeier Hansson, in dem er die Philosophie von Rails erklärt und das, was es so besonders macht.

Auch interessant: