Rails girls ticino_29_03_2014_ita

  • Published on
    03-Jul-2015

  • View
    270

  • Download
    0

Embed Size (px)

Transcript

<ul><li> 1. railsgirlsticino@gmail.com | @RailsGirls_TI | WWW.RAILSGIRLS.COM/TICINO Lugano, 29.03.2014 RubyonRails </li></ul> <p> 2. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 2 INTRODUZIONE PRINCIPIBASE PRINICIPIBASE ROR SVILUPPIAMO CONCLUSIONI 3. 01.Introduzione 4. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 4 Introduzione LaStoria IllinguaggiodiprogrammazioneRubystatoprogettatonel1993dal giapponeseYukihiro Matsumoto Mainizialmentenonebbemoltosuccesso! Perpidiundecenniononpresemaiildecollo Inizialmenteladocumentazioneeraesclusivamenteingiapponese!!! Lannodisvoltafuil2006 Annoincuisiaffermailframework RubyonRails 5. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 5 Introduzione Alcune caratteristiche Rubyunlinguaggio: opensource generalpurpose interpretato orientatoaglioggetti Possiamodefinirlocomeunlinguaggiochehaacquisitotantodapartedialtrilinguaggicome: Smalltalk,Perl,Python,C,C++,PHP,Phyton... http://www.rubylang.org/en/documentation/rubyfromotherlanguages/ Infattiunodeiprimisloganerailseguente: (Smalltalk +Perl )/2 6. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 6 Introduzione Cos RubyOnRails(ROR)? RUBYONRAILSIS ...anOpensourcewebframework thats optimized forprogrammer happiness andsustainable productivity.It lets you write beautifulcodebyfavoring conventionoverconguration. ...abreakthrough inlowering thebarriers ofentrytoprogramming.Powerful webapplications that formerly might have taken weeksormonths todevelop canbeproduced inamatter ofdays. (fonte:http://www.rubyonrails.org ) RubyonRails oppureRoR ,unframework opensouce MVC(ModelView Controller)basatosuRuby. ConRubyonRails ,possibilesviluppareapplicazioniinmodosemplicediminuendolapercentualedi codicechesolitamentevaaripetersinelleapplicazioni. IlpatternModelView Controllerinfattiunapraticadiprogrammazionechesemplificalaseparazionetra presentazionedeidati,logicadellaapp econtenuti. Leapp sviluppateinRubyonRails sonoparticolarmenteindicateperprogettidinamici,flessibiliche necessitanoaggiornamenticontinuioampliamentifuturi. 7. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 7 Introduzione Perch RubyOnRails PERCHSCEGLIERERUBYONRAILSPERLOSVILUPPO? Semplice Intuitivo Scalabile Veloce Diminuiscelacomplessitdelcodice Ilcodiceautoesplicativo Eliminandolefasipinoiosecipermettediconcentrarcisucichecontaveramente:lideadello user /ilbusinessdelcliente. PuntidifrozadiRoR 8. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 8 Introduzione Websites OnRails Twitter,SlideShare,GitHub,Basecamp,Shopify,Scribd,OneHub,YellowPage,Ask.fm,Cookpad,Hulu, CrunchBase,Zendesk,MedHelp,Freckle,CrazyEgg,43Things.. 9. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 9 Introduzione ChiusaRails 10. 02.Principi base 11. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 11 Programmazione Orientata agli Oggetti (OOP) Questopermettediraggruppareinunporzionecircoscritta(classe)delcodicesorgenteladichiarazionedelle strutturedatiedelleprocedurecheoperanosudiesse. Nellaprogrammazioneorientataaglioggetti(OOP,ObjectOriented Programming)unoggettopuesserevisto comeuncontenitoredidatidotatodiattributi(dati)dotatodiunaseriedimetodi(procedure)secondo quantodichiaratodallerispettiveclassi Loggettounaistanzadiunaclasse Essodotatodituttigliattributieimetodidefinitidallaclasse. Caratteristiche: Ereditariet Polimorfismo Incapsulamento Definizione 12. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 12 Programmazione Orientata agli Oggetti (OOP) Eredit Maestro Allievo Persona - nome - cognome - indirizzo +getNome() +getIndirizzo() +setDati() Questodiagrammaindica cheMaestroeAllievo derivanodallaclasse Personadallaquale ereditanoattributie metodi;sidiceche estendonolaclasse Persona Superclasse Classiderivate - facolta- nrAvs 13. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 13 Programmazione Orientata agli Oggetti (OOP) Esempio Oggetto Classe class Persona attr_accessor :nome,:cognome,:indirizzo def initialize (nome,cognome,indirizzo) @nome=nome @cognome=cognome @indirizzo=indirizzo end end 14. 03.Principi base ROR 15. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 15 MVC Idatisonoseparati(model)dallinterfacciautente(view) Model Mantieneilrapportotraoggettiedatabaseegestiscela convalida,l'associazione,letransazioni,ealtroancora. Accessoaidatieallalogicadibusiness Indipendentedallaview edalcontroller. View Presentazionedeidatieinterazioneconlutente Accessoinsolaletturaalmodello Controller ilcentrologicadell'applicazione. Coordinal'interazionetral'utente,leviste,eilmodello. Gestionedeglieventi IlmodelloModelView Controller 16. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 16 MVC 1.Ilbrowserinvialerichieste 2.Ilcontrollerinteragisceconilmodello 3.Ilcontrollerchiamalavista 4.Lavistaproducelaschermatasulbrowser Funzionamento 17. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 17 Struttura diunapplicazione RubyonRails LeapplicazionisviluppateconRails hannounapeculiarit,ovverosonotutteorganizzatesecondouna strutturacomune. Questa unaconseguenzadelfattocheilcomandorails generaunaseriedidirectoryefilecheforniscono unacertalineaguidanellosviluppo,lineacheserispettatapermetteaRails dieffettuaremoltecose automaticamente(adesempiocaricareifile,generarliedindividuarliaruntime emoltoaltro). Questastrutturacomunepermetteanchedicomprendereconsemplicitilcodicediprogettirealizzatida altri,inquantosonoorganizzatinellastessamaniera. Strutturaapplicazione 18. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 18 Convenzioni suinomi RubyonRails Rails preferisceleconvenzionialleconfigurazioni,equindicercadievitareallosviluppatoreilpesodidover specificarel'associazioneadesempiotratabelleeclassi. Perl'associazionetratabelleeclassidelmodellosufficientecheletabellesianochiamateconilpluraledel nomedellaclasseechesianoscritteinminuscolo. ESEMPIO:Latabellamessages sardunquemappatasullaclasseMessage,authors suAuthoretopics su Topic.IlmeccanismodiActiveRecord chesioccupadiquestaconversionemoltopiintelligentediquelche sipotrebbepensareeadesempioingradodicapirecheilpluralediperson"people"ocheilpluraledi status"statuses". Modelli Contoller Viste 19. 04.Sviluppiamo http://guides.railsgirls.com/app/ 20. 05.Conclusioni 21. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 21 Tutorial http://railsforzombies.org/ http://ruby.railstutorial.org/ http://railscasts.com/ http://guides.rubyonrails.org/ 22. RailsGirls Ticino2014 WWW.RAILSGIRLS.COM/TICINO 22 Conclusioni DOMANDE 23. http://railsgirls.com/ticino [email]railsgirlsticno@gmail.com [twitter]@RailsGirls_TI [facebook]Rails Girls Ticino THANKYOU </p>