1. Web Frameworks
A brief overview
Gianfranco Reppucci
@giefferre
2. So, what?
Cos竪 un framework web?
Quale framework utilizzare?
Qualche esempio pratico
Alcune considerazioni
3. OK, ma perch辿 parlare di
web framework?
Non tutto quello che viene considerato web
development si riduce a creare siti
Web Application
Social Network Apps & Mashup
Web services
...
4. Framework = ?
I primi siti web erano una collezione di
pagine HTML statiche
Ogni aggiornamento richiedeva un
cambiamento manuale
<html>
<head>
<title>My wonderful website</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is my ancient website. Enjoy your time here.</p>
<a href=page2.html>Click here to open page 2</a>
</body>
</html>
5. Framework = ?
Per creare pagine web dinamiche sono stati
introdotti i linguaggi di programmazione
server-side
<%@ language="vbscript" %>
<html>
...
<body>
<h1>Un esempio di codice dinamico</h1>
<%
For i = 1 to 10 Step 1
response.write("Questo messaggio sar stampato 10 volte")
Next
%>
</body>
</html>
6. Framework = ?
Col crescere delle esigenze e con levolversi dei
design patterns, sono aumentate le possibilit
e le complicazioni
Database
Manipolazione immagini
Elaborazione 鍖les
...
7. Framework = ?
Un framework 竪 un software che permette di
supportare la fase di sviluppo di siti, web
application o web services.
Lo scopo di un framework 竪 ridurre
loverhead di un programmatore nello
scrivere parti di codice comuni (gestione
database, templating, sessioni, ecc)
8. Ovvero
Un framework 竪 una collezione di
strati di software, ognuno dei
quali esegue compiti diversi
11. Framework != CMS
un errore molto frequente quello di
confondere il concetto di Content
Management System con quello di
Framework.
Solitamente (ma non sempre!) un CMS 竪
qualcosa di pi湛 speci鍖co e complesso di un
framework
12. Framework != CMS
Il CMS 竪 unapplicazione pronta alluso che
solitamente serve per creare facilmente siti e
webapp:
un contenitore
(di pagine, articoli, contenuti multimediali, ecc.)
Il backend 竪 pi湛 o meno standard
Ha un proprio sistema di templating
Di solito customizzabili solo tramite luso di
plugin speci鍖ci
13. Quale framework
utilizzare?
Dipende da:
Linguaggio di sviluppo che si vuole adoperare
Necessit strutturali del progetto
14. Python Clojure
Javascript
Erlang
PHP Ruby
C
Asp.NET
Smalltalk
Java
15. Per ognuno dei linguaggi esistenti
esistono diversi framework