Learning Rails Diary – 03 – Dies und Das

Tutorials & Beispiele

Die Website von railsapps ist etwas unübersichtlich gestaltet, bietet aber gute Tutorials mit Beispielprojekten und hilfreichen Artikeln. Da gerade 3.1 die aktuelle Rails Version ist, sollte man sich gleich zum Start mal den Artikel installing-rails-3-1 durchlesen. In diesem Artikel findet man unter anderem Hinweise für die Vorbereitung der gängigen Betriebsysteme. Der Autor dieser Website ist so nett und stellt eine umfangreiche Sammlung von empfehlenswerten Ressourcen zur Verfügung.

HAML & SASS

Eine Philosophy von Ruby on Rails ist es, mit so wenig Aufwand wie möglich, so viel wie möglich zu erreichen. Die Verwendung von HAML folgt diesem Gedanken. Mit HAML ist es möglich mindestens 50% des Quelltextes gegenüber der von HTML einzusparen. HTML hat ein öffnendes und ein schließendes HTML-Element. HAML spart sich das schließende Element und definiert seine Kind-Element durch Einrückung.

SASS ist ein Preprozessor der aus Styles in der SASS- oder SCSS-Syntax allseits bekanntes CSS generiert. Mit der Definition der Styles in SASS spart man ebenfalls einiges an Schreibarbeit und reduziert redundanten Quelltext. Möglich wird das durch den Aufbau einer Struktur, wie man sie von der objektorientierten Programmierung kennt.

Layout

Wer bereits mit Webseiten und Styles gearbeitet hat, merkt schnell wie schwierig es sein kann eine Webseite so zu erstellen, dass sie in allen gängigen Browsern gleich aussieht. Hilfreich dabei sind Bibliotheken, die bereits die gesammelten Problemlösungen beinhalten und bei ihrer Verwendung automatisch anwenden, ohne dass man selber an alles denken muss.

Compass ist so eine Bibliothek. Sie bietet eine Menge von Styles, die den gesammelten Erfahrungen der Webentwickler-Gemeinde entsprechen. Ein Beispiel dafür ist das sogenannte Reset-Script, welches den Style der Applikation zunächst auf einen definierten Ausgangszustand bringt. Das hat unter anderem den Zweck, dass die Eigenarten einzelner Browser das Layout nicht verfälschen können. Desweiteren werden in diesem Script Styles gesetzt, die sich in der Praxis bewährt haben, die jedoch mit dem eigentlichen Layout der Webapplikation nichts zu tun haben. So zum Beispiel das grundsätzliche Einfügen einer Scrolbar auf der rechten Seite. Ohne das explizite Setzen ist diese im Browser nur dann vorhanden, wenn der Inhalt der Website größer als der vertikale, sichtbare Bereich ist. Durch das sporadische Erscheinen und verschwinden der Scrolbar, würde die Anzahl der nutzbaren Pixel in der Breite immer wieder um die Breite der Scrolbar schwanken. Das kann sich ungünstig auf die Platzierung der Elemente einer Website auswirken und zum ungewollten Verschieben der Elemente führen.

Compass bietet zusätzlich ein vordefiniertes Layout mit Blueprint in Form von Mixins in SASS- oder SCSS-Syntax an. Man kann selber entscheiden, ob man von Blueprint nur bestimmte Mixins in seinem Layout verwenden oder gleich sämtliche Mixins als Styles integrieren möchte. Wenn man Blueprint komplett integriert, hat man gleich zum Start zwar ein etwas rustikales, aber brauchbares Layout.

Compass kann jedoch noch mehr. Es bietet eine Fülle von Hilfmethoden für das Erstellen eigener Styles an. So kann man zum Beispiel über die bereitgestellten Mixins ein Raster zur Positionierung von Elementen aufbauen oder die Ecken eines Containers abrunden.

Es gibt weitere Bibliotheken, die best practices sammeln und einem Entwickler in Form eines Gems zur Verfügung stellen.

HTML5Boilerplate ist so eine und kann durch compass-html5-boilerplate ebenfalls mit Compass in das Rails Projekt eingebunden werden.

Twitter Bootstrap bietet nicht nur ein Fundament, auf dem man seine eigenen Styles aufbauen kann, es bietet gleich ein komplettes Layout. Twitter Bootstrap basiert auf Preboot und arbeitet daher nicht mit dem in Ruby implementierten Preprozessor SASS, sondern mit dem in JavaScript implementierten LESS. Der SASS Preprozessor versteht die in LESS-Syntax verfassten Dateien nicht, sie sind also nicht kompatibel. Wer dennoch die tolle Arbeit der Twitter Entwickler nutzen möchte, findet in diesem und in diesem Artikel interassante Informationen und Lösungsvorschläge.

Deployment & Continuous Integration

Wer seine Rails Applikation im Internet betrieben möchte, muss sich um das Hosting und die damit verbundene Administration kümmern. Mit der Plattform heroku kann man den Weg zu diesem Ziel abkürzen. Das bietet sich ganz besonders dann an, wenn man sich die Arbeit zunächst sparen und die Applikation schnell online bringen möchte. Alles kostenlos, so lange man die Applikation im Ramen des kostenfreien Accounts betreibt. railsapps stellt für das Einrichten eine umfangreiche Anleitung zur Verfügung

Continuous Integration ist für das eigene Rails Projekt schnell realisiert, wenn man Travis-CI zusammen mit seinem Github Account verwendet. Nach der Registrierung des Github Accounts bei Travis-CI, können die eigenen Github Repositories im Travis-CI Profil nach belieben aktiviert und deaktiviert werden.

To be continued …

Mehr? Aktuelle Artikel oder alle Artikel im Archiv.