際際滷

際際滷Share a Scribd company logo
Universit degli Studi dellAquila
Dipartimento di Ingegneria e Scienze
dellInformazione e Matematica
Studio del framework di sviluppo Django e realizzazione
di Spin, un clone di Twitter
Relatore:
Prof. Serafino Cicerone
Laureando:
Lorenzo Di Giuseppe
Matricola:
192362
A. A. 2012-2013
Tesi di Laurea in Ingegneria Informatica e Automatica
Introduzione
 Evoluzione del Web
 Attualmente 竪 alla versione 2.0
 Importanza oggi del Web
 Social network
Introduzione
 Le applicazioni software sono:
 sempre pi湛 sul web
 sempre pi湛 complesse
Servono i framework
 Cosa 竪 un framework?
Obiettivo Tesi
 Confrontare i framework
 Definire le specifiche di unapplicazione
 Scegliere un framework
 Sviluppare lapplicazione
Perch辿 confrontare i framework?
 Chiunque pu嘆 creare un framework
 Ricetta:
Prendere una applicazione
Unaltra applicazione
Ancora una
Raccogliere il codice comune
 Date le sue origini
 Ogni framework si adatta meglio ad un tipo di
applicazioni
Confronto tra framework
 un tema caldo in rete
 Ma come scegliere il framework adatto?
Confronto tra framework
 Bisogna valutare caratteristiche e funzionalit
 Tenendo conto
 Delle specifiche di progetto
 Delle conoscenze personali
 Una guerra assoluta non avrebbe vincitori
Spin
  frutto di un lavoro di gruppo
 Coinvolge framework differenti
  una rivisitazione di Ribbit
 Un clone di Twitter
 Lo estende per mostrare le caratteristiche del
framework
  stato rilasciato su github
Django
 束JANG-ohla D 竪 muta損 [cit.]
 束Django is a high-level Python web
framework that encourages rapid
development and clean pragmatic design損
 束Pythonic style損
 束The web framework for perfectionist with
deadlines損
 束deadlines損: brevi tempi di sviluppo
Django
 La storia di Django:
 Sviluppato da Adrian Holovaty e Jacob Kaplan
presso World Online News
  divenuto open source dal 2005
 La prima versione 竪 stata rilasciata il 3 settembre
2008
 Oggi 竪 alla versione 1.5.1
Chiunque pu嘆 contribuire al suo sviluppo su github
La versione 1.6 竪 in beta
Django
 Scopi primari del framework:
 Applicazioni dinamiche
 Applicazioni data-driven
 Applicazioni basate sui contenuti
 Esempi di successo
Django
 Favorisce il riuso del codice
 Un progetto 竪 diviso in apps
Sono moduli indipendenti di progetto
Ogni app pu嘆 essere importata o esportata
 Le app pi湛 utili sono state integrate nel framework
Lato amministrativo, sistema di autenticazione, ecc..
Ancora su Django
 Se non bastasse include:
 Un server per sviluppo e testing
 Una vasta API di funzioni comuni
 Un sistema di testing
 
 Lo sviluppatore deve
 Implementare i dettagli
 Distribuire lapplicazione
Django flowchart
Casi duso per Spin
Registrazione nuovo utente
 Si pu嘆 sfruttare il sistema di autenticazione
(app) per:
 Creare la model per il profilo utente
 Creare la form che gestisca linput utente
 Si pu嘆 usare lAPI del framework per la view
Registrazione nuovo utente
 Lunico vero lavoro consiste nel:
 Creare i templates
 Pensare al nome da dare agli url
 Migrare la model sul database
 Avviare il server da shell
Conclusioni
 I framework riducono di molto il lavoro
 Ma bisogna prestare attenzione alla scelta
 Django sfrutta al massimo la OOP
 Favorendo il riuso
 Riducendo i tempi di sviluppo
 Sviluppi futuri su Spin
 Conversione a Python 3
 Creazione di un tutorial per realizzare il proprio
clone di Twitter in Django
Grazie per lattenzione

More Related Content

Similar to Tesi3 (20)

Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
artemedea
Smart api
Smart apiSmart api
Smart api
Simone Romano
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
GiacomoZorzin
Qualit del Software
Qualit del SoftwareQualit del Software
Qualit del Software
Yeser Rema
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
Matteo Lelli
Presentazione Tamiazzo09
Presentazione Tamiazzo09Presentazione Tamiazzo09
Presentazione Tamiazzo09
gueste37f39
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
Igor Antonacci
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
Yeser Rema
Presentazione review it_20min
Presentazione review it_20minPresentazione review it_20min
Presentazione review it_20min
Fabrizio Straccia
Tesi8
Tesi8Tesi8
Tesi8
tryyrt
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
Giovanni Buffa
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
Sabino Labarile
7. Applicazioni Web e CMS
7. Applicazioni Web e CMS7. Applicazioni Web e CMS
7. Applicazioni Web e CMS
Roberto Polillo
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Matteo Miotto
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
Simone Marzola
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Mattia Milleri
Presentazione di SpagoWord
Presentazione di SpagoWordPresentazione di SpagoWord
Presentazione di SpagoWord
eGgov Regione Veneto Veneto
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili NativeUn Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Gregorio Perego
Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
Studio e realizzazione di un sw per la gestione dei profili e delle versioni ...
artemedea
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
GiacomoZorzin
Qualit del Software
Qualit del SoftwareQualit del Software
Qualit del Software
Yeser Rema
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
Matteo Lelli
Presentazione Tamiazzo09
Presentazione Tamiazzo09Presentazione Tamiazzo09
Presentazione Tamiazzo09
gueste37f39
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
Igor Antonacci
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
Yeser Rema
Presentazione review it_20min
Presentazione review it_20minPresentazione review it_20min
Presentazione review it_20min
Fabrizio Straccia
Tesi8
Tesi8Tesi8
Tesi8
tryyrt
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
Giovanni Buffa
e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)e-SUAP - General software architecture (Italiano)
e-SUAP - General software architecture (Italiano)
Sabino Labarile
7. Applicazioni Web e CMS
7. Applicazioni Web e CMS7. Applicazioni Web e CMS
7. Applicazioni Web e CMS
Roberto Polillo
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...Studio e implementazione di uno strumento di configurazione e visualizzazione...
Studio e implementazione di uno strumento di configurazione e visualizzazione...
Matteo Miotto
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
Simone Marzola
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Progetto e implementazione di una pipeline di sviluppo software con tecnologi...
Mattia Milleri
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili NativeUn Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
Gregorio Perego

Tesi3

  • 1. Universit degli Studi dellAquila Dipartimento di Ingegneria e Scienze dellInformazione e Matematica Studio del framework di sviluppo Django e realizzazione di Spin, un clone di Twitter Relatore: Prof. Serafino Cicerone Laureando: Lorenzo Di Giuseppe Matricola: 192362 A. A. 2012-2013 Tesi di Laurea in Ingegneria Informatica e Automatica
  • 2. Introduzione Evoluzione del Web Attualmente 竪 alla versione 2.0 Importanza oggi del Web Social network
  • 3. Introduzione Le applicazioni software sono: sempre pi湛 sul web sempre pi湛 complesse Servono i framework Cosa 竪 un framework?
  • 4. Obiettivo Tesi Confrontare i framework Definire le specifiche di unapplicazione Scegliere un framework Sviluppare lapplicazione
  • 5. Perch辿 confrontare i framework? Chiunque pu嘆 creare un framework Ricetta: Prendere una applicazione Unaltra applicazione Ancora una Raccogliere il codice comune Date le sue origini Ogni framework si adatta meglio ad un tipo di applicazioni
  • 6. Confronto tra framework un tema caldo in rete Ma come scegliere il framework adatto?
  • 7. Confronto tra framework Bisogna valutare caratteristiche e funzionalit Tenendo conto Delle specifiche di progetto Delle conoscenze personali Una guerra assoluta non avrebbe vincitori
  • 8. Spin frutto di un lavoro di gruppo Coinvolge framework differenti una rivisitazione di Ribbit Un clone di Twitter Lo estende per mostrare le caratteristiche del framework stato rilasciato su github
  • 9. Django 束JANG-ohla D 竪 muta損 [cit.] 束Django is a high-level Python web framework that encourages rapid development and clean pragmatic design損 束Pythonic style損 束The web framework for perfectionist with deadlines損 束deadlines損: brevi tempi di sviluppo
  • 10. Django La storia di Django: Sviluppato da Adrian Holovaty e Jacob Kaplan presso World Online News divenuto open source dal 2005 La prima versione 竪 stata rilasciata il 3 settembre 2008 Oggi 竪 alla versione 1.5.1 Chiunque pu嘆 contribuire al suo sviluppo su github La versione 1.6 竪 in beta
  • 11. Django Scopi primari del framework: Applicazioni dinamiche Applicazioni data-driven Applicazioni basate sui contenuti Esempi di successo
  • 12. Django Favorisce il riuso del codice Un progetto 竪 diviso in apps Sono moduli indipendenti di progetto Ogni app pu嘆 essere importata o esportata Le app pi湛 utili sono state integrate nel framework Lato amministrativo, sistema di autenticazione, ecc..
  • 13. Ancora su Django Se non bastasse include: Un server per sviluppo e testing Una vasta API di funzioni comuni Un sistema di testing Lo sviluppatore deve Implementare i dettagli Distribuire lapplicazione
  • 16. Registrazione nuovo utente Si pu嘆 sfruttare il sistema di autenticazione (app) per: Creare la model per il profilo utente Creare la form che gestisca linput utente Si pu嘆 usare lAPI del framework per la view
  • 17. Registrazione nuovo utente Lunico vero lavoro consiste nel: Creare i templates Pensare al nome da dare agli url Migrare la model sul database Avviare il server da shell
  • 18. Conclusioni I framework riducono di molto il lavoro Ma bisogna prestare attenzione alla scelta Django sfrutta al massimo la OOP Favorendo il riuso Riducendo i tempi di sviluppo Sviluppi futuri su Spin Conversione a Python 3 Creazione di un tutorial per realizzare il proprio clone di Twitter in Django