14
Ruby on Rails im Überblick

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

Embed Size (px)

Citation preview

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

Ruby on Rails im Überblick

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

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 (Don‘t

repeat yourself)2

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

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

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

MVC Architektur

4

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

Hört sich gut an, ABER... ... Wie sieht das in der Entwicklungsumgebung

aus?

5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Weiterführende Literatur http://rubyonrails.org 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