1. Ruby on Rails
Erweitern
Ramon Wartala - Jan Krutisch
9. Juli 2007 - Lehmanns Fachbuchhandlung, Hamburg
2. Wer wir sind
• Jan Krutisch und Ramon Wartala
• Ehemalige Kollegen
• Gründer der deutschen Rails-UG
• Autoren von quot;Webanwendungen
mit Ruby on Railsquot;, Addison-Wesley
3. Wer wir sind
• Jan Krutisch und Ramon Wartala
• Ehemalige Kollegen
• Gründer der deutschen Rails-UG
• Autoren von quot;Webanwendungen
mit Ruby on Railsquot;, Addison-Wesley
4. Ramon Wartala
• Dipl.-Inform.
• IT-Leiter bei Orangemedia GmbH
• Einer der führenden Online-Vermarkter
• Autor zahlreicher Artikel und
Tagungsbeiträge rund um
Softwareentwicklung
5. Jan Krutisch
• Dipl.-Ing. (FH) Umwelttechnik
• Entwicklungsleiter für Rails-Projekte bei
mindmatters (www.mindmatters.de)
• artdoxa.com / familylounge.de
• Jahrelange Erfahrung als Programmierer im
Webbereich insbesondere in Java und PHP
6. Ruby on Rails Historie
• Juli 2004, David Heinemeier Hansson
veröffentlicht Ruby on Rails als quelloffenes
Framework für dir Erstellung von Web
Applikationen mit Ruby
• Version 1.0 im Dezember 2005
• Version 1.2 im Januar 2007
9. • Moderne Skriptsprache
• Anleihen aus Perl, Python, Smalltalk, ...
• Alles ist ein Objekt: 5.days.from_now
• Starke Introspektion (aka Reflection)
• Schwache Typisierung
• Closures, Blocks, Iteratoren, etc.
15. • ModelViewController-Architektur
• Convention over Configuration
• Don't Repeat Yourself
• Unterstützt die Testgetriebene Entwicklung
• Unterstützt agile Methoden
• Unterstützt Web2.0-Techniken (Ajax etc.)
16. Das Versprechen von Rails
• Sehr viel schnellere Entwicklung durch:
• Sehr viel weniger quot;Glue codequot;
• Konzentrierung auf Geschäftslogik
• Mehr Spaß am Entwickeln
• Höhere Produktivität
17. Nachteile von Rails
• Ruby ist nicht sehr performant
• Rails ist nicht sehr performant
• Kein „Allgemeinwissen“
• (Noch) keine quot;sichere Wahlquot; für Entscheider
51. Eigene Generatoren
• Rails Generatoren in
librails_generatorgenerators
components
• Eigene Generatorn in lib
generators
52. Eigene Generatoren
• Generatoren sind in Rails an vielen Stellen
• Eigener Scaffolder Generator wii_scaffolder
• Rails scaffolder als Ausgangspunkt
53. Generator-Anatomie
• Jeder Generator erbt von
Rails::Generator::Base bzw.
Rails::Generator::NamedBase
• Regeln zur Erstellung / Anpassung von
Dateien / Templates
• Implementierung der Methode manifest
56. wii_scaffold anwenden
• ruby script/generate wii_scaffolder Book
books list
• „Erzeuge mir mit Hilfe des wii_scaffold-
Generators ein Modell Book mit einem
Controller books und einer Action list“
59. Erweiterung verteilen
• Code und zusätzliche Dateien verteilen
• RubyGems als standardisiertes
Distributionswerkzeug
• Plugins auch direkt über SVN installierbar
ruby script/plugin install
http://svn.meinsubversion.com/mein/plugin
60. RubyGem
• Ausgangspunkt jeder Gem ist die
Datei .gemspec
• Ruby-basierte Spezifikation der zu
„verpackenden“ Erweiterung