breve introduzione allo sviluppo web · 2020-02-05 · –asp.net (asp e c#) –yii (php)...
TRANSCRIPT
![Page 2: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/2.jpg)
Partiamo (1 di 1)
Come funziona il WEB
e quali tecnologie lo compongono
![Page 3: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/3.jpg)
Cos’è un Client (1 di 2)
• Un client, in informatica, indica una componente che accede ai servizi o alle risorse di un'altra componente detta server.
• Un computer collegato ad un server tramite una rete informatica (locale o geografica) ed al quale richiede uno o più servizi, utilizzando uno o più protocolli di rete, è un esempio di client hardware.
![Page 4: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/4.jpg)
Cos’è un Client (2 di 2)
![Page 5: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/5.jpg)
Cos’è un Server (1 di 2)
• In informatica il termine server indica genericamente un componente o sottosistema informatico di elaborazione che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (tipicamente chiamate client, cioè "cliente") che ne fanno richiesta attraverso una rete di computer, all'interno di un sistema informatico o direttamente in locale su un computer.
![Page 6: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/6.jpg)
Cos’è un Server (2 di 2)
![Page 7: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/7.jpg)
Architettura Client-Server (1 di 4)
• In informatica il termine sistema client-server indica un'architettura di rete nella quale genericamente un computer client si connette ad un server per la fruizione di un certo servizio, quale ad esempio la condivisione di una certa risorsa hardware/software con altri client, appoggiandosi alla sottostante architettura protocollare.
![Page 8: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/8.jpg)
Architettura Client-Server (2 di 4)
![Page 9: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/9.jpg)
Architettura Client-Server (3 di 4)
• Sono organizzati sotto forma di una tipica architettura client-server per la fruizione dei rispettivi servizi:
– Le reti locali aziendali (LAN);
– la rete Internet;
– i sistemi informatici;
– i sistemi operativi.
![Page 10: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/10.jpg)
Architettura Client-Server (4 di 4)
![Page 11: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/11.jpg)
Cos’è un Database (1 di 5)
• In informatica, il termine database, base di dati o banca dati (a volte abbreviato con la sigla DB), indica un archivio dati, o un insieme di archivi ben strutturati, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un particolare modello logico (relazionale, gerarchico, reticolare o a oggetti).
![Page 12: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/12.jpg)
Cos’è un Database (2 di 5)
![Page 13: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/13.jpg)
Cos’è un Database (3 di 5)
• Sono collegate in modo tale da consentire la gestione/organizzazione efficiente dei dati stessi e l'interfacciamento con le richieste dell'utente attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) grazie a particolari applicazioni software dedicate (DBMS), basate su un'architettura di tipo client-server.
![Page 14: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/14.jpg)
Cos’è un Database (4 di 5)
![Page 15: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/15.jpg)
Cos’è un Database (5 di 5)
• Tra i più diffusi DBMS open source troviamo: – MySQL
– PostgreSQL
• I più diffusi sistemi commerciali sono: – Oracle
– IBM DB2
– Microsoft SQL Server
– Microsoft Access
![Page 16: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/16.jpg)
Model-View-Controller (1 di 3)
• Il Model-View-Controller, in informatica, è un pattern architetturale molto diffuso nello sviluppo di sistemi software, in particolare nell'ambito della programmazione orientata agli oggetti, in grado di separare la logica di presentazione dei dati dalla logica di business.
![Page 17: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/17.jpg)
Model-View-Controller (2 di 3)
![Page 18: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/18.jpg)
Model-View-Controller (3 di 3)
• Il funzionamento:
– Il browser (tramite il client) invia le richieste;
– Il controller interagisce con il model;
– Il controller chiama la view;
– La view produce la schermata sul browser Funzionamento.
![Page 19: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/19.jpg)
Linguaggi lato Client (1 di 2)
• Sono caratterizzate dal fatto che l'esecuzione e l'interpretazione delle istruzioni avvengono in locale sul computer che effettua la richiesta al server;
• La conseguenza principale è che una pagina può essere visualizzata solo se gli utenti hanno a disposizione un software in grado di interpretare le istruzioni.
![Page 20: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/20.jpg)
Linguaggi lato Client (2 di 2)
• I principali linguaggi e tecnologie che possono essere utilizzati dal lato client sono:
– JavaScript
– Java
– VbScript
– Active X
– Flash
– Jquery
![Page 21: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/21.jpg)
Linguaggi lato Server (1 di 2)
• Le tecnologie dal lato server sono caratterizzate dal fatto che permettono l'esecuzione di script sul server, in modo quindi indipendente dall'ambiente di esecuzione dell'utente, tanto da impostazioni e preferenze, quanto dal browser, quanto dal sistema operativo.
![Page 22: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/22.jpg)
Linguaggi lato Server (2 di 2)
• Le principali e più comuni tecnologie dal lato server sono:
– Common Gateway Interface (CGI)
– Application Program Interface (API)
– Microsoft Active Server Pages (ASP)
– Java Server Pages (JSP)
– Cold Fusion Markup Language (CFML)
– PHP
![Page 23: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/23.jpg)
Cos’è una Pagina Dinamica (1 di 3)
• In una Pagina Dinamica i componenti vengono elaborati e composti solo nel momento in cui arriva una richiesta esplicita:
• Viene utilizzata nei casi in cui sia necessario generare dei contenuti in modo automatico o in risposta ad un'operazione interattiva effettuata dall'utente;
![Page 24: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/24.jpg)
Cos’è una Pagina Dinamica (2 di 3)
![Page 25: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/25.jpg)
Cos’è una Pagina Dinamica (3 di 3)
• Le tecnologie disponibili possono essere e divise in due gruppi principali:
– Linguaggi lato client;
– Linguaggi lato server.
• La scelta dell'una o dell'altra avverrà in base a:
– Carico di lavoro da affidare a client e server;
– affidabilità del linguaggio.
![Page 26: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/26.jpg)
Differenza HTML - HTML5 (1 di 3)
• HTML 4 e HTML 5 sono entrambi due linguaggi markup;
• Il 5 però non è, come immaginabile, il successore del 4 ma e destinato a diventare il nuovo standard;
• Infatti, prima dell’HTML 5, lo standard proposto era l’XHTML (Extension HTML).
![Page 27: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/27.jpg)
Differenza HTML - HTML5 (2 di 3)
• HTML 4 è stato reso disponibile a natale del 1999 e prevedeva una prima reale adozione dei fogli di stile (CSS) per separare la struttura dallo stile.
• Dopo il fallimento della seconda release di XHTML è iniziata la concezione di HTML 5.
![Page 28: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/28.jpg)
Differenza HTML - HTML5 (3 di 3)
• Quest’ultimo linguaggio si propone di migliorare la possibilità di strutturazione delle informazioni sul Web, oltre che accentuando la separazione tra stile, contenuti e struttura, anche tramite la creazione di nuovi tag come <video> e <audio> che meglio si adattano alla nuova evoluzione del WEB.
![Page 29: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/29.jpg)
Cos’è un Framework (1 di 4)
• In informatica, e specificatamente nello sviluppo software, un framework è una struttura logica di supporto (spesso un'implementazione logica di un particolare design pattern) su cui un software può essere progettato e realizzato, spesso facilitandone lo sviluppo da parte del programmatore.
![Page 30: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/30.jpg)
Cos’è un Framework (2 di 4)
• Alla base di un framework c'è sempre una serie di librerie di codice utilizzabili con uno o più linguaggi di programmazione, spesso corredate da una serie di strumenti di supporto allo sviluppo del software, come ad esempio un IDE, un debugger o altri strumenti ideati per aumentare la velocità di sviluppo del prodotto finito.
![Page 31: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/31.jpg)
Cos’è un Framework (3 di 4)
• L'utilizzo di un framework impone dunque al programmatore una precisa metodologia di sviluppo del software;
• Quando si parla di Framework è doveroso ricordare il pattern MVC.
![Page 32: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/32.jpg)
Cos’è un Framework (4 di 4)
• I framework MVC, più diffusi, sono:
– Zend Framework (PHP)
– Ruby on Rails (Ruby)
– Symfony (PHP)
– Flex (Java)
– ASP.NET (ASP e C#)
– Yii (PHP)
– CakePHP (PHP)
![Page 33: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/33.jpg)
Cos’è un Framework CSS (1 di 2)
• Un framework è una struttura logica di supporto su cui un software può essere progettato e realizzato spesso facilitandone lo sviluppo;
• Nel mondo del web design, per essere più specifici, un framework è l’insieme strutturato di file (HTML, CSS e Javascript), cartelle e codice standardizzato secondo una logica, che viene utilizzato come fondamenta o supporto per la creazione di un nuovo sito o applicazione web.
![Page 34: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/34.jpg)
Cos’è un Framework CSS (2 di 2)
• I framework CSS, più diffusi, sono:
– Bootstrap;
– Blueprint;
– 960 grid;
– YUI CSS;
– angularJS .
![Page 35: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/35.jpg)
Bentobox (1 di 6)
• Che cosa abbiamo imparato fino ad ora?
– La differenza tra client e server;
– La differenza tra un linguaggio lato cliente e un linguaggio lato server;
– La differenza tra un sito web e una applicazione web;
– La differenza tra un linguaggio di programmazione e un web framework;
– Regole di copia-incolla (Google everything ;-) )
![Page 36: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/36.jpg)
Bentobox (2 di 6)
![Page 37: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/37.jpg)
Bentobox (3 di 6)
• Perché Bento?
– Il bentō (お弁当 obentō) è una sorta di vassoio contenitore con coperchio di varie forme e materiali contenente un pasto, in singola porzione, impacchettato in casa o comprato fuori, comune nella cucina giapponese;
– il cui contenuto è disposto nel modo più efficiente possibile e in maniera graziosa;
– È a tutti gli effetti un puzzle ;-)
![Page 38: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/38.jpg)
Bentobox (4 di 6)
![Page 39: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/39.jpg)
Bentobox (5 di 6)
• Ora tocca a voi comporre la vostra Bento Box:
– Storage
– Infra
– The Logic
– The Structure e Style
![Page 40: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/40.jpg)
Bentobox (6 di 6)
![Page 41: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/41.jpg)
Cos’è Ruby on Rails (1 di 2)
• Ruby on Rails (spesso chiamato RoR o semplicemente Rails) è un framework open source per applicazioni web scritto in Ruby da David Heinemeier Hansson per conto della 37signals;
• la sua architettura è fortemente ispirata al paradigma Model-View-Controller (MVC).
![Page 42: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/42.jpg)
Cos’è Ruby on Rails (2 di 2)
• Ruby on Rails è : – stato creata nel 2005 e da allora ha acquisito una
trazione globale impressionante;
– una piattaforma open-source di sviluppo web, realizzata con il linguaggio di programmazione Ruby;
– stato sviluppato implementando con particolare attenzione le funzionalità destinate all'interazione del framework con le basi di dati e le informazioni in esse archiviate.
![Page 43: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/43.jpg)
A cosa serve Ruby on Rails (1 di 2)
• Serve a sviluppare applicazioni in modo semplice diminuendo la percentuale di codice che solitamente va a ripetersi nelle applicazioni.
– N.B.: Una grande contributo è dato dal pattern Model View Controller che è una pratica di programmazione che semplifica la separazione tra presentazione dei dati, logica della app e contenuti.
![Page 44: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/44.jpg)
A cosa serve Ruby on Rails (2 di 2)
• Il risultato è che le app sviluppate in Ruby on Rails sono particolarmente indicate per progetti dinamici, flessibili che necessitano aggiornamenti continui o ampliamenti futuri.
![Page 45: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/45.jpg)
Framework CSS utilizzati con Rails
• È possibile, per RoR, fare riferimento a :
– Bootstrap;
– Blueprint;
– 960 grid;
– YUI CSS.
![Page 46: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/46.jpg)
Database utilizzati con Rails (1 di 2)
• Tra i numerosi DBMS supportati da RoR, per citare soltanto alcuni di quelli rilasciati sotto licenza Open Source, è possibile fare riferimento a :
– MySQL;
– SQLite;
– PostgreSQL;
– MongoDB.
![Page 47: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/47.jpg)
Database utilizzati con Rails (2 di 2)
![Page 48: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/48.jpg)
Model-View-Controller (1 di 5)
• Le applicazioni sviluppate con Rails hanno una peculiarità, ovvero sono tutte organizzate secondo una struttura comune;
• Questa è una conseguenza del fatto che il comando rails genera una serie di directory e file che forniscono una certa linea guida nello sviluppo, linea che se rispettata permette a Rails di effettuare molte cose automaticamente.
![Page 49: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/49.jpg)
Model-View-Controller (2 di 5)
• Esempio : caricare i file, generarli ed individuarli a runtime e molto altro;
• Questa struttura comune permette anche di comprendere con semplicità il codice di progetti realizzati da altri, in quanto sono organizzati nella stessa maniera.
![Page 50: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/50.jpg)
Model-View-Controller (3 di 5)
![Page 51: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/51.jpg)
Model-View-Controller (4 di 5)
• I dati (model) sono separati dall’interfaccia utente (view): – Model
• Accesso ai dati e alla logica di business
• Indipendente dalla View e dal Controller
– Controller • Coordina l'interazione tra l'utente, le View, e il Model
– View • Presentazione dei dati e interazione con l’utente
• Accesso in sola lettura al Model
![Page 52: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/52.jpg)
Model-View-Controller (5 di 5)
![Page 53: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/53.jpg)
Grazie per l’attenzione
Fine
![Page 54: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/54.jpg)
Come funziona il WEB e quali tecnologie lo compongono
Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - [email protected]
![Page 55: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/55.jpg)
Cos’è un Client (1 di 2)
• Un client, in informatica, indica una componente che accede ai servizi o alle risorse di un'altra componente detta server.
• Un computer collegato ad un server tramite una rete informatica (locale o geografica) ed al quale richiede uno o più servizi, utilizzando uno o più protocolli di rete, è un esempio di client hardware.
![Page 56: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/56.jpg)
Cos’è un Client (2 di 2)
![Page 57: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/57.jpg)
Cos’è un Server (1 di 2)
• In informatica il termine server indica genericamente un componente o sottosistema informatico di elaborazione che fornisce, a livello logico e a livello fisico, un qualunque tipo di servizio ad altre componenti (tipicamente chiamate client, cioè "cliente") che ne fanno richiesta attraverso una rete di computer, all'interno di un sistema informatico o direttamente in locale su un computer.
![Page 58: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/58.jpg)
Cos’è un Server (2 di 2)
![Page 59: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/59.jpg)
Architettura Client-Server (1 di 4)
• In informatica il termine sistema client-server indica un'architettura di rete nella quale genericamente un computer client si connette ad un server per la fruizione di un certo servizio, quale ad esempio la condivisione di una certa risorsa hardware/software con altri client, appoggiandosi alla sottostante architettura protocollare.
![Page 60: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/60.jpg)
Architettura Client-Server (2 di 4)
![Page 61: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/61.jpg)
Architettura Client-Server (3 di 4)
• Sono organizzati sotto forma di una tipica architettura client-server per la fruizione dei rispettivi servizi:
– Le reti locali aziendali (LAN);
– la rete Internet;
– i sistemi informatici;
– i sistemi operativi.
![Page 62: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/62.jpg)
Architettura Client-Server (4 di 4)
![Page 63: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/63.jpg)
Cos’è un Database (1 di 5)
• In informatica, il termine database, base di dati o banca dati (a volte abbreviato con la sigla DB), indica un archivio dati, o un insieme di archivi ben strutturati, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un particolare modello logico (relazionale, gerarchico, reticolare o a oggetti).
![Page 64: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/64.jpg)
Cos’è un Database (2 di 5)
![Page 65: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/65.jpg)
Cos’è un Database (3 di 5)
• Sono collegate in modo tale da consentire la gestione/organizzazione efficiente dei dati stessi e l'interfacciamento con le richieste dell'utente attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) grazie a particolari applicazioni software dedicate (DBMS), basate su un'architettura di tipo client-server.
![Page 66: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/66.jpg)
Cos’è un Database (4 di 5)
![Page 67: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/67.jpg)
Cos’è un Database (5 di 5)
• Tra i più diffusi DBMS open source troviamo: – MySQL
– PostgreSQL
• I più diffusi sistemi commerciali sono: – Oracle
– IBM DB2
– Microsoft SQL Server
– Microsoft Access
![Page 68: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/68.jpg)
Model-View-Controller (1 di 3)
• Il Model-View-Controller, in informatica, è un pattern architetturale molto diffuso nello sviluppo di sistemi software, in particolare nell'ambito della programmazione orientata agli oggetti, in grado di separare la logica di presentazione dei dati dalla logica di business.
![Page 69: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/69.jpg)
Model-View-Controller (2 di 3)
![Page 70: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/70.jpg)
Model-View-Controller (3 di 3)
• Il funzionamento:
– Il browser (tramite il client) invia le richieste;
– Il controller interagisce con il model;
– Il controller chiama la view;
– La view produce la schermata sul browser Funzionamento.
![Page 71: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/71.jpg)
Linguaggi lato Client (1 di 2)
• Sono caratterizzate dal fatto che l'esecuzione e l'interpretazione delle istruzioni avvengono in locale sul computer che effettua la richiesta al server;
• La conseguenza principale è che una pagina può essere visualizzata solo se gli utenti hanno a disposizione un software in grado di interpretare le istruzioni.
![Page 72: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/72.jpg)
Linguaggi lato Client (2 di 2)
• I principali linguaggi e tecnologie che possono essere utilizzati dal lato client sono:
– JavaScript
– Java
– VbScript
– Active X
– Flash
– Jquery
![Page 73: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/73.jpg)
Linguaggi lato Server (1 di 2)
• Le tecnologie dal lato server sono caratterizzate dal fatto che permettono l'esecuzione di script sul server, in modo quindi indipendente dall'ambiente di esecuzione dell'utente, tanto da impostazioni e preferenze, quanto dal browser, quanto dal sistema operativo.
![Page 74: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/74.jpg)
Linguaggi lato Server (2 di 2)
• Le principali e più comuni tecnologie dal lato server sono:
– Common Gateway Interface (CGI)
– Application Program Interface (API)
– Microsoft Active Server Pages (ASP)
– Java Server Pages (JSP)
– Cold Fusion Markup Language (CFML)
– PHP
![Page 75: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/75.jpg)
Cos’è una Pagina Dinamica (1 di 3)
• In una Pagina Dinamica i componenti vengono elaborati e composti solo nel momento in cui arriva una richiesta esplicita:
• Viene utilizzata nei casi in cui sia necessario generare dei contenuti in modo automatico o in risposta ad un'operazione interattiva effettuata dall'utente;
![Page 76: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/76.jpg)
Cos’è una Pagina Dinamica (2 di 3)
![Page 77: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/77.jpg)
Cos’è una Pagina Dinamica (3 di 3)
• Le tecnologie disponibili possono essere e divise in due gruppi principali:
– Linguaggi lato client;
– Linguaggi lato server.
• La scelta dell'una o dell'altra avverrà in base a:
– Carico di lavoro da affidare a client e server;
– affidabilità del linguaggio.
![Page 78: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/78.jpg)
Differenza HTML - HTML5 (1 di 3)
• HTML 4 e HTML 5 sono entrambi due linguaggi markup;
• Il 5 però non è, come immaginabile, il successore del 4 ma e destinato a diventare il nuovo standard;
• Infatti, prima dell’HTML 5, lo standard proposto era l’XHTML (Extension HTML).
![Page 79: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/79.jpg)
Differenza HTML - HTML5 (2 di 3)
• HTML 4 è stato reso disponibile a natale del 1999 e prevedeva una prima reale adozione dei fogli di stile (CSS) per separare la struttura dallo stile.
• Dopo il fallimento della seconda release di XHTML è iniziata la concezione di HTML 5.
![Page 80: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/80.jpg)
Differenza HTML - HTML5 (3 di 3)
• Quest’ultimo linguaggio si propone di migliorare la possibilità di strutturazione delle informazioni sul Web, oltre che accentuando la separazione tra stile, contenuti e struttura, anche tramite la creazione di nuovi tag come <video> e <audio> che meglio si adattano alla nuova evoluzione del WEB.
![Page 81: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/81.jpg)
Cos’è un Framework (1 di 4)
• In informatica, e specificatamente nello sviluppo software, un framework è una struttura logica di supporto (spesso un'implementazione logica di un particolare design pattern) su cui un software può essere progettato e realizzato, spesso facilitandone lo sviluppo da parte del programmatore.
![Page 82: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/82.jpg)
Cos’è un Framework (2 di 4)
• Alla base di un framework c'è sempre una serie di librerie di codice utilizzabili con uno o più linguaggi di programmazione, spesso corredate da una serie di strumenti di supporto allo sviluppo del software, come ad esempio un IDE, un debugger o altri strumenti ideati per aumentare la velocità di sviluppo del prodotto finito.
![Page 83: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/83.jpg)
Cos’è un Framework (3 di 4)
• L'utilizzo di un framework impone dunque al programmatore una precisa metodologia di sviluppo del software;
• Quando si parla di Framework è doveroso ricordare il pattern MVC.
![Page 84: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/84.jpg)
Cos’è un Framework (4 di 4)
• I framework MVC, più diffusi, sono:
– Zend Framework (PHP)
– Ruby on Rails (Ruby)
– Symfony (PHP)
– Flex (Java)
– ASP.NET (ASP e C#)
– Yii (PHP)
– CakePHP (PHP)
![Page 85: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/85.jpg)
Cos’è un Framework CSS (1 di 2)
• Un framework è una struttura logica di supporto su cui un software può essere progettato e realizzato spesso facilitandone lo sviluppo;
• Nel mondo del web design, per essere più specifici, un framework è l’insieme strutturato di file (HTML, CSS e Javascript), cartelle e codice standardizzato secondo una logica, che viene utilizzato come fondamenta o supporto per la creazione di un nuovo sito o applicazione web.
![Page 86: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/86.jpg)
Cos’è un Framework CSS (2 di 2)
• I framework CSS, più diffusi, sono:
– Bootstrap;
– Blueprint;
– 960 grid;
– YUI CSS;
– angularJS .
![Page 87: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/87.jpg)
Bentobox (1 di 6)
• Che cosa abbiamo imparato fino ad ora?
– La differenza tra client e server;
– La differenza tra un linguaggio lato cliente e un linguaggio lato server;
– La differenza tra un sito web e una applicazione web;
– La differenza tra un linguaggio di programmazione e un web framework;
– Regole di copia-incolla (Google everything ;-) )
![Page 88: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/88.jpg)
Bentobox (2 di 6)
![Page 89: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/89.jpg)
Bentobox (3 di 6)
• Perché Bento?
– Il bentō (お弁当 obentō) è una sorta di vassoio contenitore con coperchio di varie forme e materiali contenente un pasto, in singola porzione, impacchettato in casa o comprato fuori, comune nella cucina giapponese;
– il cui contenuto è disposto nel modo più efficiente possibile e in maniera graziosa;
– È a tutti gli effetti un puzzle ;-)
![Page 90: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/90.jpg)
Bentobox (4 di 6)
![Page 91: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/91.jpg)
Bentobox (5 di 6)
• Ora tocca a voi comporre la vostra Bento Box:
– Storage
– Infra
– The Logic
– The Structure e Style
![Page 92: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/92.jpg)
Bentobox (6 di 6)
![Page 93: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/93.jpg)
Cos’è Ruby on Rails (1 di 2)
• Ruby on Rails (spesso chiamato RoR o semplicemente Rails) è un framework open source per applicazioni web scritto in Ruby da David Heinemeier Hansson per conto della 37signals;
• la sua architettura è fortemente ispirata al paradigma Model-View-Controller (MVC).
![Page 94: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/94.jpg)
Cos’è Ruby on Rails (2 di 2)
• Ruby on Rails è : – stato creata nel 2005 e da allora ha acquisito una
trazione globale impressionante;
– una piattaforma open-source di sviluppo web, realizzata con il linguaggio di programmazione Ruby;
– stato sviluppato implementando con particolare attenzione le funzionalità destinate all'interazione del framework con le basi di dati e le informazioni in esse archiviate.
![Page 95: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/95.jpg)
A cosa serve Ruby on Rails (1 di 2)
• Serve a sviluppare applicazioni in modo semplice diminuendo la percentuale di codice che solitamente va a ripetersi nelle applicazioni.
– N.B.: Una grande contributo è dato dal pattern Model View Controller che è una pratica di programmazione che semplifica la separazione tra presentazione dei dati, logica della app e contenuti.
![Page 96: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/96.jpg)
A cosa serve Ruby on Rails (2 di 2)
• Il risultato è che le app sviluppate in Ruby on Rails sono particolarmente indicate per progetti dinamici, flessibili che necessitano aggiornamenti continui o ampliamenti futuri.
![Page 97: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/97.jpg)
Framework CSS utilizzati con Rails
• È possibile, per RoR, fare riferimento a :
– Bootstrap;
– Blueprint;
– 960 grid;
– YUI CSS.
![Page 98: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/98.jpg)
Database utilizzati con Rails (1 di 2)
• Tra i numerosi DBMS supportati da RoR, per citare soltanto alcuni di quelli rilasciati sotto licenza Open Source, è possibile fare riferimento a :
– MySQL;
– SQLite;
– PostgreSQL;
– MongoDB.
![Page 99: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/99.jpg)
Database utilizzati con Rails (2 di 2)
![Page 100: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/100.jpg)
Model-View-Controller (1 di 5)
• Le applicazioni sviluppate con Rails hanno una peculiarità, ovvero sono tutte organizzate secondo una struttura comune;
• Questa è una conseguenza del fatto che il comando rails genera una serie di directory e file che forniscono una certa linea guida nello sviluppo, linea che se rispettata permette a Rails di effettuare molte cose automaticamente.
![Page 101: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/101.jpg)
Model-View-Controller (2 di 5)
• Esempio : caricare i file, generarli ed individuarli a runtime e molto altro;
• Questa struttura comune permette anche di comprendere con semplicità il codice di progetti realizzati da altri, in quanto sono organizzati nella stessa maniera.
![Page 102: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/102.jpg)
Model-View-Controller (3 di 5)
![Page 103: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/103.jpg)
Model-View-Controller (4 di 5)
• I dati (model) sono separati dall’interfaccia utente (view): – Model
• Accesso ai dati e alla logica di business
• Indipendente dalla View e dal Controller
– Controller • Coordina l'interazione tra l'utente, le View, e il Model
– View • Presentazione dei dati e interazione con l’utente
• Accesso in sola lettura al Model
![Page 104: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/104.jpg)
Model-View-Controller (5 di 5)
![Page 105: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/105.jpg)
In conclusione (1 di 1)
• Vediamo ora il risultato della nostra lezione:
– rails new rails_girls
![Page 106: Breve introduzione allo sviluppo WEB · 2020-02-05 · –ASP.NET (ASP e C#) –Yii (PHP) –CakePHP (PHP) ... source per applicazioni web scritto in Ruby da David Heinemeier Hansson](https://reader034.vdocuments.pub/reader034/viewer/2022050519/5fa317b9d6e41c6731308414/html5/thumbnails/106.jpg)
Grazie per l’attenzione
Fine