Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby On Rails Vorlesung 1 Rails Überblick

1,482 views

Published on

Überlick über das Ruby on Rails Framework

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

×