Articles

Cos’è un Web Framework, e perché dovrei usarne uno?

← Home

“Framework” è una parola molto usata in relazione al codice. Ma cos’è un framework? Quando si parla di framework, questi framework normalmente rientrano in tre diverse categorie – frontend, backend, e framework CSS o di interfaccia utente. Ma anche una volta che sai cosa sono i framework, quale dovresti imparare o usare e perché? Questo articolo parlerà di cos’è un framework, quali sono i framework là fuori, e come prendere decisioni su quale tipo di framework dovresti usare per i tuoi progetti!

Cosa sono i Framework

Se guardiamo un paio di applicazioni web diverse possiamo vedere che ci sono molte caratteristiche duplicate. Molte hanno l’autenticazione dell’utente, pagine che rendono, si connettono a database, hanno profili che si possono guardare, hanno tutti feed di informazioni stilizzati, ecc. Se volessi, potrei scrivere io stesso tutta questa logica ogni volta che voglio costruire una nuova applicazione; tuttavia, ci sono anche un sacco di strumenti disponibili che possono farlo per noi invece.

Inoltre, molte volte quando costruiamo applicazioni vogliamo formattare il nostro codice in certi modi che ci aiutano a diventare più efficienti e aiutano gli altri sviluppatori a capire il nostro codice. I framework web ci aiutano a raggiungere la struttura nelle nostre applicazioni, e ci danno caratteristiche aggiuntive che possiamo aggiungere senza troppo lavoro extra. I framework ci danno un punto di partenza in modo da poterci concentrare sulle caratteristiche piuttosto che sui dettagli di configurazione.

Il codice viene letto molte più volte di quanto venga scritto, ed è così importante quando si lavora con altri sviluppatori che essi sappiano dove viene scritto il codice per certi compiti in modo da poterlo usare nel proprio codice. I framework hanno anche convenzioni per come il codice è scritto e strutturato, che standardizzano il modo in cui gli sviluppatori scrivono il loro codice.

La maggior parte dei siti web condividono una struttura molto simile (per non dire identica). Lo scopo dei framework è quello di fornire una struttura comune in modo che gli sviluppatori non debbano rifare tutto da zero e possano riutilizzare il codice fornito. In questo modo, i framework ci permettono di tagliare gran parte del lavoro e risparmiare molto tempo.

Per riassumere: non c’è bisogno di reinventare la ruota.

da Awwwards.

Sotto il cofano, i framework sono solo librerie di codice (cioè il codice di altre persone), e quelli popolari sono open source! Quindi puoi guardare il codice della tua libreria online!

Backend vs Frontend

  • Il frontend di un’applicazione web è la parte che vedi e con cui interagisci. Consiste nel web design e nell’interazione del sito. In termini di linguaggi di programmazione, questo è quasi sempre composto da CSS, HTML e JavaScript della pagina.

  • Il backend consiste nel server, il database e il codice che interagisce con essi. Questo consiste anche nel codice che fornisce dati dinamici al frontend del sito. Questo può essere gestito nella maggior parte dei linguaggi di programmazione. Quelli che discuteremo principalmente oggi sono Python, Ruby e Node JavaScript, ma ce ne sono innumerevoli altri.

What I Wish I Knew Before Learning to Code Ebook Cover

Vuoi altri consigli per imparare a scrivere codice?

Scarica il mio Ebook gratuito!

User Interface Frameworks

I frameworks di interfaccia utente aiutano a creare applicazioni web dall’aspetto stilizzato e professionale. La maggior parte include una sorta di sistema a griglia in modo da allineare gli elementi, hanno schemi di colore in modo che sia gestito per te, e stilizzano i tuoi componenti HTML usando CSS in modo che sembrino puliti e professionali. Questi fanno parte del dominio frontend; tuttavia, normalmente quando ci riferiamo ai framework frontend stiamo parlando di framework JavaScript.

Alcuni framework di interfaccia utente includono:

  • Bootstrap
    • Molto conosciuto e costruito da Twitter
    • Facile da imparare e dall’aspetto professionale
    • Può essere facile da individuare “Siti Bootstrap”
    • Può essere difficile da personalizzare i componenti
  • Materialize
    • Aspetto pulito
    • Un po’ più “divertente” di Bootstrap
    • Tante opzioni di stile e colore
    • Segue la guida di stile Material di Google
  • Foundation
    • Tanti esempi
    • Un aspetto professionale
  • Semantic UI
    • Tante cose costruite-in
    • Temi costruitinei temi, quindi è personalizzabile
  • Grommet
    • Ha una grande attenzione all’accessibilità
    • Ha un aspetto molto pulito
    • Non è usato come alcuni degli altri
    • Realizzato per React JS (un altro framework che vedremo più tardi)

Scegliere un UI Framework

Scegliere un framework per l’interfaccia utente si riduce principalmente alle preferenze personali nell’aspetto e agli obiettivi del sito. I diversi stili possono piacere a diversi settori o possono trasmettere un messaggio diverso agli utenti.

Frontend Frameworks

I frameworks frontend sono, nella maggior parte dei casi, scritti in JavaScript e servono per organizzare la funzionalità, l’interattività del tuo sito web. Alcuni di questi includono:

  • Vue
    • Facile da imparare
    • Molto veloce
    • Tutti gli strumenti associati ad esso sono ben confezionati
    • Prende parti da Angular e React e le ottimizza
    • meno ampiamente adottato di alcuni altri
    • Flessibile — puoi usarlo in molti modi
  • AngularJS
    • Costruito da Google
    • Ben supportato
    • Enorme numero di caratteristiche
    • Migliora la scalabilità dell’applicazione
    • Difficile per il debug
    • Grande curva di apprendimento
  • Angular 2+
    • Costruito da Google
    • Ben supportato
    • Incoraggia la riusabilità
    • Migliora la scalabilità delle applicazioni
    • Grande curva di apprendimento
  • React
    • Costruito da Facebook
    • Fascia il codice frontend in componenti
    • Organizza codice e dati per rendere il codice più riutilizzabile
    • Grande curva di apprendimento
  • Ember
    • Dà una grande quantità di funzionalità fuori dalla scatola
    • Opinato (devi usare la sua formattazione)
    • Curva di apprendimento ripida

Scegliere un Frontend Frameworks

Il mondo dei frontend frameworks si sta evolvendo particolarmente velocemente, sembra che un nuovo framework frontend sia in crescita ogni pochi mesi. Impara ciò che ha senso per te, e non preoccuparti troppo di quale sia quello più “caldo” al momento.

Alcuni sostengono che React e Vue sono librerie invece di framework, ma un sacco di gente li considera framework, quindi li ho inclusi!

Backend Frameworks

I frameworks backend sono molto più vari. Sono scritti in una varietà di linguaggi di programmazione e hanno una grande varietà di caratteristiche. Di seguito, come la lista precedente, è una lista molto incompleta di alcuni dei framework là fuori per scrivere backend di applicazioni.

  • Spring MVC
    • Java (linguaggio più difficile da imparare)
    • Molto veloce
    • Meno opinionista
  • Django
    • Python (linguaggio più facile da imparare)
    • Felice mezzo tra l’essere molto opinionista e meno strutturato
    • Dà un sacco di funzionalità fuori dalla scatola (come l’autenticazione dell’utente, connessioni al database e rendering delle viste)
    • Può essere difficile integrare un front-end di fantasia.
    • La gestione dei dati di Python è incredibile
  • Flask
    • Python (linguaggio più facile da imparare)
    • Più facile e più personalizzabile di Django
    • Ti dà meno fuori dalla scatola (devi costruire di più)
    • .

  • Ruby on Rails
    • Ruby (linguaggio più facile da imparare)
    • Molto più opinionista
    • Ha grandi strumenti come lo scaffolding così puoi costruire cose velocemente
    • Ti dà un sacco di funzionalità fuori dalla scatola (come l’autenticazione degli utenti, connessioni al database,
    • La pipeline di risorse aiuta nello sviluppo front-end
    • Ruby impiega più tempo per eseguire i programmi rispetto ad altri linguaggi di programmazione
  • Meteor
    • JavaScript (linguaggio più facile da imparare)
    • Dà un sacco di funzionalità fuori dalla scatola (come l’autenticazione degli utenti, connessioni al database, e il rendering delle viste)
    • Si integra molto bene con i moderni front-end
  • Express
    • JavaScript (linguaggio più facile da imparare)
    • Molto personalizzabile
    • Molto leggero
    • Meno funzionalità integratein caratteristiche
    • Node è molto veloce

Scegliere un Backend Framework

Di solito, si sceglie un framework backend in base al linguaggio di programmazione in cui è scritto. Inoltre, prendi in considerazione quali caratteristiche vuoi aggiungere — se vuoi l’autenticazione (o il login dell’utente) per il tuo sito web, per esempio, scriverlo in Django dove l’autenticazione è integrata sarà molto più facile che scriverlo in Flask dove avresti bisogno di un servizio aggiuntivo.

Impara di più

Se vuoi usare o imparare un framework, ecco un mucchio di applicazioni costruite con diversi framework, così puoi valutare quale ha più senso per te. Ci sono molti altri framework là fuori di varie dimensioni e popolarità, ma questo articolo fornisce una breve panoramica di alcuni di quelli popolari là fuori e dove iniziare. Non c’è una risposta giusta su cosa imparare prima! Ci sono pro e contro per tutto, quindi soppesate ciò che è più importante per voi e partite da lì. I framework sono molto utili e rendono la scrittura del codice molto più veloce nella maggior parte dei casi, ma avere una forte base di programmazione prima è anche molto importante — quindi assicurati di conoscere bene il linguaggio in cui il tuo framework è scritto prima. I framework sono molto utili per scrivere siti web perché impongono una struttura che gli altri sviluppatori del framework capiscono, e ti danno funzionalità comuni in modo da non dover reinventare la ruota!

Dove iniziare ad imparare…

  • Django Girls Tutorial – ho imparato il mio primo framework attraverso il loro tutorial online!
  • Code Academy
  • TodoMVC
  • CodeNewbie Podcast

E se ti serve un’idea per un’applicazione…

  • Idee fantastiche per applicazioni
  • 15+ IDEE DI APP DA COSTRUIRE PER LIVELLARE LE TUE CAPACITÀ DI CODIFICA

Sei il primo a sapere dei miei post!