Alle Einträge getagt mit " Ruby on Rails "

Ruby

A few years ago, I came across the Ruby programming language, and I fell in love. Somehow, it just seemed to work the way my brain works—I can express myself in Ruby more naturally and with less intervening fluff than in any other language I know. […] And now, for the first time, I can seriously say that Ruby is ready for the enterprise. The language is stable, the libraries are great, and there is a growing pool of talented and enthusiastic Ruby developers, all rising to the challenge. Dave Thomas (Schmidt 2006, Foreword)

 

Ruby ist eine Programmiersprache, die 1995 von dem Japaner Yukihiro Matsumoto veröffentlicht wurde. Sie wurde durch die Sprachen Perl, Eiffel, Ada, Smalltalk und Lisp inspiriert. Die herausragenden Eigenschaften von Ruby sind:

  • Vollständige Objektorientierung. Es existieren keine einfachen Datentypen.
  • Die durch Lisp inspirierten Closures erlauben mächtige Operationen.
  • Ruby Mixins, die eine elegante Art der Mehrfachvererbung darstellen.
  • Das dynamische Typsystem, das große Flexibilität ermöglicht.
  • Die Ausbalancierung zwischen funktionaler und imperativer Programmierung.

Ruby on Rails

Since it first appeared in July 2004, Ruby on Rails has revolutionized the process of developing web applications. It has enabled web developers to become much faster and more efficient, al lowing for quicker application development a critical advantage in these days of web time.
(Orsini 2007, S.1)

 

Ruby on Rails ist ein in Ruby programmiertes Framework für die Entwicklung von Webapplikationen. Es wurde von David Heinemeier Hansson entwickelt und 2004 der Öffentlichkeit vorgestellt. Das Framework folgt dem Model-View-Controller Architekturmuster, bei dem das Softwaresystem in Datenhaltungsschicht (Model), Präsentationsschicht (View) und Programmsteuerung (Controller) aufgeteilt wird.

Ruby on Rails macht von der Möglichkeit der Metaprogrammierung gebrauch um Methoden zu definieren, die wie Erweiterungen der Ruby Syntax wirken. Es folgt dem Prinzip Don’t Repeat Yourself und stellt Konvention über Konfiguration.

Besonders hervorzuheben ist das Modul Active Record, das eine objektrelationale Abbildung der Datenbank nach dem von Martin Fowler, in Patterns of Enterprise Application Architecture, vorgestellten Active Record Designpattern bereitstellt. In Agile Web Development with Rails wird Ruby on Rails in allen Details beschrieben.

1 Aussagekräftige Html-Titel

Jede Html-Datei muss einen Titel enthalten. Der im Html-Kopf notiert ist und für folgende Dinge verwendet wird:

  • Der Titel wird bei der Darstellung der Datei im Web-Browser in der Titelzeile des Browserfensters und in Karteireitern angezeigt.
  • Der Titel wird von Webbrowsern beim Speichern von Lesezeichen verwendet.
  • Der Titel wird im Verlauf der besuchten Seiten in Webbrowsern angezeigt.
  • Der Titel wird bei der Indizierung von Webseiten durch Suchmaschinen als wichtiges Merkmal verwendet.

Somit sollte der Titel möglichst exakt dem Inhalt der Seite entsprechen. Das wirkt sich positiv auf die Usability der Seitennavigation und beim Setzen von Lesezeichen im Webbrowser aus.

Ein Html-Titel muss im Html-Kopf einer Datei definiert werden. Der Html-Kopf sollte aus Gründen der Wartbarkeit nur an einer Stelle im Projekt notiert werden und alle Dateien sollten diesen zentral gehaltenen Html-Kopf inkludieren. Da Titel einer Html-Datei möglichst dem Inhalt der Seite entsprechen sollte, muss dieser im Idealfall für jede einzelne Seite angepasst werden. Den Html-Kopf in einzelne Seiten der Darstellungschicht zu kopieren würde jedoch dem DRY-Prinzip widersprechen.

Ein Ausweg besteht darin, im zentral gehaltenen Html-Kopf eine Funktion zu definieren, die das Titel-Element generiert und dessen Inhalte als Parameter von jeder Seite der Darstellungschicht übergeben werden. In der Darstellungschicht kann dieser Methodenaufruf gleichzeitig als Html-Überschrift verwendet werden die bei den meisten Seiten dem Html-Titel entspricht.

Patrick Crowley hat mit Headliner ein Rails Plugin geschrieben das genau das macht. Es ist wirklich einfach zu benutzen.

Nach der Installation über:

script/plugin install http://the.railsi.st/svn/repo/plugins/headliner/

Muss eine zentrale Konfiguration des Plugins in der Layout Datei vorgenommen werden:


< %= title :site => "journizer.com", :separator => "-",
:lowercase => true, :reverse => true %>

In den einzelnen Views kann der Html-Titel jetzt mit:

< %=t "My page title" %>

gesetzt werden.

Suchmaschinenoptimierung für Rails Anwendungen

Ich bin im Moment dabei mir Gedanken darüber zu machen wie man eine Ruby on Rails Anwendung für Suchmaschinen optimieren kann. Ich plane darüber eine kleine Serie von Artikeln zu schreiben.

Folgende Teile habe ich geplant:

Teil 1 von 4: Aussagekräftige HTML-Titel

Teil 2 von 4: Sinnvolle HTML-Meta Angaben

Teil 3 von 4: Menschenlesbare Urls

Teil 4 von 4: Sitemap.xml