Ruby on Rails [ Ruby On Rails.ppt ] - [Ruby - [Ruby-Doc.org ...
Dynamisch: Ruby on Rails
-
Upload
thomas-witt -
Category
Technology
-
view
1.316 -
download
0
description
Transcript of Dynamisch: Ruby on Rails
![Page 1: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/1.jpg)
Berlin, den 15. Juni 2009
Dynamisch:
Ruby on Rails
![Page 2: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/2.jpg)
Ruby on Rails
![Page 3: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/3.jpg)
“
Quelle: http://www.rubyonrails.org/
Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
![Page 4: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/4.jpg)
Ruby on Rails{}Sprache
Framework
![Page 5: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/5.jpg)
Yukihiro “matz” Matsumoto
![Page 6: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/6.jpg)
Ruby ist …
Open Source• >10 Implementationen
Objektorientiert
Dynamisch und Flexibel
Eine Interpretersprache
Einfach zu erlernen
Die zehntbeliebteste Programmiersprache der Welt• www.tiobe.com
![Page 7: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/7.jpg)
David Heinemeier Hansson
![Page 8: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/8.jpg)
Rails ist …
Open Source
Ruby-basiert
Ein Framework für datenbankbasierte Web-Applikationen
Opinionated Software• Convention over
Configuration• DRY• Testing
Basierend auf MVC
![Page 9: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/9.jpg)
MVCModel-View-Controller-Ansatz
![Page 10: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/10.jpg)
ModelView
Controller
MVC-Pattern
![Page 11: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/11.jpg)
ModelView
Controller
MVC-Pattern
![Page 12: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/12.jpg)
ModelView
Controller
MVC-Pattern
![Page 13: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/13.jpg)
Controller Model ViewBeginn aller HTTP-
Anfragen
Welches Layout wird ausgewählt?
Zugriff auf die Datenbank via Model
Datenbank-Zugriff
Tatsächliche „Objekte“(Flug, Flughafen, Hotel)
mit Business-Logik
Überprüfungen(Flight.valid?)
Nützliche Methoden(Flight.destination)
Callbacks(Flight.save)
HTML-Seiten
E-Mails
Stylesheets
JavaScript
MVC-Pattern
![Page 14: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/14.jpg)
Opinionated?Convention over Configuration, DRY, Testing
![Page 15: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/15.jpg)
Convention over Configuration
Festgelegte Struktur im Dateisystem• Source-Code• Libraries• Plugins• Dokumentation
Filenaming conventions• camelCase class names,
Underscore Filenames
Datenbanktabellen
Konfigurationsdateien
![Page 16: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/16.jpg)
DRY - Don‘t Repeat Yourself
Wiederverwendbarer Code
Metaprogrammierung• Dynamische erstellte
Methoden
![Page 17: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/17.jpg)
Testing
Tests gehören automatisch zum Code• Test Driven Development• Behaviour Driven
Development
Verschiedene Ebenen• Datenbank: Fixtures • Unit tests: Models• Functional: Controller • Integration: Workflow• Browser: Selenium
![Page 18: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/18.jpg)
Rails und seine natürliche Umgebung
Mehrere Module• ActiveRecord, ActiveSupport,
ActiveResource, ActionPack, Rails
Typische Helferlein• rake• gem• capistrano• Phusion passenger• Rspec
Implementationen• MatzRuby (1.8), YARV (1.9),
JRuby, Rubinius, MacRuby
![Page 19: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/19.jpg)
Infopark Rails Connector
Ermöglicht native Integration von Fiona-CMS-Content mit Rails
Rails ist das führende System
DynamischerLive-Server• Sofortige Publizierung• Basis für Personalisierung
![Page 20: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/20.jpg)
Infopark Rails Connector
Rails Connector
CMS-Server
Infopark CMS Fiona
Datenbank
Repli-
kation
Rails Connector
Web-Server 1
Suche
Datenbank
Rails Connector
Web-Server 2
Suche
Datenbank
Load Balancer
![Page 21: Dynamisch: Ruby on Rails](https://reader034.fdocuments.us/reader034/viewer/2022052523/5553039ab4c905533f8b47f6/html5/thumbnails/21.jpg)
Infopark AG
Kitzingstr. 15, D-12277 Berlin
Tel. +49 30 747993-0
Fax +49 30 747993-93
www.infopark.de
Thomas Witt
Ihre Fragen?
Vielen Dank für Ihre Aufmerksamkeit!
Twitter: @thomas_witt
Blog: www.thomas-witt.com