Modern web development with python and Web2py

Post on 18-Dec-2014

316 views 0 download

description

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

transcript

MODERN WEB DEVELOPMENT

WITH PYTHON AND WEB2PY

Workshop 15 Gennaio 2014

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

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

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#

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

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

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

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!