modern web development with python and web2py

14
MODERN WEB DEVELOPMENT WITH PYTHON AND WEB2PY Workshop 15 Gennaio 2014

Upload: davide-marzioni

Post on 18-Dec-2014

324 views

Category:

Technology


0 download

DESCRIPTION

Slides for Workshop entitled "Modern web development with python and Web2py" held at IDEA Soc. Coop. of Ancona (IT)

TRANSCRIPT

Page 1: Modern web development with python and Web2py

MODERN WEB DEVELOPMENT

WITH PYTHON AND WEB2PY

Workshop 15 Gennaio 2014

Page 2: Modern web development with python and Web2py

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.

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

Page 3: Modern web development with python and Web2py

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

Page 4: Modern web development with python and Web2py

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

Page 5: Modern web development with python and Web2py

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"

Page 6: Modern web development with python and Web2py

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.

Page 7: Modern web development with python and Web2py

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

Page 8: Modern web development with python and Web2py

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

def Add(x, y): result = x + y; return result

a = 5b = 2c = Add(a, b)print "Il risultato e'", 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); }

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

}

PythonC#

Page 9: Modern web development with python and Web2py

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

Page 10: Modern web development with python and Web2py

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

ModelRappresentazione dei datiChe dati ho a disposizione, di che tipo sono, ...

ViewPresentazione dei datiChe dati voglio che siano visualizzati e come

ControllerLogica dell'applicazioneCome processo i dati che ho a disposizione

Page 11: Modern web development with python and Web2py

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 Esempiohttp://server/app/controller/function.ext

Page 12: Modern web development with python and Web2py

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

Page 13: Modern web development with python and Web2py

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

Page 14: Modern web development with python and Web2py

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!