Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdEvelien Visser Laatst gewijzigd meer dan 10 jaar geleden
1
4-1-2010Wolter Kaper - w.h.kaper@uva.nl1 Ruby on Rails Webtoepassing ontwerpen Webprogrammeren, week 1
2
4-1-2010Wolter Kaper - w.h.kaper@uva.nl2 Vandaag: Opzet van dit vak Intro Ruby on Rails: MVC en REST Onderwerp kiezen Rails code generator uitproberen >> Prototype
3
4-1-2010Wolter Kaper - w.h.kaper@uva.nl3 Http server scripts, waarom? Website management Vb: UvAweb Tweerichtingverkeer Vb: Blackboard
4
4-1-2010Wolter Kaper - w.h.kaper@uva.nl4 Webserver (Apache, Webrick) CGI / FastCGI Server side scripting Programmeertaal: Ruby / PHP / Java Frameworks: Rails /CakePHP / JSF Jouw code Database server gebruiker browser HTTP
5
4-1-2010Wolter Kaper - w.h.kaper@uva.nl5 Invoer komt van een formulier
6
4-1-2010Wolter Kaper - w.h.kaper@uva.nl6 Talen en frameworks voor SSS Microsoft ASP.NET / … PHP / CakePHP Java / JSP, JSF, Hibernate XML “tags” die java-klassen activeren Ruby / Ruby on Rails Trends Eerst: programmeerwerk ingebed in webpagina. Later: logica en vormgeving scheiden. Nu: Model-View-Controller, ActiveRecord (ORM), REST
7
4-1-2010Wolter Kaper - w.h.kaper@uva.nl7 Ruby-on-Rails ideologie 1: REST “Representational State Transfer” Ph.D thesis van Roy Fieldingthesis van Roy Fielding Objecten hebben URL´s HTTP werkwoorden: acties GET, POST, PUT, DELETE Eén object, “resource”, meer representaties: HTML, XML, … Vb.: GET /photos/17.xml
8
4-1-2010Wolter Kaper - w.h.kaper@uva.nl8 Ruby-on-Rails ideologie 2: MVC Model – View – Controller patroon Smalltalk, eerste OO taal Trygve Reenskaug, 1979 Trygve Reenskaug Model: de gegevens, een “business object” View: een presentatie van het object Controller: Koppelt model aan view Voert acties uit op het object
9
8-1-2006 Wolter Kaper - kaper@science.uva.nl9 Lagen in een applicatie User Interface Laag Domein Model, Modellen Laag Database Laag Gebruiker
10
8-1-2006 Wolter Kaper - kaper@science.uva.nl10 Lagen volgens MVC + ORM Gebruiker + browser ViewController Model object URL actie Database tabel
11
8-1-2006 Wolter Kaper - kaper@science.uva.nl11 Taakverdeling MVC Gebruiker + browser ViewController Model object URL actie Model: alle domein-logica Controller schakelt model + view in View: toont model-objecten
12
8-1-2006 Wolter Kaper - kaper@science.uva.nl12 Object-Relational Mapping (ORM) Model object Database tabel Rails ORM: elke domein-objectklasse zijn eigen tabel in de database
13
4-1-2010Wolter Kaper - w.h.kaper@uva.nl13 Ruby-on-Rails praktijk
14
4-1-2010Wolter Kaper - w.h.kaper@uva.nl14 Ruby-on-Rails indeling app Je programmeerwerk db Database wijzigingen public Statische HTML script Code generators Webservertje
15
4-1-2010Wolter Kaper - w.h.kaper@uva.nl15 De “app” map
16
4-1-2010Wolter Kaper - w.h.kaper@uva.nl16 Database connectie configureren config/database.yml SQLite MySQL
17
4-1-2010Wolter Kaper - w.h.kaper@uva.nl17 “Scaffolding” een business object in de steigers zetten
18
4-1-2010Wolter Kaper - w.h.kaper@uva.nl18 “Scaffold” resultaten
19
4-1-2010Wolter Kaper - w.h.kaper@uva.nl19 “Scaffold” resultaten: model
20
4-1-2010Wolter Kaper - w.h.kaper@uva.nl20 “Scaffold” resultaten: controller
21
4-1-2010Wolter Kaper - w.h.kaper@uva.nl21 “Scaffold” resultaten: controller
22
4-1-2010Wolter Kaper - w.h.kaper@uva.nl22 “Scaffold” resultaten: views
23
4-1-2010Wolter Kaper - w.h.kaper@uva.nl23 “Scaffold” resultaten: het show view – show.html.erb
24
4-1-2010Wolter Kaper - w.h.kaper@uva.nl24 “Scaffold” resultaten: database migratie - …create_berichts.rb
25
4-1-2010Wolter Kaper - w.h.kaper@uva.nl25 Wat is een database-migratie? Je vindt ze in de db-map Het zijn ruby klassen Ze beschrijven een database wijziging Twee richtingen: up en down De filenaam bevat datum en tijd Uitvoeren: Rake db:migrate version=… Rake db:migrate up Rake db:migrate
26
4-1-2010Wolter Kaper - w.h.kaper@uva.nl26 Een db-migratie uitvoeren
27
4-1-2010Wolter Kaper - w.h.kaper@uva.nl27 Resultaat db-migratie Gebruik een geschikte client om in je database te kijken.
28
4-1-2010Wolter Kaper - w.h.kaper@uva.nl28 Nu het resultaat bekijken Start een browser en ga naar: http://127.0.0.1:3000/controller/actie/id.format http://127.0.0.1:3000/controller/ (URL´s zijn configureerbaar: config/routes.rb)
29
4-1-2010Wolter Kaper - w.h.kaper@uva.nl29 Uitproberen http://guides.rubyonrails.org/getting_started. htmlhttp://guides.rubyonrails.org/getting_started. html punt 3 t/m 6: de Blog applicatie! rails yourapp ruby script/generate controller … ruby script/generate scaffold … rake db:migrate ruby server/script pas commando’s aan voor jouw applicatie bekijk het resultaat in browser
30
4-1-2010Wolter Kaper - w.h.kaper@uva.nl30 Volgende keer (woensdag) Per Email: Jullie onderwerpkeuze! Wie is contactpersoon? Wij vertellen over: Schermen ontwerpen Objectmodel ontwerpen Database ontwerpen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.