Framework per applicazioni web

Un framework per applicazioni web (web application framework), in informatica e specialmente nella programmazione web, è un framework software progettato per supportare lo sviluppo di siti web dinamici, applicazioni web e servizi web.

Un framework per applicazioni web (web application framework), in informatica e specialmente nella programmazione web, è un framework software progettato per supportare lo sviluppo di siti web dinamici, applicazioni web e servizi web.

Lo scopo è quello di alleggerire il lavoro associato allo sviluppo delle attività più comuni di un'applicazione web da parte dello sviluppatore. Uno dei principi fondamentali è riassunto dall'acronimo DRY (don't repeat yourself), nel senso che viene fortemente consigliata l'adozione di tecniche di riuso di codice. Molti framework forniscono ad esempio delle librerie per l'accesso alle basi di dati, per la creazione di template HTML o per gestire la sessione dell'utente.

Esempi di framework per applicazioni web sono Apache Struts, Spring, Swing, Java Server Faces (Oracle ADF), Django, Flask, Symfony, Phalcon, CodeIgniter, Angular, ReactJS, Laravel. In grandi organizzazioni come banche o grandi aziende si utilizzano spesso framework proprietari, varianti dei framework in tecnologie note, per aumentare il livello di sicurezza.

Caratteristiche

I framework in genere impostano il flusso di controllo di un programma e consentono all'utente del framework di "agganciarsi" a quel flusso esponendo vari eventi. Questo modello di progettazione "inversione del controllo" è considerato un principio che definisce un framework e avvantaggia il codice imponendo un flusso comune per un team che tutti possono personalizzare in modi simili. Ad esempio, alcuni popolari "microframework" come Sinatra di Ruby (che ha ispirato Express.js) consentono agganciamenti middleware prima e dopo le richieste HTTP. Queste funzioni middleware possono essere qualsiasi cosa e consentono all'utente di definire la registrazione, l'autenticazione, la gestione delle sessioni e il reindirizzamento.

Model-view-controller

Molti framework seguono il modello architetturale MVC (Model-view-controller) per separare il modello di dati con regole di business dall'interfaccia utente.

Push-based vs. pull-based

La maggior parte dei framework MVC segue un'architettura basata su push chiamata anche "basata sull'azione". Questi framework utilizzano azioni che eseguono l'elaborazione richiesta e quindi "trasmettono" i dati al livello di visualizzazione per eseguire il rendering dei risultati. Django, Ruby on Rails, Symfony, Spring MVC, Laravel, Stripes, Sails.js, CodeIgniter sono esempi di questa architettura.

Organizzazione a tre livelli

Nell'organizzazione a tre livelli, le applicazioni sono strutturate su tre livelli fisici: client, applicazione e database. Il database è normalmente un RDBMS. L'applicazione contiene la logica di business, gira su un server e comunica con il client tramite HTTP. Il client sulle applicazioni Web è un browser Web che esegue l'HTML generato dal livello dell'applicazione. Il termine non deve essere confuso con MVC, dove, a differenza dell'architettura a tre livelli, è considerata una buona pratica mantenere la logica di business lontana dal controller, il "livello intermedio".

Applicazioni

I framework sono costruiti per supportare la costruzione di applicazioni Internet basate su un singolo linguaggio di programmazione, che vanno da strumenti di uso generale come Zend Framework e Ruby on Rails, che aumentano le capacità di un linguaggio specifico, a pacchetti programmabili in linguaggio nativo costruiti intorno un'applicazione utente specifica, come i sistemi di gestione dei contenuti, alcuni strumenti di sviluppo mobile e alcuni strumenti del portale.

Servizi correlati

Altre voci

L

Learning management system

Un learning management system (LMS), traducibile in italiano con Sistema di gestione dell'apprendimento è la piattaforma applicativa (o insieme di programmi) che permette l'erogazione dei corsi in modalità e-learning al fine di contribuire a realizzare le finalità previste dal progetto educativo…

Leggi la voce →
W

WordPress.com

WordPress.com è un servizio di hosting blog gestito da Automattic che si basa sulla versione multi utente del software WordPress. Il servizio consente la creazione di uno o più blog gratuitamente, ed offre alcuni servizi accessori a pagamento. Per ogni blog registrato WordPress.com offre un…

Leggi la voce →
W

World Wide Web

Il World Wide Web (termine in lingua inglese traducibile in italiano come "rete di ampiezza mondiale" o "rete mondiale"), abbreviato web, WWW o W3, è uno dei principali servizi di Internet, che permette di navigare e usufruire di un insieme molto vasto di contenuti, multimediali e non,…

Leggi la voce →
L

Linktree

Linktree è una landing page freemium per social media sviluppata da Alex Zaccaria, Anthony Zaccaria e Nick Humphreys, con sede a Melbourne, Australia. Fondata nel 2016, funge da pagina di destinazione e aggregatore per tutti i collegamenti di una persona o un'azienda ai propri social media…

Leggi la voce →
Virtual hostingV

Virtual hosting

L'Hosting virtuale è un metodo usato sui server web per ospitare il sito web per più di un nome di dominio sullo stesso server, talvolta sullo stesso indirizzo IP.

Leggi la voce →
D

Dominio di primo livello

In informatica e nelle telecomunicazioni, il dominio di primo livello, in inglese top-level domain (TLD), è l'ultima parte del nome di dominio Internet. Corrisponde alla sigla alfanumerica che segue il punto più a destra dell'URL; per esempio, l'indirizzo Internet di Wikipedia è wikipedia.org,…

Leggi la voce →