Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ruby on Rails im Überblick. Was ist Ruby on Rails? RoR ist ein Framework zur einfacheren Entwicklung, Nutzung und Wartung von Web Applikationen Besteht.

Ähnliche Präsentationen


Präsentation zum Thema: "Ruby on Rails im Überblick. Was ist Ruby on Rails? RoR ist ein Framework zur einfacheren Entwicklung, Nutzung und Wartung von Web Applikationen Besteht."—  Präsentation transkript:

1 Ruby on Rails im Überblick

2 Was ist Ruby on Rails? RoR ist ein Framework zur einfacheren Entwicklung, Nutzung und Wartung von Web Applikationen Besteht seit 2005 und wurde vorrangig für sogenannte Web 2.0 Applikationen entwickelt Rails ist in der objektorientierten Skriptsprache Ruby geschrieben Rails beinhaltet Testunterstützung Rails Applikationen sind in der Model-View-Controller Architektur implementiert Ziel von Rails: keine Wiederholungen (Dont repeat yourself) 2

3 Models, Views, Controllers (MVC) Architektur von Rails Applikationen Model: Die zugrunde liegende Datenstruktur- üblicherweise eine relationale Datenbank View: Das User Interface Sicht auf Daten des zugrunde liegenden Models Bietet die Schnittstelle zu User Interaktionen KEINE Verarbeitung der Daten Controller: Steuert die Applikation Schnittstelle zwischen Webbrowser, View und Model Interagiert mit dem Model Gibt die entsprechende View an den User aus 3

4 MVC Architektur 4

5 Hört sich gut an, ABER Wie sieht das in der Entwicklungsumgebung aus? 5

6 Objektorientierung vs. Datenbanken Vereinung von objektorientierter Programmierung und relationale Datenbanken schwierig Objekte Daten und Operationen Datenbanken Sets von Daten bzw. Werten 2 Lösungsansätze Datenbankzentriertes Programmieren (Datenbanklogik als der Applikationslogik – zB in PHP üblich) Bsp: select * from User where name is supertopcheckerbunny; Object-Relational Mapping (Mapping zwischen Datenbank Tabellen und Klassen) 6

7 Object-Relational Mapping (ORM) Tabellen auf Klassen (zB Tabelle User auf Klasse User) Tabellenzeilen auf Objekte einer Klasse (zB ein Usereintrag) Tabellenspalten auf Attribute des Objekts (zB Username) Klassenmethoden, um Operationen in der Tabelle durchzuführen (zB Hinzufügen eines Users) Instanzmethoden, um Operationen in einer Tabellenzeile durchzuführen (zB Ändern des Passworts eines Users) 7

8 ORM in Rails Rails benutzt Active Record als ORM Layer Minimiert den Konfigurationsaufwand für Entwickler Übernimmt die Handhabung der darunter liegenden Datenbank Validiert Datenmodell und übernimmt die Fehlerhandhabung... Bsp User.find_by_name supertopcheckerbunny 8

9 Rails ist agil Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Das Ziel ist, schnell eine Version funktionierender Software zu haben und diese dann stetig anzupassen bis sie schließlich den Anforderungen/Wünschen entspricht 9

10 Klingt wieder gut, ABER Wie setzt man das um? zB mit Scaffolding Gerüst, das ein schnelles Erstellen kompletter Komponenten ermöglicht, die funktionieren Inkl. Model, Views, Controller Eignet sich gut für ein erstes Prototyping Prototyp wird dann inkrementell erweitert 10

11 Scaffolding Beispiel Einfache Bücherverwaltung (Titel, Autor, Beschreibung) Hinzufügen Editieren Löschen Bücherliste anzeigen Buchdetails anzeigen In Datenbank verwaltet Unit und funktionale Tests In weniger als 5 Minuten? 11

12 Rails Vorteile Mehr an Menschen als an Maschinen orientiert – führt die sehr gute Lesbarkeit von Ruby fort Rails-basierte Web-Anwendungen nehmen den Entwicklern Routine-Arbeit ab Rails verspricht 10-mal schnellere Ergebnisse als vergleichbare Java-Frameworks Rails ist auf verschiedenen Webservern einsetzbar Rails unterstützt agile Entwicklung – schnelles Erstellen funktionierender Prototypen Einfache Wartbarkeit 12

13 Rails Nachteile Völlige Abhängigkeit vom Framework Je spezieller die Webanwendung, desto weniger nutzbar sind die Entwicklungshilfen Applikations- und Datenbankentwicklung in Unternehmen meist getrennt kann zu Problemen führen Hosting – Verbreitung noch nicht so hoch 13

14 Weiterführende Literatur Thomas, Dave/ Hansson, David H. et al: Agile Web Development with Rails. Thomas, Dave et al: Programming Ruby 1.9. The Pragmatic Programmers Guide. 14


Herunterladen ppt "Ruby on Rails im Überblick. Was ist Ruby on Rails? RoR ist ein Framework zur einfacheren Entwicklung, Nutzung und Wartung von Web Applikationen Besteht."

Ähnliche Präsentationen


Google-Anzeigen