SlideShare une entreprise Scribd logo
1  sur  48
DAI: Módul 9 Ruby on Rails Xavier Noguero Carles Mateu   http://carlesm.com Ciències de la Computació i Intel·ligència Artificial Universitat de Lleida
Ruby on Rails, què és? ,[object Object],[object Object],[object Object]
Ruby on Rails, perquè? ,[object Object]
Rails, és fàcil! ,[object Object],[object Object],[object Object]
Amb Ruby i Rails: ,[object Object]
Només ens cal crear el codi just de la lògica de negoci.
Tests, es creen automàticament!
La base, Ruby ,[object Object]
No és nou, va ser creat als anys 90 per un japonés, en Yukihiro Matsumoto.
S'ha fet popular durant els últims anys a mesura que han aparegut llibres i documentació en anglès.
(i en gran mesura gràcies a Rails).
irb, un shell interactiu de Ruby ,[object Object]
rdoc, per a fer documentació ,[object Object],[object Object]
El format de sortida és HTML.
RubyGems ,[object Object],[object Object]
Gestiona la instalació de paquets gem (de manera similar com ara yum o apt-get per a distros linux).
Rails is Agile ,[object Object]
Alguns exemples: Extreme Programming, Scrum...
Rails, per tal com s'ha concebut, segueix aquestes pràctiques!
Extremme Programing (XP) ,[object Object]
Es basa principalment en: ,[object Object]
Desenvolupar en cicles iteratius.
Implementar només el que hi ha l'especificació.
Escriure sempre primer el codi de test.
Seguir la planificació de manera realista.
Refactoritzar sempre que es pugui.
Fer-ho tot simple.
Programar en parelles, i intercanviar rols dins el projecte, per tal que tothom conegui millor el codi.
Arquitectura MVC ,[object Object]
Arquitectura MVC - Model ,[object Object],[object Object]
Engloba: ,[object Object]
Regles per mantenir coherents les dades en tot moment.
Arquitectura MVC - Vista ,[object Object],[object Object]
Accedeix al model per a presentar les dades a l'usuari de l'aplicació
Arquitectura MVC - Controlador ,[object Object],[object Object]
Rep events de l'usuari, interacciona amb el model i tria una vista adecuada per a donar resposta de nou a l'usuari.
Rails és un framework M-V-C ,[object Object],[object Object]
Vista i controlador: Action Pack
Les URL's amb Rails ,[object Object],[object Object]
Saludar : és el controlador.
hello : és l'acció que s'executarà. ,[object Object]
Programant Ruby on Rails ,[object Object]
Ruby on Rails (Gem)
Base de dades (SQLITE3, MySQL)
Servidor Web ,[object Object],[object Object]
Locomotive (Mac)
InstantRails (Windows)
Distribució (Linux)

Contenu connexe

Similaire à Dai 09-ruby on rails

Web Application(3)
Web Application(3)Web Application(3)
Web Application(3)guest5ef53
 
Turbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions WebTurbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions WebTomàs Reverter
 
Presentacio Django
Presentacio DjangoPresentacio Django
Presentacio DjangoAntoni Aloy
 
ARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioAurora Lara Marin
 
Itineraris IT Academy (2020)
Itineraris IT Academy (2020)Itineraris IT Academy (2020)
Itineraris IT Academy (2020)Barcelona Activa
 
Framework Llibreries Lliures
Framework Llibreries LliuresFramework Llibreries Lliures
Framework Llibreries LliuresJordi Catà
 
Migració al programari lliure: reptes i oportunitats
Migració al programari lliure: reptes i oportunitatsMigració al programari lliure: reptes i oportunitats
Migració al programari lliure: reptes i oportunitatsIsmael Fanlo
 
Comparativa ERPs de programari lliure
Comparativa ERPs de programari lliureComparativa ERPs de programari lliure
Comparativa ERPs de programari lliureejordi
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció JoomlaAlex Araujo
 
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresCas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresJordi Catà
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point InformàticaAndreuSegui
 

Similaire à Dai 09-ruby on rails (20)

Web Application(3)
Web Application(3)Web Application(3)
Web Application(3)
 
Turbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions WebTurbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions Web
 
Presentació de Javascript
Presentació de JavascriptPresentació de Javascript
Presentació de Javascript
 
Presentacio Django
Presentacio DjangoPresentacio Django
Presentacio Django
 
Tema 5
Tema 5Tema 5
Tema 5
 
Full stack R
Full stack RFull stack R
Full stack R
 
Aplicacions web
Aplicacions webAplicacions web
Aplicacions web
 
ARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - GuioARSO-M6: Administracio del web - Guio
ARSO-M6: Administracio del web - Guio
 
Itineraris IT Academy (2020)
Itineraris IT Academy (2020)Itineraris IT Academy (2020)
Itineraris IT Academy (2020)
 
Framework Llibreries Lliures
Framework Llibreries LliuresFramework Llibreries Lliures
Framework Llibreries Lliures
 
Migració al programari lliure: reptes i oportunitats
Migració al programari lliure: reptes i oportunitatsMigració al programari lliure: reptes i oportunitats
Migració al programari lliure: reptes i oportunitats
 
Comparativa ERPs de programari lliure
Comparativa ERPs de programari lliureComparativa ERPs de programari lliure
Comparativa ERPs de programari lliure
 
Presentació Ajax
Presentació AjaxPresentació Ajax
Presentació Ajax
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció Joomla
 
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresCas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries Lliures
 
Presentació del servidor Apache
Presentació del servidor ApachePresentació del servidor Apache
Presentació del servidor Apache
 
Remix the web
Remix the webRemix the web
Remix the web
 
Power point informàtica
Power point informàticaPower point informàtica
Power point informàtica
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point Informàtica
 
Power Point Informàtica
Power Point InformàticaPower Point Informàtica
Power Point Informàtica
 

Plus de Carles Mateu

Seguretat de Sistemes
Seguretat de SistemesSeguretat de Sistemes
Seguretat de SistemesCarles Mateu
 
Curs Estiu: Continguts
Curs Estiu: ContingutsCurs Estiu: Continguts
Curs Estiu: ContingutsCarles Mateu
 
Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Carles Mateu
 
Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Carles Mateu
 
Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Carles Mateu
 
Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Carles Mateu
 
Introducció als Blogs
Introducció als BlogsIntroducció als Blogs
Introducció als BlogsCarles Mateu
 
Màster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureMàster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureCarles Mateu
 
Visions Professionals Programari Lliure
Visions Professionals Programari LliureVisions Professionals Programari Lliure
Visions Professionals Programari LliureCarles Mateu
 
Universitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureUniversitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureCarles Mateu
 

Plus de Carles Mateu (15)

Local Exploits
Local ExploitsLocal Exploits
Local Exploits
 
Seguretat de Sistemes
Seguretat de SistemesSeguretat de Sistemes
Seguretat de Sistemes
 
Virtualització
VirtualitzacióVirtualització
Virtualització
 
Curs Estiu: Continguts
Curs Estiu: ContingutsCurs Estiu: Continguts
Curs Estiu: Continguts
 
Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1
 
Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2
 
Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3
 
Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0
 
Microblogs
MicroblogsMicroblogs
Microblogs
 
Xarxes Socials
Xarxes SocialsXarxes Socials
Xarxes Socials
 
Introducció als Blogs
Introducció als BlogsIntroducció als Blogs
Introducció als Blogs
 
Felicitacio
FelicitacioFelicitacio
Felicitacio
 
Màster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureMàster Enginyeria Programari Lliure
Màster Enginyeria Programari Lliure
 
Visions Professionals Programari Lliure
Visions Professionals Programari LliureVisions Professionals Programari Lliure
Visions Professionals Programari Lliure
 
Universitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureUniversitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari Lliure
 

Dai 09-ruby on rails

Notes de l'éditeur

  1. La creació d'una classe ha de comportar aquests tres passos: Escriure la lògica de l'aplicació en pseudo-codi. Escriure els tests. Escriure el codi Java final d'acord amb els tests. Perquè escriure primer els tests? Ens ajuda a saber que ha de fer cada mètode. Permet validar que el codi escrit, funciona. Quan afegim codi nou es passen tots els tests, així assegurem el funcionament del codi previ ja testejat. Nota: podem aprofitar el fet que cada classe pot tenir un mètode main per situar-hi els tests.
  2. La creació d'una classe ha de comportar aquests tres passos: Escriure la lògica de l'aplicació en pseudo-codi. Escriure els tests. Escriure el codi Java final d'acord amb els tests. Perquè escriure primer els tests? Ens ajuda a saber que ha de fer cada mètode. Permet validar que el codi escrit, funciona. Quan afegim codi nou es passen tots els tests, així assegurem el funcionament del codi previ ja testejat. Nota: podem aprofitar el fet que cada classe pot tenir un mètode main per situar-hi els tests.