Ruby on Rails
                                              Dozent
                                               Dipl.-In...
Einführung


Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rai...
Was ist
        Ruby on Rails?


Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de ...
Was ist Ruby on Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www....
Was ist Ruby on Rails?
• Ruby = Programmiersprache




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarte...
Was ist Ruby on Rails?
• Ruby = Programmiersprache
• Ruby on Rails
  = Web- und Persistenzframework für Ruby




    Dipl....
Was ist Ruby on Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www....
Was ist Ruby on Rails?
• Ruby on Rails (kurz Rails)
  = Web- und Persistenzframework für Ruby




    Dipl.-Inf. (FH) Juli...
Was ist Ruby on Rails?
• Ruby on Rails (kurz Rails)
  = Web- und Persistenzframework für Ruby
• Was ist Ruby?
  Ruby = Pro...
Eigenschaften von
  Ruby on Rails

Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.d...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - w...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur
• MVC = Model View Controller




    Dipl.-Inf. (FH) Julian F...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur
• MVC = Model View Controller
• Trennung der Verantwortlichkei...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - w...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur
• MVC in Rails:




    Dipl.-Inf. (FH) Julian Fischer - fische...
Eigenschaften von Rails
• Basiert auf einer MVC-Architektur
• MVC in Rails:
                Model                         ...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - ww...
Eigenschaften von Rails
• MVC-Architektur
 • Model




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarte...
Eigenschaften von Rails
• MVC-Architektur
 • Model
   • = Datenmodell



   Dipl.-Inf. (FH) Julian Fischer - fischer@avarte...
Eigenschaften von Rails
• MVC-Architektur
 • Model
   • = Datenmodell
   • = Geschäftsobjekte                             ...
Eigenschaften von Rails
• MVC-Architektur
 • Model
   • = Datenmodell
   • = Geschäftsobjekte                             ...
Model - Beispiel




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterp...
Model - Beispiel
class SubHostingBillingPosition < HostingBillingPosition
  belongs_to :hosting

  def to_s
    ret = supe...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - ww...
Eigenschaften von Rails
• MVC-Architektur
   • View




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avart...
Eigenschaften von Rails
• MVC-Architektur
   • View
    • = User Interface



    Dipl.-Inf. (FH) Julian Fischer - fischer@...
Eigenschaften von Rails
• MVC-Architektur
   • View
    • = User Interface
    • Visuelle Darstellung der
                ...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - ww...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate




    Dipl.-Inf. (FH) Julian Fischer - fisc...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate
      • HTML



    Dipl.-Inf. (FH) Julian F...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate
      • HTML
      • XML


    Dipl.-Inf. (F...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate
      • HTML
      • XML
      • PDF

    Di...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate
      • HTML
      • XML
      • PDF
      •...
Eigenschaften von Rails
• MVC-Architektur
   • View - Mögliche Ausgabeformate
      • HTML
      • XML
      • PDF
      •...
View - Beispiel




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterpr...
View - Beispiel
<% for column in Branding.content_columns %>
<p>
  <b><%= column.human_name %>:</b> <%=h @branding.send(co...
Eigenschaften von Rails




 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - ww...
Eigenschaften von Rails
• MVC-Architektur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - ww...
Eigenschaften von Rails
• MVC-Architektur
   • Controller




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www...
Eigenschaften von Rails
• MVC-Architektur
   • Controller
    • Handhabung der Benutzerinteraktion
                (HTTP-R...
Eigenschaften von Rails
• MVC-Architektur
   • Controller
    • Handhabung der Benutzerinteraktion
                (HTTP-R...
Eigenschaften von Rails
• MVC-Architektur
   • Controller
    • Handhabung der Benutzerinteraktion
                (HTTP-R...
Eigenschaften von Rails
• MVC-Architektur
   • Controller
    • Handhabung der Benutzerinteraktion
                (HTTP-R...
Controller - Beispiel




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.e...
Controller - Beispiel
class BrandingsController < ApplicationController
  def index
    list
    render :action => 'list'
...
Warum Ruby on Rails?


  Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.en...
Warum Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise...
Warum Rails?
• Vorgegebene Projektstruktur




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - w...
Warum Rails?
• Vorgegebene Projektstruktur
 • Jedes Rails Projekt hat das gleiche
    Verzeichnis-Layout




    Dipl.-Inf...
Warum Rails?
• Vorgegebene Projektstruktur
 • Jedes Rails Projekt hat das gleiche
    Verzeichnis-Layout
    • Erleichtert...
Warum Rails?
• Vorgegebene Projektstruktur
 • Jedes Rails Projekt hat das gleiche
    Verzeichnis-Layout
    • Erleichtert...
Warum Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise...
Warum Rails?
• Good practices, z.B.




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.rail...
Warum Rails?
• Good practices, z.B.
 • testgetriebene Entwicklung




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq....
Warum Rails?
• Good practices, z.B.
 • testgetriebene Entwicklung
 • MVC



    Dipl.-Inf. (FH) Julian Fischer - fischer@av...
Warum Rails?
• Good practices, z.B.
 • testgetriebene Entwicklung
 • MVC
 • ...


    Dipl.-Inf. (FH) Julian Fischer - fisc...
Warum Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise...
Warum Rails?
• Werkzeuge




   Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de -...
Warum Rails?
• Werkzeuge
 • Ruby - Rake




    Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www....
Warum Rails?
• Werkzeuge
 • Ruby - Rake
 • Ruby - Gems



   Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avar...
Warum Rails?
• Werkzeuge
 • Ruby - Rake
 • Ruby - Gems
 • Rails - Plugins


    Dipl.-Inf. (FH) Julian Fischer - fischer@av...
Warum Rails?
• Werkzeuge
 • Ruby - Rake
 • Ruby - Gems
 • Rails - Plugins
 • Rails - Generators

    Dipl.-Inf. (FH) Julia...
Warum Rails?




Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise...
Warum Rails?
• Community




   Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de -...
Warum Rails?
• Community
 • Aktive und wachsende
   Entwicklergemeinschaft




    Dipl.-Inf. (FH) Julian Fischer - fischer...
Warum Rails?
• Community
 • Aktive und wachsende
   Entwicklergemeinschaft
 • Viele frei verfügbare Plugins, Code-
   Stüc...
Demo!


Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de...
Nächste SlideShare
Wird geladen in …5
×

Ruby On Rails Vorlesung 1 Rails Überblick

1.364 Aufrufe

Veröffentlicht am

Überlick über das Ruby on Rails Framework

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.364
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
9
Aktionen
Geteilt
0
Downloads
27
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie











  • H&amp;#xE4;ufige Rollenverteilung: PM und Kunde ermitteln Anforderungen, Grafiker fertigt &amp;#x201E;Screens&amp;#x201C; an. Screens = Photoshop-Files: Webseite als einzelne Grafik. HTMLer zerschneidet Grafik und erstellt HTML/CSS (Barrierefrei, browsersicher, ...), Programmierer realisieren das Verhalten der Anwendung
  • Active Record: OR-Relationales Mapping, Speichern von Datens&amp;#xE4;tzen in DB, Laden aus DB, Ruby
    Action View: HTML mit eingebettetem Ruby (&amp;#xE4;hnlich JSP, PHP, embedded Perl, ...)
    Action Controller: Ruby
  • Active Record: OR-Relationales Mapping, Speichern von Datens&amp;#xE4;tzen in DB, Laden aus DB, Ruby
    Action View: HTML mit eingebettetem Ruby (&amp;#xE4;hnlich JSP, PHP, embedded Perl, ...)
    Action Controller: Ruby
  • Active Record: OR-Relationales Mapping, Speichern von Datens&amp;#xE4;tzen in DB, Laden aus DB, Ruby
    Action View: HTML mit eingebettetem Ruby (&amp;#xE4;hnlich JSP, PHP, embedded Perl, ...)
    Action Controller: Ruby





  • Verberbung
    Belongs_to: 1:n Beziehung mit Model &amp;#x201E;Hosting&amp;#x201C;
    &amp;#xDC;berschriebene toString-Methode in Ruby (Analog Java)
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • HTMLer Setzt vorgegebene Grafik in HTML/CSS um
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer
  • Ausf&amp;#xFC;hrende Rolle: Programmierer

  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • LIVE: Rails Projekt generieren,
    Projektstruktur demonstrieren
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)
  • Rake: Analog make / ant -&gt; Automatisierung von Entwicklungsprozessen (z.B. Ausf&amp;#xFC;hrung von DB-Migrationen)
    Gems: Ruby Bibliotheken, &amp;#xE4;hnlich wie Java-Jars, organisiert wie Perl-Pakete, Debian Pakete, ...
    Plugins: Rails Funktionalit&amp;#xE4;ten, &amp;#xE4;hnlich wie AOP
    Generators: Erzeugt h&amp;#xE4;ufig ben&amp;#xF6;tigte Code-Ger&amp;#xFC;ste (z.B. HTML-Grundger&amp;#xFC;st, ...)

  • Ruby On Rails Vorlesung 1 Rails Überblick

    1. 1. Ruby on Rails Dozent Dipl.-Inf. (FH) Julian Fischer Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 1
    2. 2. Einführung Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 2
    3. 3. Was ist Ruby on Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    4. 4. Was ist Ruby on Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    5. 5. Was ist Ruby on Rails? • Ruby = Programmiersprache Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    6. 6. Was ist Ruby on Rails? • Ruby = Programmiersprache • Ruby on Rails = Web- und Persistenzframework für Ruby Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    7. 7. Was ist Ruby on Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    8. 8. Was ist Ruby on Rails? • Ruby on Rails (kurz Rails) = Web- und Persistenzframework für Ruby Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    9. 9. Was ist Ruby on Rails? • Ruby on Rails (kurz Rails) = Web- und Persistenzframework für Ruby • Was ist Ruby? Ruby = Programmiersprache Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    10. 10. Eigenschaften von Ruby on Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 6
    11. 11. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    12. 12. Eigenschaften von Rails • Basiert auf einer MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    13. 13. Eigenschaften von Rails • Basiert auf einer MVC-Architektur • MVC = Model View Controller Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    14. 14. Eigenschaften von Rails • Basiert auf einer MVC-Architektur • MVC = Model View Controller • Trennung der Verantwortlichkeiten Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    15. 15. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 8
    16. 16. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    17. 17. Eigenschaften von Rails • Basiert auf einer MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    18. 18. Eigenschaften von Rails • Basiert auf einer MVC-Architektur • MVC in Rails: Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    19. 19. Eigenschaften von Rails • Basiert auf einer MVC-Architektur • MVC in Rails: Model ActiveRecord View ActionView Controller ActionController Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    20. 20. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    21. 21. Eigenschaften von Rails • MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    22. 22. Eigenschaften von Rails • MVC-Architektur • Model Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    23. 23. Eigenschaften von Rails • MVC-Architektur • Model • = Datenmodell Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    24. 24. Eigenschaften von Rails • MVC-Architektur • Model • = Datenmodell • = Geschäftsobjekte (z.B. Person) Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    25. 25. Eigenschaften von Rails • MVC-Architektur • Model • = Datenmodell • = Geschäftsobjekte (z.B. Person) • = Persistent (SQL-DB Binding) Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    26. 26. Model - Beispiel Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 11
    27. 27. Model - Beispiel class SubHostingBillingPosition < HostingBillingPosition belongs_to :hosting def to_s ret = super ret += " " ret += hosting.id.to_s ret += " " + start_date.to_s ret += " " + end_date.to_s end end Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 11
    28. 28. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    29. 29. Eigenschaften von Rails • MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    30. 30. Eigenschaften von Rails • MVC-Architektur • View Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    31. 31. Eigenschaften von Rails • MVC-Architektur • View • = User Interface Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    32. 32. Eigenschaften von Rails • MVC-Architektur • View • = User Interface • Visuelle Darstellung der Geschäftsobjekte Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    33. 33. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    34. 34. Eigenschaften von Rails • MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    35. 35. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    36. 36. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate • HTML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    37. 37. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate • HTML • XML Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    38. 38. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate • HTML • XML • PDF Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    39. 39. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate • HTML • XML • PDF • JSON Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    40. 40. Eigenschaften von Rails • MVC-Architektur • View - Mögliche Ausgabeformate • HTML • XML • PDF • JSON • ... Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    41. 41. View - Beispiel Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    42. 42. View - Beispiel <% for column in Branding.content_columns %> <p> <b><%= column.human_name %>:</b> <%=h @branding.send(column.name) %> </p> <% end %> <%= link_to 'Edit', :action => 'edit', :id => @branding %> | <%= link_to 'Back', :action => 'list' %> Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    43. 43. Eigenschaften von Rails Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    44. 44. Eigenschaften von Rails • MVC-Architektur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    45. 45. Eigenschaften von Rails • MVC-Architektur • Controller Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    46. 46. Eigenschaften von Rails • MVC-Architektur • Controller • Handhabung der Benutzerinteraktion (HTTP-Requests) Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    47. 47. Eigenschaften von Rails • MVC-Architektur • Controller • Handhabung der Benutzerinteraktion (HTTP-Requests) • Zugriff auf Modelle Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    48. 48. Eigenschaften von Rails • MVC-Architektur • Controller • Handhabung der Benutzerinteraktion (HTTP-Requests) • Zugriff auf Modelle • Aufbereitung der Daten Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    49. 49. Eigenschaften von Rails • MVC-Architektur • Controller • Handhabung der Benutzerinteraktion (HTTP-Requests) • Zugriff auf Modelle • Aufbereitung der Daten • Entscheidung, welche View darzustellen ist Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    50. 50. Controller - Beispiel Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
    51. 51. Controller - Beispiel class BrandingsController < ApplicationController def index list render :action => 'list' end [...] def edit @branding = Branding.find(params[:id]) end def update @branding = Branding.find(params[:id]) if @branding.update_attributes(params[:branding]) flash[:notice] = 'Branding was successfully updated.' redirect_to :action => 'show', :id => @branding else render :action => 'edit' end end [...] Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
    52. 52. Warum Ruby on Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 17
    53. 53. Warum Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    54. 54. Warum Rails? • Vorgegebene Projektstruktur Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    55. 55. Warum Rails? • Vorgegebene Projektstruktur • Jedes Rails Projekt hat das gleiche Verzeichnis-Layout Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    56. 56. Warum Rails? • Vorgegebene Projektstruktur • Jedes Rails Projekt hat das gleiche Verzeichnis-Layout • Erleichterte Einarbeitung in fremde Projekte Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    57. 57. Warum Rails? • Vorgegebene Projektstruktur • Jedes Rails Projekt hat das gleiche Verzeichnis-Layout • Erleichterte Einarbeitung in fremde Projekte • Motiviert zur Einhaltung der „Good practices“ Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    58. 58. Warum Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    59. 59. Warum Rails? • Good practices, z.B. Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    60. 60. Warum Rails? • Good practices, z.B. • testgetriebene Entwicklung Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    61. 61. Warum Rails? • Good practices, z.B. • testgetriebene Entwicklung • MVC Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    62. 62. Warum Rails? • Good practices, z.B. • testgetriebene Entwicklung • MVC • ... Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    63. 63. Warum Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    64. 64. Warum Rails? • Werkzeuge Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    65. 65. Warum Rails? • Werkzeuge • Ruby - Rake Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    66. 66. Warum Rails? • Werkzeuge • Ruby - Rake • Ruby - Gems Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    67. 67. Warum Rails? • Werkzeuge • Ruby - Rake • Ruby - Gems • Rails - Plugins Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    68. 68. Warum Rails? • Werkzeuge • Ruby - Rake • Ruby - Gems • Rails - Plugins • Rails - Generators Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    69. 69. Warum Rails? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    70. 70. Warum Rails? • Community Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    71. 71. Warum Rails? • Community • Aktive und wachsende Entwicklergemeinschaft Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    72. 72. Warum Rails? • Community • Aktive und wachsende Entwicklergemeinschaft • Viele frei verfügbare Plugins, Code- Stücke, usw. Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    73. 73. Demo! Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22

    ×