Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktische Informatik Prof. Dr. Lutz Wegner Seminar Internet-Technologie (Skriptsprachen) Thema: Ruby (on Rails) Mohamed El Bahri (Sommersemester 2009)

Ähnliche Präsentationen


Präsentation zum Thema: "Praktische Informatik Prof. Dr. Lutz Wegner Seminar Internet-Technologie (Skriptsprachen) Thema: Ruby (on Rails) Mohamed El Bahri (Sommersemester 2009)"—  Präsentation transkript:

1 Praktische Informatik Prof. Dr. Lutz Wegner Seminar Internet-Technologie (Skriptsprachen) Thema: Ruby (on Rails) Mohamed El Bahri (Sommersemester 2009)

2 Inhalt 1.Geschichte, Eigenschaften 2.Anwendungsbereiche, Plattformen 3.Sprachgrundlagen 4.Vorteile und Nachteile 5.Ruby on Rails 6.Versionen und Philosophie 7.Das Modell-View-Controller(MVC) 8. -Validierung

3 Was ist Ruby ? Ruby ist eine sehr mächtige objektorientierte Skriptsprache mit einer einfachen Syntax. Die Sprache ist sehr vielseitig einsetzbar: von einfachen Skripten zum Filtern von Textdateien bis zum objektorientierten Programme, von grafischen bis zu Webanwendungen. Ruby Programme werden nicht (wie z.B. in Java) in ein Binärformat übersetzt, sondern direkt von einem Interpreter verarbeitet. Ruby-Programme werden in Dateien mit der Endung.rb gespeichert

4 Geschichte Der Japanische Programmierer Yukihiro Matsumoto hat die Sprache entwickelt und wurde im Jahr 1995 veröffentlicht. Sie steht unter der GNU General Public License (GPL). Als das erste englischsprachige Buch im Jahr 2000 erschienen, wurde die Sprache international verbreitet. Erst in den zwei letzten Jahren wurde die Sprache populär, da das Framework Ruby on Rails die schnelle Entwicklung robuster und sicherer Webanwendungen ermöglicht. Ruby wird immer weiterentwickelt. Eine Gruppe, die über die ganze Welt verteilt, arbeitet an Erweiterungen und an der Dokumentation. Die aktuelle Version ist

5 Eigenschaften von Ruby Ruby besitzt die folgenden Eigenschaften: Konsequent: Eine kleine Menge von Regeln sollten die ganze Sprache definieren. Kompakt: Es gibt keine überflüssigen Sprachelemente. Flexibel: Eine Sprache sollte genug Spielraum bieten, so dass man alles mit ihr machen kann. Anpassungsfähig: Programmiersprachen sollen Menschen helfen, sich auf das Problem zu konzentrieren und nicht mit der Sprache zu kämpfen

6 Anwendungsbereiche Ruby wird in vielen Bereichen gesetzt: Prototyping Webanwendungen (Online-Systeme, Wikis, Foren) auch grafische Systeme (z. B. mit Tk, GTK, Fox) Datenverarbeitung/-Analyse Client-Server-Systeme

7 Plattformen Im Unix-Bereich werden folgende Betriebssysteme unterstützt: Linux(alle Distributionen und viele liefern sogar eine Version mit) Mac OS X(enthält Ruby ebenfalls ab Werk) FreeBSD, OpenBSD und NetBSD Sun Solaris und viele andere Unix-Varianten Ruby ist für folgende Nicht-Unix-Plattformen verfügbar: Alle Windows-Versionen ab Windows 95 und NT 4.0 MS-DOS, und damit auch die klassischen Windows-Versionen bis 3.11 Klassisches Mac OS bis Version 9 IBM OS/

8 Beispiel (Hello) puts "Hallo Welt!" jetzt = Time.new puts "Es ist jetzt #{jetzt}." puts "wie heissen Sie?" name = gets name.chomp! puts "Hallo #{name}!"

9 Sprachgrundlagen Kommentare: wenn eine Zeile mit (#) beginnen, gilt diese als Kommentar und wird von Ruby-Interpreter ignoriert. Wenn längere Erklärungspassagen eingefügt werden soll, die ebenfalls vom Interpreter ignoriert werden sollen, können diese zwischen =begin und =end platzieren. Variablen: In Ruby wird eine Variable ganz einfach erzeugt, indem der Variable einen Anfangswert zugewiesen wird. Bsp. A = 1 oder zahl = 7 * 3. Soll eine Variable unabhängig von allen Gültigkeitsbereichen im gesamten Skript gelten, wird vor dem Namen ein Dollarzeichen ($) gesetzt. Konstanten: wenn ein Bezeichner aus Großbuchstaben (und Ziffern) besteht, wird keine Variable definiert, sondern eine Konstante. Bsp. DM = 1,95583 Arrays: Ein Array enthält beliebig viele Werte beliebiger Typen, die über den Variablennamen angesprochen wird

10 Sprachgrundlagen Reguläre Ausdrücke. Arithmetische Operationen: +, -, *, /, % Vergleichsoperationen: ==, !=,, = Logische Operationen:, &&, ! Methoden: können vordefinierte Methoden sein als auch selbst geschriebenen. Kontrollstrukturen: if…else case-when while until loop do for-Schleife

11 Vorteile und Nachteile Ruby hat die folgende Vorteile im Vergleich mit den anderen Skriptsprachen: vergleichsweise einfach und schnell zu erlernen gut lesbarer, verständlicher Code und Plattform-unabhängig großer Funktionsumfang: Threads, reguläre Ausdrücke, Design Patterns,... große Bibliothek: XML, HTTP, GTK, OpenSSL, Datenbanken,... gute, umfangreiche Dokumentation, hilfsbereite Community Wird bis heute an der Sprache weiterentwickelt Ruby hat die folgende Nachteile: als interpretierte Sprache natürlich etwas langsamer Fehler (ohne Testen) erst zur Ausführungszeit erkennbar

12 Ruby on Rails Ruby on Rails, kurz Rails, früher auch oft kurz RoR. David Heinemeier Hansson hat die Sprache entwickelt. Es wurde im Juli 2004 zum ersten Mal der Öffentlichkeit vorgestellt. Rails ist ein in der Programmiersprache Ruby geschriebenes Framework, das die Entwicklung, Verbreitung und Wartung von Web-Anwendungen vereinfacht. Ruby on Rails setzt das Model-View-Controller (MVC) für das Web um. Rails-Anwendungen werden in Ruby geschrieben

13 Versionen Version 1.0 Ursprünglich wurde Rails für eine Webapplikation namens Basecamp entwickelt. Im Juli 2004 wurde zum ersten Mal der Öffentlichkeit vorgestellt. Die Version 1.0 wurde am 13. Dezember 2005 fertiggestellt. Version 1.1 Schon am 28. März 2006 folgte die Version 1.1. Neu war: RJS (Ruby on Rails JavaScript Templates) ermöglicht Tamplates für JavaScript zu erstellen. Die Performance wurde verbessert. Version 1.2 Am 19. Januar 2007 erschien die Version 1.2. Routing nach MIME-Type und ein Interface zur sicheren Behandlung von UTF-8-Strings

14 Versionen Version 2.0 Am 7. Dezember 2007 erschien die Version 2.0. Version 2.1 Am 1. Juni 2008 erschien die Version 2.1. Version 2.2 Die Version 2.2 erschien am 21. November Rails ist ab dieser Version kompatibel zu Ruby 1.9 und Jruby. Version 2.3 Die Version 2.3 erschien am 15. März Planung für Version 3 Am 23. Dezember 2008 kündigte David Heinemeier Hansson an, dass für die Version 3.0 geplant sei

15 Rails-Philosophie Als Grundprinzipien von Rails gelten Dont repeat yourself (Wiederhole dich nicht) und Convention over configuration (Konvention über Konfiguration). Wiederhole dich nicht: Jede Information sollte nur ein einziges Mal vorhanden sein. So reicht es in Rails beispielsweise dank ActiveRecord, die Spalten einer Tabelle in der Datenbank festzulegen. Anstatt diese Informationen noch ein zweites mal im Quellcode oder einer Konfigurationsdatei kodiert zu verlangen, liest ActiveRecord diese Informationen direkt aus der Datenbank. Konvention über Konfiguration: Ein klarer Satz von Konventionen bestimmt die meisten Beziehungen zwischen Modell, View und Controller

16 Das Modell-View-Controller(MVC) Die MVC-Idee wurde ursprünglich im Zusammenhang mit Smalltalk für lokale Anwendungen mit graphischer Oberfläche geprägt. Die Anwendungen werden nach dem Modell in die folgenden drei Komponenten auf: Das Model Die View Der Controller

17 Das Model Das Model (auf Deutsch Modell) enthält die Datenstrukturen. Es sind nicht nur ein Paar Strings, Zahlen oder Arrays, sondern die Softwaretechnische Abbildung der Daten für Geschäftsabläufe und andere Transaktionen. Da die konkreten Daten einer Instanz jedoch nur so lange existieren, wie ein Programm läuft, müssen sie irgendwo dauerhaft gespeichert werden. Ruby on Rails verwendet daher einen cleveren Trick: Die Klassenstruktur wird vollautomatisch mit passenden Datenbanktabellen verknüpft. Wenn beispielsweise ein Rabatt nicht auf Bestellungen mit einem Wert unter 20 Euro angewendet werden soll, dann sorgt das Modell für die Einhaltung dieser Einschränkung

18 Die View und der Controller Die View (Ansicht, Präsentation) bildet die Benutzeroberfläche der Anwendung. Sie präsentiert die Daten des Modells in frei wählbarer Form und stellt die Steuerelemente zum Hinzufügen, Ändern oder Entfernen bereit. Rails muss in der Regel HTML-basierte Views mit Variablen Daten erzeugen und verwendet e-Ruby-Vorlagedateien (.rhtml) als Templates. Der Controller (Steuerung) bildet die programmierte Verbindung zwischen Modell und View. Er enthält beispielsweise Methoden zum Durchsuchen und zur Filterung der Daten aus dem Model. Er nimmt auch Befehle aus den Steuerelementen der Benutzeroberfläche entgegen und setzt sie als Änderungen im Datenbestand des Modells um

19 Verzeichnisstruktur app controllers helpers models views components config environments public images javascripts stylesheets script performance process test fixtures function integration mocks development test unit

20 Verzeichnisstruktur app : enthält die Komponenten der Eigentlichen Anwendung. Unterteilt sich in models, views und controllers. config: enthält Konfigurationsdateien script: enthält einige vorgefertigte Hilfsskripten, die bei der Entwicklung helfen sollen. public: enthält eine CGI-Konfiguration. Mit ihrer Hilfe kann die Ruby on Rails- Anwendungen praktisch von jedem CGI-fähigen Webserver bereitgestellt werden. test: ein beliebtes Mittel zum automatisierten testen objektorientierter Programme

21 Adresse Validierung

22 Ressourcen Auf dieser offiziellen Rails-Webseite finden Sie Erfahrungsberichte, Dokumentation, community-Seiten. Für Anfänger sind auch Filme, in denen die Programmierung von Rails-Anwendungen vorgeführt wird. Die Ruby-Homepage. Hier wird die neuste Version zum Download angeboten. umfangreiches deutschsprachiges Diskussionsforum zu den verschiedensten Ruby- Themen

23 Quellen Praxiswissen Ruby, von Sascha Kersken Webanwendungen mit Ruby on Rails, von Ramon Wartala und Jan Krutisch Agile Webentwicklung mit Rails, von Dave Thomas und David Heinemeier Hansson

24 Danke für eure Aufmerksamkeit Fragen???


Herunterladen ppt "Praktische Informatik Prof. Dr. Lutz Wegner Seminar Internet-Technologie (Skriptsprachen) Thema: Ruby (on Rails) Mohamed El Bahri (Sommersemester 2009)"

Ähnliche Präsentationen


Google-Anzeigen