Ruby on Rails SS09 02

633 Aufrufe

Veröffentlicht am

Grundbegriffe

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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. ?

×