Your SlideShare is downloading. ×
Daniel Dengler
                                                                                               web develope...
PAPEO
   Portable Assistant for
Personal Electronic Ordering
Versionsvergleich
PHP Version                         Ruby on Rails Version
• 7000 Zeilen PHP Code              • 700 Zeil...
Zeitaufwand


              Konzeption
              PHP Version + Java Module
              Ruby on Rails Version
       ...
Weitere Beispiele
2
Grundbegriffe
Ruby ≠ Rails
Ruby ≠ Ruby on Rails
Ruby: 
 • Objektorientierte Programmiersprache
 • Interpretierte Sprache
 • Angenehme, einfache Synta...
Framework
• Grundgerüst auf dem eine konkrete
  Anwendung entwickelt werden kann

• Stellt Objekte / Funktionen zur Verfüg...
Vorteile
• Immer wiederkehrende Probleme müssen
  nicht neu gelöst werden

• Einheitliche Architektur erleichtert das
  ei...
Vorteile
• Abstraktion der Datenhaltung
  (Austausch des DB-Systems ohne weiteres
  denkbar)

• Trennung von Daten, Logik ...
The right
tool for the
 right job
Model View Controller

Trennung von:

 • Datenmodell (Model)
 • Ablau ogik (Controller)
 • Darstellung (View)
Model View Controller
Vorteile
 •   Jede Komponente kann unabhängig von
     Spezialisten gep egt werden
 •   Anwendung wi...
Datenmodell
Interaktion mit der Datenbank
create, read, update, delete (CRUD)

Beziehungen herstellen
(z.B. Projektobjekt ...
Ablau ogik
Interaktion mit den Datenmodellen
(z.B. lösche das Projekt mit der Nummer 27)

Bedingungen prüfen
(z.B. darf ei...
Darstellung
Anzeige der vom Controller erhaltenen Daten
(z.B. übergebene Projekte als Tabelle ausgeben)

Verknüpfungen her...
Linksammlung
Offizielle Ruby Website
http://www.ruby-lang.org

Offizielle Ruby on Rails Website
http://www.rubyonrails.com/

M...
?
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Ruby on Rails SS09 02
Upcoming SlideShare
Loading in...5
×

Ruby on Rails SS09 02

416

Published on

Grundbegriffe

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
416
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide


































  • Transcript of "Ruby on Rails SS09 02"

    1. 1. Daniel Dengler web developer Ruby on Rails Workshop SS 2009 „Ruby on Rails“ and the Rails-Logo are registered trademarks of David Heinemeier Hansson – www.rubyonrails.org
    2. 2. PAPEO Portable Assistant for Personal Electronic Ordering
    3. 3. Versionsvergleich PHP Version Ruby on Rails Version • 7000 Zeilen PHP Code • 700 Zeilen Ruby Code • MySQL Datenbank • PostgreSQL Datenbank • Apache Webserver • Mongrel Applicationserver im • Mängel bei der Barrierefreiheit Clusterbetrieb • Schlechte Usability im Backend • Apache als Proxy Balancer • Keine Tests • Verbesserte Barrierefreiheit • Dateninkonsistenz möglich • Bessere Usability im Backend • langsam dank AJAX • Einige Tests • Neue Features • Transaktionssicherheit • schneller
    4. 4. Zeitaufwand Konzeption PHP Version + Java Module Ruby on Rails Version Dokumentation
    5. 5. Weitere Beispiele
    6. 6. 2 Grundbegriffe
    7. 7. Ruby ≠ Rails
    8. 8. Ruby ≠ Ruby on Rails Ruby:  • Objektorientierte Programmiersprache • Interpretierte Sprache • Angenehme, einfache Syntax Ruby on Rails: • Framework zur Webentwicklung
    9. 9. Framework • Grundgerüst auf dem eine konkrete Anwendung entwickelt werden kann • Stellt Objekte / Funktionen zur Verfügung, die vom Anwendungsentwickler verwendet werden können • Externe Module können wiederverwendet werden (Plugins)
    10. 10. Vorteile • Immer wiederkehrende Probleme müssen nicht neu gelöst werden • Einheitliche Architektur erleichtert das einlesen in neue Anwendungen • Grundlegende Sicherheit bereits durch das Framework vorgegeben (etwa das Verhindern von SQL Injections)
    11. 11. Vorteile • Abstraktion der Datenhaltung (Austausch des DB-Systems ohne weiteres denkbar) • Trennung von Daten, Logik und Darstellung (siehe MVC) -> getrennte Erstellung durch jeweiliges Fachpersonal möglich
    12. 12. The right tool for the right job
    13. 13. Model View Controller Trennung von: • Datenmodell (Model) • Ablau ogik (Controller) • Darstellung (View)
    14. 14. Model View Controller Vorteile • Jede Komponente kann unabhängig von Spezialisten gep egt werden • Anwendung wird transparenter und exibler Nachteil • Bei sehr kleinen Anwendungen oft zu komplex Erweiterung • Routing bei Webapplikationen
    15. 15. Datenmodell Interaktion mit der Datenbank create, read, update, delete (CRUD) Beziehungen herstellen (z.B. Projektobjekt hat viele Aufgabenobjekte) Validierung von Eingabedaten (z.B. Titel ist für ein Aufgabenobjekt erforderlich) Datenlogik (z.B. ein Projektobjekt gilt als abgeschlossen, wenn alle zugeordneten Aufgabenobjekte als erledigt markiert sind)
    16. 16. Ablau ogik Interaktion mit den Datenmodellen (z.B. lösche das Projekt mit der Nummer 27) Bedingungen prüfen (z.B. darf ein Benutzer ein Projekt löschen?) Fehlerbehandlung (z.B. konnte das Aufgabenobjekt gespeichert werden?) Weiterleiten von Daten an die jeweilige Darstellung (z.B. alle Projekte laden, die noch nicht abgeschlossen sind. Danach generieren der Projektübersicht anstoßen)
    17. 17. Darstellung Anzeige der vom Controller erhaltenen Daten (z.B. übergebene Projekte als Tabelle ausgeben) Verknüpfungen herstellen (z.B. Links zum bearbeiten der Projekte) Anzeigen von Fehlermeldungen (z.B. warum konnte das Aufgabenobjekt nicht gespeichert werden?) Darstellen der Daten in einem bestimmten Format (z.B. als HTML, XML oder PDF)
    18. 18. Linksammlung Offizielle Ruby Website http://www.ruby-lang.org Offizielle Ruby on Rails Website http://www.rubyonrails.com/ MVC http://de.wikipedia.org/wiki/ Model_View_Controller
    19. 19. ?

    ×