SlideShare ist ein Scribd-Unternehmen logo
1 von 8
- SVILUPPO APPLICAZIONI IN RUBY ON RAILS -
Sviluppo app in Ruby on Rails
La metodologia agile e veloce!


RUBY ON RAILS WEB AGENCY

NERDYDOG s.n.c. sviluppa applicazioni web in Ruby on Rails, il framework open souce
MVC (Model View Controller) basato su Ruby.

Con Ruby on Rails , oppure RoR è possibile sviluppare applicazioni in modo semplice
diminuendo la percentuale di codice che solitamente va a ripetersi nelle applicazioni.

Il pattern Model View Controller infatti è una pratica di programmazione che semplifica
la separazione tra presentazione dei dati, logica della app e contenuti.

Le app sviluppate in Ruby on Rails sono particolarmente indicate per progetti dinamici,
flessibili che necessitano aggiornamenti continui o ampliamenti futuri come possono
essere ad esempio le Start up.
Ruby on Rails
Cos'è RoR?


RUBY ON RAILS IS

“... an Open-source web framework that’s optimized for programmer

happiness and sustainable productivity. It lets you write beautiful code by

favoring convention over configuration.”



“... a breakthrough in lowering the barriers of entry to programming.

Powerful web applications that formerly might have taken weeks or months

to develop can be produced in a matter of days.”



(fonte: http://www.rubyonrails.org)
Principi
I valori su cui si basa RoR


VALUES
●
    DRY: don’t repeat yourself
●
    MVC: Model View Controller
●
    TDD: Test Driven Development
●
    KISS: keep it simple, stupid
●
    ORM: Object-relational mapping
●
    Scaffolding
●
    Get the things done
●
    Conventions over configuration
●
    Agile development
Perchè Ruby on Rails?
Punti di forza di RoR


PERCHE' SCEGLIERE RUBY ON RAILS PER LO SVILUPPO?
●
    Semplice
●
    Intuitivo
●
    Scalabile
●
    Veloce
●
    Diminuisce la complessità del codice
●
    Il codice è autoesplicativo
●
    Eliminando le fasi più noiose ci permette di concentrarci su ciò che conta
    veramente: il business del cliente.
MVC
Il modello Model View Controller




1. Il browser invia le richieste

2. Il controller interagisce con il modello

3. Il controller chiama la vista

4. La vista produce la schermata sul browser
Integrazione database
Molti RDBMS?


INTEGRARE L'APP IN MOLTI RDBMS

Non ti devi preoccupare grazie a ORM – ActiveRecord



Ruby on Rails usa ActiveRecord, questo significa che non devi chiamare manualmente il
database scrivendo query in specifici linguaggi sql ma ActiveRecord lo farà per te.

Invece di scrivere

Select * from users, where id = 10

Chiamerai semplicemente

User.find(10)

Tra 2 anni il tuo cliente vuole cambiare db e passare da MySql a SQLite? Nessun
problema basterà installare l'adapter adatto.
NerdyDog S.n.c.
Contatti


NERDYDOG s.n.c.

di Giacobbi Mareika e Lipreri Mattia

Piazza Avis, 10

46040 Casalromano (MN)



Web: www.nerdydog.it

Email: info@nerdydog.it



Twitter: twitter.com/#!/nerdydog_agency

Facebook: facebook.com/NerdyDog

LinkedIn: linkedin.com/company/nerdydog

Weitere ähnliche Inhalte

Was ist angesagt?

Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS Eugenio Minardi
 
Selenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio BenedettiSelenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio BenedettiGiuneco S.r.l
 
CommitUniversity AngularJSAdvanced Andrea Vallotti
CommitUniversity  AngularJSAdvanced Andrea VallottiCommitUniversity  AngularJSAdvanced Andrea Vallotti
CommitUniversity AngularJSAdvanced Andrea VallottiCommit University
 
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoGiuneco S.r.l
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campusDotNetCampus
 
ModulAngular
ModulAngularModulAngular
ModulAngularextrategy
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the WebClaudio Gandelli
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETStefano Ottaviani
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleMarco Breveglieri
 

Was ist angesagt? (20)

Require js
Require jsRequire js
Require js
 
Workshop angular
Workshop angularWorkshop angular
Workshop angular
 
Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS
 
Selenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio BenedettiSelenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio Benedetti
 
Novità Per Gli Sviluppatori Nella R85 Dominopoint Day 2008
Novità Per Gli Sviluppatori Nella R85 Dominopoint Day 2008Novità Per Gli Sviluppatori Nella R85 Dominopoint Day 2008
Novità Per Gli Sviluppatori Nella R85 Dominopoint Day 2008
 
CommitUniversity AngularJSAdvanced Andrea Vallotti
CommitUniversity  AngularJSAdvanced Andrea VallottiCommitUniversity  AngularJSAdvanced Andrea Vallotti
CommitUniversity AngularJSAdvanced Andrea Vallotti
 
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Slide typescript - net campus
Slide typescript - net campusSlide typescript - net campus
Slide typescript - net campus
 
AngularJS 2.0
AngularJS 2.0 AngularJS 2.0
AngularJS 2.0
 
ModulAngular
ModulAngularModulAngular
ModulAngular
 
Angular js: routing
Angular js: routingAngular js: routing
Angular js: routing
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
 
AngularJS-Intro
AngularJS-IntroAngularJS-Intro
AngularJS-Intro
 
REST API fantastiche e dove trovarle
REST API fantastiche e dove trovarleREST API fantastiche e dove trovarle
REST API fantastiche e dove trovarle
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Web dynpro for abap 03
Web dynpro for abap 03Web dynpro for abap 03
Web dynpro for abap 03
 

Ähnlich wie Sviluppo applicazioni in Ruby on Rails

MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webEugenio Minardi
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailDotNetMarche
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
Un backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringUn backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringMarcello Teodori
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di riaLorenzo Bortolotto
 
Model View Controller - Semplificare Il Codice E Minimizzare I Tempi
Model View Controller - Semplificare Il Codice E Minimizzare I TempiModel View Controller - Semplificare Il Codice E Minimizzare I Tempi
Model View Controller - Semplificare Il Codice E Minimizzare I TempiMarco Parenzan
 
Angular in produzione: Best Practices e Performance Improvements
Angular in produzione:Best Practices e Performance ImprovementsAngular in produzione:Best Practices e Performance Improvements
Angular in produzione: Best Practices e Performance ImprovementsMichele Aponte
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLPar-Tec S.p.A.
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Andrea Carratta
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101DotNetCampus
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net orientedAlessandro Morvillo
 
C# Mobile application architecture
C# Mobile application architectureC# Mobile application architecture
C# Mobile application architectureLeonardo Alario
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 

Ähnlich wie Sviluppo applicazioni in Ruby on Rails (20)

MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del web
 
Tesi8
Tesi8Tesi8
Tesi8
 
Web dynpro for abap 02
Web dynpro for abap 02Web dynpro for abap 02
Web dynpro for abap 02
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
Un backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringUn backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con Spring
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Devops, Cloud e Container
Devops, Cloud e ContainerDevops, Cloud e Container
Devops, Cloud e Container
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di ria
 
Model View Controller - Semplificare Il Codice E Minimizzare I Tempi
Model View Controller - Semplificare Il Codice E Minimizzare I TempiModel View Controller - Semplificare Il Codice E Minimizzare I Tempi
Model View Controller - Semplificare Il Codice E Minimizzare I Tempi
 
Angular in produzione: Best Practices e Performance Improvements
Angular in produzione:Best Practices e Performance ImprovementsAngular in produzione:Best Practices e Performance Improvements
Angular in produzione: Best Practices e Performance Improvements
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?Cloud & No-Coding: come fare su Azure?
Cloud & No-Coding: come fare su Azure?
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
 
C# Mobile application architecture
C# Mobile application architectureC# Mobile application architecture
C# Mobile application architecture
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 

Sviluppo applicazioni in Ruby on Rails

  • 1. - SVILUPPO APPLICAZIONI IN RUBY ON RAILS -
  • 2. Sviluppo app in Ruby on Rails La metodologia agile e veloce! RUBY ON RAILS WEB AGENCY NERDYDOG s.n.c. sviluppa applicazioni web in Ruby on Rails, il framework open souce MVC (Model View Controller) basato su Ruby. Con Ruby on Rails , oppure RoR è possibile sviluppare applicazioni in modo semplice diminuendo la percentuale di codice che solitamente va a ripetersi nelle applicazioni. Il pattern Model View Controller infatti è una pratica di programmazione che semplifica la separazione tra presentazione dei dati, logica della app e contenuti. Le app sviluppate in Ruby on Rails sono particolarmente indicate per progetti dinamici, flessibili che necessitano aggiornamenti continui o ampliamenti futuri come possono essere ad esempio le Start up.
  • 3. Ruby on Rails Cos'è RoR? RUBY ON RAILS IS “... an Open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.” “... a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.” (fonte: http://www.rubyonrails.org)
  • 4. Principi I valori su cui si basa RoR VALUES ● DRY: don’t repeat yourself ● MVC: Model View Controller ● TDD: Test Driven Development ● KISS: keep it simple, stupid ● ORM: Object-relational mapping ● Scaffolding ● Get the things done ● Conventions over configuration ● Agile development
  • 5. Perchè Ruby on Rails? Punti di forza di RoR PERCHE' SCEGLIERE RUBY ON RAILS PER LO SVILUPPO? ● Semplice ● Intuitivo ● Scalabile ● Veloce ● Diminuisce la complessità del codice ● Il codice è autoesplicativo ● Eliminando le fasi più noiose ci permette di concentrarci su ciò che conta veramente: il business del cliente.
  • 6. MVC Il modello Model View Controller 1. Il browser invia le richieste 2. Il controller interagisce con il modello 3. Il controller chiama la vista 4. La vista produce la schermata sul browser
  • 7. Integrazione database Molti RDBMS? INTEGRARE L'APP IN MOLTI RDBMS Non ti devi preoccupare grazie a ORM – ActiveRecord Ruby on Rails usa ActiveRecord, questo significa che non devi chiamare manualmente il database scrivendo query in specifici linguaggi sql ma ActiveRecord lo farà per te. Invece di scrivere Select * from users, where id = 10 Chiamerai semplicemente User.find(10) Tra 2 anni il tuo cliente vuole cambiare db e passare da MySql a SQLite? Nessun problema basterà installare l'adapter adatto.
  • 8. NerdyDog S.n.c. Contatti NERDYDOG s.n.c. di Giacobbi Mareika e Lipreri Mattia Piazza Avis, 10 46040 Casalromano (MN) Web: www.nerdydog.it Email: info@nerdydog.it Twitter: twitter.com/#!/nerdydog_agency Facebook: facebook.com/NerdyDog LinkedIn: linkedin.com/company/nerdydog