| Lugano, 29.03.2014 Ruby on Rails.

Slides:



Advertisements
Presentazioni simili
Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Profilazione d’utente nei sistemi di e-commerce
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Introduzione al datawarehouse
Java Enterprise Edition (JEE)
File System Cos’è un File System File e Directory
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Distributed Object Computing
File.
Dott. Nicola Ciraulo CMS Dott. Nicola Ciraulo
Architettura Three Tier
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
CORSO DI RICERCA BIBLIOGRAFICA 4. giornata (20 marzo 2008) Web of Science Beilstein e Gmelin Crossfire.
1 Linux day /11/2003 ADA. Dai requisiti al progetto Come nasce il progetto di una piattaforma e-learning Open Source.
Cos’è un CMS? Content Management System
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Introduzione alla modellazione di sistemi interattivi
UNIVERSITA’ POLITECNICA DELLE MARCHE
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Introduzione alla programmazione Object Oriented
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
UNIVERSITA’ POLITECNICA DELLE MARCHE
TUTORIAL PER L’APPLICAZIONE AURASMA
Seminario per il corso di Commercio Elettronico AA 2008 – 2009 tenuto dal Professore F. Dalla Libera A cura di: Boscariol Francesco Cosmo Luca
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Data Access Layer.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
14/06/2008 – Matteo Baglini Mail: Blog:
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Primo programma con il linguaggio Ruby
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Progettazione concettuale di SI basati su Web
a cura di Francesco Lattari
INTRODUZIONE A JAVASCRIPT
Web Form Presentazione 2.3 Comunicazione integrata in rete| Prof. Luca A. Ludovico.
1 PerfectFit06 Sistema di personalizzazione dei contenuti per gli scavi archeologici di Ercolano Candidato: Vincenzo Scognamiglio Relatore: Prof. Ernesto.
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Programmazione ad oggetti
Lezione 1 Panoramica sui paradigmi di programmazione
La Piattaforma del Credito Approfondimenti - integrazione Bergamo, 16 marzo 2010.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Programmazione ad oggetti
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Prog. applicazioni Web- 1 - Processo di sviluppo: Visione d’insieme.
Programmazione Web Presentazione del corso /2015.
INTRODUZIONE. Javascript è un linguaggio di scrittura che permette di aggiungere veri e propri programmi alle tue pagine web.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
La Programmazione ad Oggetti
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Transcript della presentazione:

| Lugano, Ruby on Rails

© RailsGirls Ticino 2014 – 2 INTRODUZIONE PRINCIPI BASE PRINICIPI BASE – ROR SVILUPPIAMO CONCLUSIONI

01. Introduzione

© RailsGirls Ticino 2014 – 4 Introduzione – La Storia Il linguaggio di programmazione Ruby è stato progettato nel 1993 dal giapponese Yukihiro Matsumoto Ma inizialmente non ebbe molto successo! Per più di un decennio non prese mai il decollo Inizialmente la documentazione era esclusivamente in giapponese!!! L’anno di svolta fu il 2006 Anno in cui si afferma il framework Ruby on Rails

© RailsGirls Ticino 2014 – 5 Introduzione – Alcune caratteristiche Ruby è un linguaggio: open source general purpose interpretato orientato agli oggetti Possiamo definirlo come un linguaggio che ha acquisito tanto da parte di altri linguaggi come: Smalltalk, Perl, Python, C, C++, PHP, Phyton... Infatti uno dei primi slogan era il seguente: ( Smalltalk + Perl ) / 2

© RailsGirls Ticino 2014 – 6 Introduzione – Cos’è Ruby On Rails (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: ) Ruby on Rails oppure RoR, è un framework open souce MVC (Model View Controller) basato su Ruby. Con Ruby on Rails, è 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.

© RailsGirls Ticino 2014 – 7 Introduzione - Perchè Ruby On Rails PERCHÈ 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: l’idea dello user / il business del cliente. Punti di froza di RoR

© RailsGirls Ticino 2014 – 8 Introduzione – Websites On Rails Twitter, SlideShare, GitHub, Basecamp, Shopify, Scribd, OneHub, Yellow Page, Ask.fm, Cookpad, Hulu, CrunchBase, Zendesk, MedHelp, Freckle, CrazyEgg, 43Things……………..

© RailsGirls Ticino 2014 – 9 Introduzione – Chi usa Rails

02. Principi base

© RailsGirls Ticino 2014 – 11 Programmazione Orientata agli Oggetti (OOP) Questo permette di raggruppare in un porzione circoscritta (classe) del codice sorgente la dichiarazione delle strutture dati e delle procedure che operano su di esse. Nella programmazione orientata agli oggetti (OOP, Object Oriented Programming) un oggetto può essere visto come un contenitore di dati dotato di attributi (dati) dotato di una serie di metodi (procedure) secondo quanto dichiarato dalle rispettive classi L’oggetto è una istanza di una classe Esso è dotato di tutti gli attributi e i metodi definiti dalla classe. Caratteristiche : Ereditarietà Polimorfismo Incapsulamento Definizione

© RailsGirls Ticino 2014 – 12 Programmazione Orientata agli Oggetti (OOP) Eredità Maestro Allievo Persona - nome - cognome - indirizzo +getNome() +getIndirizzo() +setDati() Questo diagramma indica che Maestro e Allievo derivano dalla classe Persona dalla quale ereditano attributi e metodi; si dice che “estendono” la classe Persona Superclasse Classi derivate - facolta’ - nrAvs

© RailsGirls Ticino 2014 – 13 Programmazione Orientata agli Oggetti (OOP) Esempio Oggetto Classe class Persona attr_accessor : nome, :cognome, :indirizzo def initialize (nome, cognome, = = = indirizzo end

03. Principi base - ROR

© RailsGirls Ticino 2014 – 15 MVC I dati sono separati (model) dall’interfaccia utente (view) Model - Mantiene il rapporto tra oggetti e database e gestisce la convalida, l'associazione, le transazioni, e altro ancora. - Accesso ai dati e alla logica di business - Indipendente dalla view e dal controller. View - Presentazione dei dati e interazione con l’utente - Accesso in sola lettura al modello Controller - È il centro logica dell'applicazione. - Coordina l'interazione tra l'utente, le viste, e il modello. - Gestione degli eventi Il modello Model View Controller

© RailsGirls Ticino 2014 – 16 MVC 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 Funzionamento

© RailsGirls Ticino 2014 – 17 Struttura di un applicazione Ruby on Rails 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 (ad 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. Struttura applicazione

© RailsGirls Ticino 2014 – 18 Convenzioni sui nomi – Ruby on Rails Rails preferisce le convenzioni alle configurazioni, e quindi cerca di evitare allo sviluppatore il peso di dover specificare l'associazione ad esempio tra tabelle e classi. Per l'associazione tra tabelle e classi del modello è sufficiente che le tabelle siano chiamate con il plurale del nome della classe e che siano scritte in minuscolo. ESEMPIO : La tabella messages sarà dunque mappata sulla classe Message, authors su Author e topics su Topic. Il meccanismo di ActiveRecord che si occupa di questa conversione è molto più intelligente di quel che si potrebbe pensare e ad esempio è in grado di capire che il plurale di \person" è \people" o che il plurale di \status" è \statuses". ModelliContoller Viste

04. Sviluppiamo

05. Conclusioni

© RailsGirls Ticino 2014 – 21 Tutorial

© RailsGirls Ticino 2014 – 22 Conclusioni DOMANDE

[ ] [facebook] Rails Girls Ticino THANK YOU