Florian Duetsch war mittelschwer begeistert von dem Tutorial. Ich bin gespannt, wie seine ersten Rails-Prototypen aussehen.
Posted by Phillip Ghadir at 3:38 PM
Ich möchte mich noch mal bei allen Teilnehmern für das große Interesse bedanken. Mir hat der Ruby on Rails Workshop (Flyer als PDF) in doppelter Hinsicht Spass gemacht: Einerseits wurde ich bestens empfangen und versorgt. Außerdem waren die Teilnehmer offensichtlich sehr interessiert, da sie selbst nach Veranstaltungsschluss noch nicht gehen wollten … (Ja, ich dachte auch erst, dass sie eingeschlafen sind.)
Aufgrund der längeren Anreise habe ich auf das Mitbringen von Literatur-Hinweisen verzichtet. Daher hier noch einmal die Empfehlungen, jeweils zwei Bücher zur Programmiersprache Ruby und zwei zum Framework Ruby on Rails:
Programming Ruby Ruby Cookbook
Agile Web Development with Ruby On Rails Rails Recipes
Posted by Phillip Ghadir at 3:33 PM
Bei dem Ruby on Rails Tutorial (Flyer als PDF) an der Heinrich-Heine-Universität in Düsseldorf haben wir am Mittwoch insgesamt 34 Teilnehmern unser liebstes Framework für datenbank-gestützte Web-Anwendungen vorgestellt. CREDITS: Natürlich ist Rails nicht "unser Framework" sondern ein frei-verfügbares, von DHH entwickeltes Framework.
Fragen des Tages bezogen sich auf die Erstellung barrierefreier Web-Anwendungen und auf ActiveRecords Caching-Strategien, beim Zugriff auf im Speicher geänderter Entitäten, die noch nicht in die Datenbank gespeichert wurden.
Erstellung barrierefreier Web-Anwendungen
Eine Web-Anwendung nennt man barrierefrei, wenn die Verwendung der Inhalte keine speziellen technischen oder körperlichen Fähigkeiten zwingend voraussetzt: Zum Beispiel, wenn sie auch mit einem Nicht-Standard-Web-Browser sondern beispielsweise mit einem PDA-Browser angesehen oder mit einem Braille(Vor-)lesegerät vorgelesen werden kann. Insbesondere für sehbehinderten Menschen ist die Schrift-Vergrößerung der einzige Weg, Inhalte lesen zu können: eine Option, die blinden Menschen nicht zur Verfügung steht.
Web-Oberflächen realisiert man mit Ruby on Rails direkt mit (X)HTML und CSS. Man verwendet in Rails spezielle Templating-Mechanismen, wie ERb oder RJS, mit deren Hilfe Inhalte (Text-/HTML-/JavaScript-Dokumente) dynamisch zusammen gesetzt werden können. So kann man - als Rails-Entwickler - die speziellen Anforderungen an die Barrierefreiheit der Web-Inhalte selbst gut berücksichtigen.
Es hat sich bewährt dabei ein paar Faustregeln zu befolgen:
|
Weder erschwert noch erleichtert Rails die Erstellung von barrierefreien Webseiten, zumindest solange man auf AJAX-Features verzichtet. Sobald man allerdings mit RJS beginnt, könnte die Barrierefreiheit schwieriger zu erhalten sein. - Dazu habe bislang noch keine Meinung.
Rails ActiveRecord und Caching
Im Gegensatz zu anderen Persistenz-Frameworks hat ActiveRecord keinen Cache eingebaut. Entweder man verlässt sich auf die Caching-Strategien der eingesetzten Datenbank (was in verschiedenen Szenarien eine gute Idee ist) oder man erweitert Rails um ein eigenes Caching (wenn dies nötig wird). Glücklicherweise bietet Rails vielfältige Möglichkeiten, sich in den Kontrollfluss einzuklinken (bevor eine Methode aufgerufen wird, bevor eine Entität gespeichert wird, bevor eine find-Methode ausgeführt wird, usw.). Damit kann man die Erweiterung um ein Caching erstens recht einfach selbst zu bauen.
Nachtrag:
Stefan, Ihr wisst schon, der mit dem Blog, hat mir zu dem Caching noch einen Link auf einen alten Eintrag zur Identity Map geschickt.
Posted by Phillip Ghadir at 8:33 AM
Administration des IBM WebSphere Applikationsserver, Über die Entwicklung von BeaTunes, Vom Geschäftsprozess zum Service, REST - das bessere Web Services-Modell, Domain Specific Languages - ein vielseitiges Eventprogramm.
Das dieswöchige innoQ-Event in Reggis war nicht nur dank der wunderschönen Lokation am Vierwaldstättersee ein toller Erfolg. Die hervorragend präsentierten Vorträge haben viele Diskussionen angestoßen und wieder einmal den Austausch zwischen den Interessen- und Projektgruppen gefördert.
Posted by Phillip Ghadir at 2:35 PM
Diese Woche haben Stefan und ich einen Workshop zu Ruby on Rails gehalten. Gemeinsam mit den Teilnehmern haben wir in zwei Tagen die Grundlagen von Ruby on Rails behandelt.
Einige der mächtigen Sprachmöglichkeiten von Ruby haben bei den Teilnehmern Bedenken verursacht. Beispielsweise kann die Möglichkeit, jederzeit existierende Klassen zu redefinieren und somit Struktur als auch Verhalten verändern zu können, ein Projekt mit (vielen) “unterdurchschnittlich talentierten aber ambitionierten” Entwicklern ins reinste Chaos führen.
Allerdings zeigt Rails sehr gut, wie die Ausdruckskraft von Ruby auch dazu verwendet werden kann, ein leichtgewichtiges, klares Programmiermodell zu schaffen, mit dem Web-Anwendungen leicht realisiert werden können. Ich kenne keinen Persistenzlayer, in dem man einfach deklarieren kann, wie dies mit ActiveRecord, dem Persistenz-Framework von Rails, getan werden kann:
class Person < ActiveRecord::Base validates_presence_of :last_name belongs_to :tenant has_many :addresses end
Dieser Code definiert eine funktionsfähige Entität Person, die garantiert, dass der Nachname gesetzt ist, unterhalb eines Mandanten (tenant) angesiedelt ist und eine beliebige Zahl von Adressen haben kann.
Das hätte man doch auch erraten, ohne Rails bzw. ActiveRecord zu kennen, oder?
Deutschsprachige Informationen rund um das Thema gibt es unter anderem hier: http://www.rubyonrails.de/
Posted by Phillip Ghadir at 12:35 PM
Gestern haben Stefan und ich ein 4-stündiges Einführungs-Tutorial zu Ruby-on-Rails gehalten.
Vielen Dank an Prof. Dr. Volker Klingspor von der FH-Bochum für die großartige Vorbereitung.
Es hat uns sehr viel Spass gemacht.