MODERN WEB DEVELOPMENT
WITH PYTHON AND WEB2PY
Workshop 15 Gennaio 2014
Sommario
•

Web
– Applicazione web
– L'interazione web
– Le ultime tecnologie

•

Python
– Introduzione
– Chi lo utilizza
– Esempi

•

Web2py
– Introduzione
– Model View Controller
– Admin Interface
– Features

•

Conclusione

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Applicazione web

Applicazione che usa il browser web come client.

• Facilità di installazione/nessuna installazione
• Poco/nessuno spazio su disco richiesto
• Facilità di upgrade
• Multipiattaforma

• Necessita di una connessione continua

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
L'interazione web

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Le ultime tecnologie

• tag audio/video
• canvas
• tag semantici
• geolocalizzazione
• web SQL database

CSS 3
• bordi/ombre
• transizioni
• animazioni
• gradienti

Responsive Design
"Tecnica che permette alle pagine di adattare automaticamente il layout
per fornire una visualizzazione ottimale in funzione dell'ambiente nelle
quali vengono visualizzate"

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Python
• Sintassi chiara e semplice
• Facile da imparare
• Orientato agli oggetti
• Typing dinamico
• Multipiattaforma
• Modulare ed estendibile (C, C++, C#, Java, .Net)
• Utilizzato come linguaggio di scripting

Python rilasciato da Guido van Rossum in 1991. Il linguaggio è
basato su un modello aperto e sviluppato dalla comunità e
gestito dalla fondazione no-profit Python Software Foundation.
Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Python - Chi lo usa

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Python - Esempi
C#
using System;
namespace AddFunction
{
class Program
{
static void Main()
{
int a = 5;
int b = 2;
int c = Add(a, b);
System.Console.WriteLine(
"Il risultato e' {0}", c);
}

}

Python
def Add(x, y):
result = x + y;
return result
a = 5
b = 2
c = Add(a, b)
print "Il risultato e'", c

public int Add(int x, int y)
{
int result = x + y;
return result;
}

}

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Web2py
Free open source full-stack framework
for rapid development of
• fast
• scalable
• secure
• portable
database-driven web-based applications.
Written and programmable in Python.

http://www.web2py.com
Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Web2py - Model View Controller
Model
Rappresentazione dei dati

Che dati ho a disposizione, di che tipo sono, ...
View
Presentazione dei dati

Che dati voglio che siano visualizzati e come
Controller
Logica dell'applicazione

Come processo i dati che ho a disposizione

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Web2py - Request workflow

URL Esempio
http://server/app/controller/function.ext
Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Web2py - Admin interface

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Web2py - Features
•

Internationalization

•

SQLFORM

•

Access Control

•

Background tasks

•

Logging e Ticketing system

•

Remote procedure calls e servizi REST

•

Componenti e plugins

•

Fast deployment

•

Bootstrap Framework

•

jQuery
Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
Conclusione
• Domande?
• Chiarimenti?
• Commenti?

Grazie per l'attenzione!

Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione,
riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.

Modern web development with python and Web2py

  • 1.
    MODERN WEB DEVELOPMENT WITHPYTHON AND WEB2PY Workshop 15 Gennaio 2014
  • 2.
    Sommario • Web – Applicazione web –L'interazione web – Le ultime tecnologie • Python – Introduzione – Chi lo utilizza – Esempi • Web2py – Introduzione – Model View Controller – Admin Interface – Features • Conclusione Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 3.
    Applicazione web Applicazione cheusa il browser web come client. • Facilità di installazione/nessuna installazione • Poco/nessuno spazio su disco richiesto • Facilità di upgrade • Multipiattaforma • Necessita di una connessione continua Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 4.
    L'interazione web Il presentedocumento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 5.
    Le ultime tecnologie •tag audio/video • canvas • tag semantici • geolocalizzazione • web SQL database CSS 3 • bordi/ombre • transizioni • animazioni • gradienti Responsive Design "Tecnica che permette alle pagine di adattare automaticamente il layout per fornire una visualizzazione ottimale in funzione dell'ambiente nelle quali vengono visualizzate" Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 6.
    Python • Sintassi chiarae semplice • Facile da imparare • Orientato agli oggetti • Typing dinamico • Multipiattaforma • Modulare ed estendibile (C, C++, C#, Java, .Net) • Utilizzato come linguaggio di scripting Python rilasciato da Guido van Rossum in 1991. Il linguaggio è basato su un modello aperto e sviluppato dalla comunità e gestito dalla fondazione no-profit Python Software Foundation. Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 7.
    Python - Chilo usa Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 8.
    Python - Esempi C# usingSystem; namespace AddFunction { class Program { static void Main() { int a = 5; int b = 2; int c = Add(a, b); System.Console.WriteLine( "Il risultato e' {0}", c); } } Python def Add(x, y): result = x + y; return result a = 5 b = 2 c = Add(a, b) print "Il risultato e'", c public int Add(int x, int y) { int result = x + y; return result; } } Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 9.
    Web2py Free open sourcefull-stack framework for rapid development of • fast • scalable • secure • portable database-driven web-based applications. Written and programmable in Python. http://www.web2py.com Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 10.
    Web2py - ModelView Controller Model Rappresentazione dei dati Che dati ho a disposizione, di che tipo sono, ... View Presentazione dei dati Che dati voglio che siano visualizzati e come Controller Logica dell'applicazione Come processo i dati che ho a disposizione Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 11.
    Web2py - Requestworkflow URL Esempio http://server/app/controller/function.ext Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 12.
    Web2py - Admininterface Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 13.
    Web2py - Features • Internationalization • SQLFORM • AccessControl • Background tasks • Logging e Ticketing system • Remote procedure calls e servizi REST • Componenti e plugins • Fast deployment • Bootstrap Framework • jQuery Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.
  • 14.
    Conclusione • Domande? • Chiarimenti? •Commenti? Grazie per l'attenzione! Il presente documento è di proprietà della IDEA Soc. Coop. che se ne riserva tutti i diritti di privativa ivi compresi il divieto di divulgazione, riproduzione e/o copia del contenuto, in parte o per intero, senza autorizzazione.