SlideShare a Scribd company logo
1 of 15
Infrastrutture per il web e Ruby on Rails Luigi Maselli http://grigio.org Corso autogestito di Linux 2007/2008 – Università di Torino
Web 2.0
Nessuno ha ben capito cosa significhi “Web 2.0”, ma dire che  qualcosa lo é fa figo..
Cosa c'é di nuovo? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
..cioé Firefox(gecko), IE, Safari(WebKit),  Opera, applicazioni native interfacciate a WebAPI (es:  Tweet  = Clutter + Twitter) presentazione  (html, xml, json, flash),  interazione  (javascript, ajax, flash) webserver ,  database Apache, Lighttpd, Php, Python, Ruby, Mysql, Oracle, SQLite,.. Client Server
..e Ruby on Rails? Firefox(gecko), IE, Safari(WebKit),  Opera, applicazioni native interfacciate a WebAPI (es: Clutter + Twitter) presentazione  (html, xml, json, flash),  interazione  (javascript, ajax, flash) webserver ,  database Apache, Lighttpd, Php, Python, Ruby, Mysql, Oracle, SQLite,.. Client Server Ruby on Rails
Prima di andare oltre, Ruby! Completamente ad oggetti, conciso, espressivo, semplice, dinamico, multipiattaforma, multivirtualmachine, multiuso e Open Source. Altre caratteristiche interessanti: Duck Typing e Blocchi (Vedi  Wikipedia ) Un unico linguaggio ad alto livello per: scripting ,  applicazioni desktop  e  web . È stato creato in Giappone da まつもとゆきひろ (Yukihiro Matsumoto - Matz) nel 1993 e dopo qualche anno si è diffuso nel resto del mondo.
Scripting
Applicazioni desktop
Applicazioni web (vedi Rails) Ruby on Rails è un  Domain Specific Language  (DSL), estende Ruby, applica dei Design Pattern come  Model View Controller (MVC) e  Convention over Configuration . Il framework Ruby on Rails ha avuto talmente tanto successo da aver ispirato framework analoghi in Php, Perl, .NET,.. Qualcuno lo ritiene un linguaggio indipendente, per la sua flessibilità e per le sue “magie”, ma tutto questo succede grazie a Ruby!
Ruby on Rails (MVC)
Model Gestisce le relazioni tra le tabelle del database Mappa una query su un oggetto (Object-relational mapping,  ORM ) Valida la correttezza dei dati Non c'é bisogno di specificare il nome della tabella di riferimento(*) (*) Se si usano le convenzioni di Rails
Controller Carica i model per le view Gestisce le diverse tipologie di accesso Varie ed eventuali
View È l'equivalente della “pagina Php” Non può essere chiamata direttamente Può essere anche Xml, json, rss,.. Si occupa di presentare i dati, i form e gli errori
Risorse Applicazione TODO d'esempio http://grigio.org/files/todo.tar.gz Italiano http://ruby-it.org/ http://www.therubymine.com/ http://ruby.html.it http://grigio.org/un_assaggio_ruby_e_rails English http://api.rubyonrails.org/ http://www.ruby-lang.org http://rubyonrails.org http://railscasts.com/

More Related Content

Viewers also liked

Virtuous Spiral or Vicious Circle?
Virtuous Spiral or Vicious Circle?Virtuous Spiral or Vicious Circle?
Virtuous Spiral or Vicious Circle?Martin Rehm
 
Rattlesnakes by Amya
Rattlesnakes by AmyaRattlesnakes by Amya
Rattlesnakes by Amyavebrya
 
Jackrabbit by Breaonna
Jackrabbit by BreaonnaJackrabbit by Breaonna
Jackrabbit by Breaonnavebrya
 
Phoenix Energy Star Bulk Purchasing Presentation
Phoenix   Energy Star Bulk Purchasing PresentationPhoenix   Energy Star Bulk Purchasing Presentation
Phoenix Energy Star Bulk Purchasing PresentationICF_HCD
 
Using CKAN as a data store
Using CKAN as a data storeUsing CKAN as a data store
Using CKAN as a data storeJoss Winn
 
The Future of Big Data in Education
The Future of Big Data in EducationThe Future of Big Data in Education
The Future of Big Data in EducationHendrik Drachsler
 
Do Hierarchical Positions Influence Participant’s Network Behaviour within C...
Do Hierarchical Positions Influence Participant’s  Network Behaviour within C...Do Hierarchical Positions Influence Participant’s  Network Behaviour within C...
Do Hierarchical Positions Influence Participant’s Network Behaviour within C...Martin Rehm
 
Q4M Microblogcon
Q4M MicroblogconQ4M Microblogcon
Q4M MicroblogconKazuho Oku
 
Na putu do posla
Na putu do poslaNa putu do posla
Na putu do poslaGavranica
 
Comparison
ComparisonComparison
Comparisonwawmea
 
The best power diy marketing tips for entrepreneurs
The best power diy marketing tips for entrepreneursThe best power diy marketing tips for entrepreneurs
The best power diy marketing tips for entrepreneursDIYMarketers
 
A Long Walk to Water: Lesson18 unit2
A Long Walk to Water: Lesson18 unit2A Long Walk to Water: Lesson18 unit2
A Long Walk to Water: Lesson18 unit2Terri Weiss
 
彩蝶计划2008版
彩蝶计划2008版彩蝶计划2008版
彩蝶计划2008版mingxia
 
A Long Walk to Water: Lesson19 unit2
A Long Walk to Water: Lesson19 unit2A Long Walk to Water: Lesson19 unit2
A Long Walk to Water: Lesson19 unit2Terri Weiss
 
The value proposition and the solution
The value proposition and the solutionThe value proposition and the solution
The value proposition and the solutionSebastien Dubuis
 
Lyddie: Unit2 lesson8
Lyddie:  Unit2 lesson8Lyddie:  Unit2 lesson8
Lyddie: Unit2 lesson8Terri Weiss
 
Finding and sharing good stuff: open practice, open educational resources and...
Finding and sharing good stuff: open practice, open educational resources and...Finding and sharing good stuff: open practice, open educational resources and...
Finding and sharing good stuff: open practice, open educational resources and...Lis Parcell
 

Viewers also liked (20)

Export jpg
Export jpgExport jpg
Export jpg
 
Virtuous Spiral or Vicious Circle?
Virtuous Spiral or Vicious Circle?Virtuous Spiral or Vicious Circle?
Virtuous Spiral or Vicious Circle?
 
FantáStic[1]
FantáStic[1]FantáStic[1]
FantáStic[1]
 
Rattlesnakes by Amya
Rattlesnakes by AmyaRattlesnakes by Amya
Rattlesnakes by Amya
 
Jackrabbit by Breaonna
Jackrabbit by BreaonnaJackrabbit by Breaonna
Jackrabbit by Breaonna
 
Phoenix Energy Star Bulk Purchasing Presentation
Phoenix   Energy Star Bulk Purchasing PresentationPhoenix   Energy Star Bulk Purchasing Presentation
Phoenix Energy Star Bulk Purchasing Presentation
 
Using CKAN as a data store
Using CKAN as a data storeUsing CKAN as a data store
Using CKAN as a data store
 
The Future of Big Data in Education
The Future of Big Data in EducationThe Future of Big Data in Education
The Future of Big Data in Education
 
Do Hierarchical Positions Influence Participant’s Network Behaviour within C...
Do Hierarchical Positions Influence Participant’s  Network Behaviour within C...Do Hierarchical Positions Influence Participant’s  Network Behaviour within C...
Do Hierarchical Positions Influence Participant’s Network Behaviour within C...
 
Q4M Microblogcon
Q4M MicroblogconQ4M Microblogcon
Q4M Microblogcon
 
Na putu do posla
Na putu do poslaNa putu do posla
Na putu do posla
 
Comparison
ComparisonComparison
Comparison
 
The best power diy marketing tips for entrepreneurs
The best power diy marketing tips for entrepreneursThe best power diy marketing tips for entrepreneurs
The best power diy marketing tips for entrepreneurs
 
A Long Walk to Water: Lesson18 unit2
A Long Walk to Water: Lesson18 unit2A Long Walk to Water: Lesson18 unit2
A Long Walk to Water: Lesson18 unit2
 
彩蝶计划2008版
彩蝶计划2008版彩蝶计划2008版
彩蝶计划2008版
 
A Long Walk to Water: Lesson19 unit2
A Long Walk to Water: Lesson19 unit2A Long Walk to Water: Lesson19 unit2
A Long Walk to Water: Lesson19 unit2
 
The value proposition and the solution
The value proposition and the solutionThe value proposition and the solution
The value proposition and the solution
 
TypeScript, Now.
TypeScript, Now.TypeScript, Now.
TypeScript, Now.
 
Lyddie: Unit2 lesson8
Lyddie:  Unit2 lesson8Lyddie:  Unit2 lesson8
Lyddie: Unit2 lesson8
 
Finding and sharing good stuff: open practice, open educational resources and...
Finding and sharing good stuff: open practice, open educational resources and...Finding and sharing good stuff: open practice, open educational resources and...
Finding and sharing good stuff: open practice, open educational resources and...
 

Similar to Infrastrutture web e Ruby on Rails

Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailDotNetMarche
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFFabrizio Bernabei
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFondazione CUOA
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08Alessandro Del Sole
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012VMEngine
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Alberto Lagna
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifEmanuele Della Valle
 
Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiPietro Libro
 
Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Fabrizio Bernabei
 

Similar to Infrastrutture web e Ruby on Rails (20)

Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Web services
Web servicesWeb services
Web services
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
Fabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a ServicesFabio Cecaro - WorkShop PaaS – Platform as a Services
Fabio Cecaro - WorkShop PaaS – Platform as a Services
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
 
Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012Workshop paas - ECDay 23 Maggio 2012
Workshop paas - ECDay 23 Maggio 2012
 
Confronto fra web services framework (open source)
Confronto fra web services framework (open source)Confronto fra web services framework (open source)
Confronto fra web services framework (open source)
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
 
Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web Api
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
 
Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 

Recently uploaded

Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Recently uploaded (10)

Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

Infrastrutture web e Ruby on Rails

  • 1. Infrastrutture per il web e Ruby on Rails Luigi Maselli http://grigio.org Corso autogestito di Linux 2007/2008 – Università di Torino
  • 3. Nessuno ha ben capito cosa significhi “Web 2.0”, ma dire che qualcosa lo é fa figo..
  • 4.
  • 5. ..cioé Firefox(gecko), IE, Safari(WebKit), Opera, applicazioni native interfacciate a WebAPI (es: Tweet = Clutter + Twitter) presentazione (html, xml, json, flash), interazione (javascript, ajax, flash) webserver , database Apache, Lighttpd, Php, Python, Ruby, Mysql, Oracle, SQLite,.. Client Server
  • 6. ..e Ruby on Rails? Firefox(gecko), IE, Safari(WebKit), Opera, applicazioni native interfacciate a WebAPI (es: Clutter + Twitter) presentazione (html, xml, json, flash), interazione (javascript, ajax, flash) webserver , database Apache, Lighttpd, Php, Python, Ruby, Mysql, Oracle, SQLite,.. Client Server Ruby on Rails
  • 7. Prima di andare oltre, Ruby! Completamente ad oggetti, conciso, espressivo, semplice, dinamico, multipiattaforma, multivirtualmachine, multiuso e Open Source. Altre caratteristiche interessanti: Duck Typing e Blocchi (Vedi Wikipedia ) Un unico linguaggio ad alto livello per: scripting , applicazioni desktop e web . È stato creato in Giappone da まつもとゆきひろ (Yukihiro Matsumoto - Matz) nel 1993 e dopo qualche anno si è diffuso nel resto del mondo.
  • 10. Applicazioni web (vedi Rails) Ruby on Rails è un Domain Specific Language (DSL), estende Ruby, applica dei Design Pattern come Model View Controller (MVC) e Convention over Configuration . Il framework Ruby on Rails ha avuto talmente tanto successo da aver ispirato framework analoghi in Php, Perl, .NET,.. Qualcuno lo ritiene un linguaggio indipendente, per la sua flessibilità e per le sue “magie”, ma tutto questo succede grazie a Ruby!
  • 11. Ruby on Rails (MVC)
  • 12. Model Gestisce le relazioni tra le tabelle del database Mappa una query su un oggetto (Object-relational mapping, ORM ) Valida la correttezza dei dati Non c'é bisogno di specificare il nome della tabella di riferimento(*) (*) Se si usano le convenzioni di Rails
  • 13. Controller Carica i model per le view Gestisce le diverse tipologie di accesso Varie ed eventuali
  • 14. View È l'equivalente della “pagina Php” Non può essere chiamata direttamente Può essere anche Xml, json, rss,.. Si occupa di presentare i dati, i form e gli errori
  • 15. Risorse Applicazione TODO d'esempio http://grigio.org/files/todo.tar.gz Italiano http://ruby-it.org/ http://www.therubymine.com/ http://ruby.html.it http://grigio.org/un_assaggio_ruby_e_rails English http://api.rubyonrails.org/ http://www.ruby-lang.org http://rubyonrails.org http://railscasts.com/