Site icon Digital Problem Solving

Un articolo nerd, differenze tra Framework, Pattern, Library, Toolkit e CMS

Un articolo nerd, differenze tra Framework, Pattern, Library, Toolkit e CMS

Non tutti i clienti sono a conoscenza di queste differenze, alcuni invece usano questi termini in maniera impropria e hanno una gran confusione in testa. Oggi vi propongo un articolo nerd, differenze tra Framework, Pattern, Library, Toolkit e CMS.

 

Framework

Il termine Framework può essere tradotto come intelaiatura, struttura. Questo termine deriva dalla programmazione di software, oggi i framework sono ampiamente diffusi anche per la programmazione web.

In pratica questo telaio già pronto, consente al programmatore di avere già una base su cui andare a lavorare, tale lavoro andrà realizzato rispettando le regole e il linguaggio di sviluppo del framework stesso. Due ottimi esempi di framework per il web sono Django (il più famoso web framework, basato su linguaggio Python) e Ruby on Rails (altrettanto famoso web framework, basato su linguaggio Ruby).

Siti come Airbnb, Shopify, Github, SoundCloud ecc. ecc. sono stati sviluppati sul framework Ruby on Rails, invece alcuni esempi di siti che usano Django sono Instagram, Disqus, Pinterest, National Geographic e tanti altri.

 

Attenzione

Cari clienti, adesso vi è chiaro perché per realizzare progetti spinti/avanzati dal punto di vista dell’ideazione, design e programmazione occorrano figure con top skill? E che non tutto (forse niente) può costare 199€ all’anno con la batteria di pentole in omaggio?

 

 

Pattern

Dal punto di vista della programmazione un Pattern è una soluzione generale ad un problema ricorrente.

Per problema non si intende realmente una problematica (es. se non funziona il form di contatto, cosa fa la pagina?), per problema si intende azione, quindi un’azione ricorrente es. chiamate al database che restituiscono dati in pagine html.

Ti è chiaro? 🙂 Non credo… vediamo con questo esempio:

Sei su un forum di discussione. Il forum contiene utenti iscritti, login, sezioni, thread, post ecc. ecc.
Tutte queste cose sono dei dati e sono conservati in uno o più Database.
Quando attraverso la pagina del forum che stai leggendo, compi un’azione es. mostra tutti i thread di Digital Problem Solving, hai effettuato una chiamata al Database.
In pratica hai detto al Database fammi vedere le altre discussioni di questo utente, discussioni che tu caro database stai conservando sotto forma di dati e rendile leggibili a me che non sono un database.
Quindi eccoti sulla nuova pagina con tutti i thread iniziati da Digital Problem Solving.

Ecco, il pattern è già pronto e ti permette di interrogare il db e di ottenere una risposta in html. Perché ricorrente? Perché (seguendo l’esempio del forum) tutti gli utenti del forum potrebbero richiedere questa operazione più e più volte, oltre a tutta quella marea di operazioni automatiche di cui l’utente nemmeno si accorge.

Un ottimo esempio di web development pattern è MCV che funziona esattamente come ti ho spiegato nell’esempio del forum, se hai ancora dei dubbi lo schema di seguito dovrebbe fuorviarli del tutto.

 

Library

Spiegare una Library è sicuramente più facile. Una Library è un set di funzioni che vengono richiamate, anche qui ci troviamo davanti ad un set già pronto, il programmatore è libero di scegliere quali parti di questo set usare/richiamare… non deve necessariamente usare tutte le funzioni della Library. Un’esempio di Library utile per il web development è quella di Ajax.

 

Toolkit

Il Toolkit è formato da una serie di strumenti atti a svolgere delle azioni e può essere formato da più librerie. Anche il toolkit si occupa di generare una serie di piccoli frammenti ripetibili all’infinito. Esempi di web toolkit sono Bootstrap, Topcoat e Zurb Foundation.

 

CMS

Se sei arrivato fino a qui hai superato la parte difficile, complimenti.

Il termine CMS è l’acronimo di Content Management System. Alcune caratteristiche cambiano in base al CMS, altre sono standard come ad esempio la possibilità di caricare contenuti, editarli, gestione delle immagini, gestione della cronologia, l’indicizzazione interna dei contenuti, la ricerca e il recupero degli stessi.

In pratica un CMS ti consentirà di gestire i contenuti e di presentarli lato web.
Ormai i CMS più famosi consentono di occuparsi anche della parte frontend grazie ai visual editor, agli store online di temi (template) e ai moduli da aggiungere.

I CMS più usati? Al primo posto c’è WordPress per blog, magazine e piccoli siti. Magento per gli e-commerce. Compare ancora Joomla che ormai sta esalando gli ultimi respiri… anche Drupal viene usato, anche se non quanto WordPress, probabilmente per la difficoltà del workflow lato backend.

 

Mi auguro che questo articolo ti aiuti a fare chiarezza, i termini tecnici sono molto importanti, acquisire il linguaggio corretto ti aiuterà nella gestione del progetto, delle richieste e del cliente.

 

Hai in mente un progetto web ma non sai come, con chi e con cosa realizzarlo? - - - Scrivi a info@digitalproblemsolving.it
Fonti: 1 - 2 - 3 - 4 - 5 - Copyright icone The Noun Project - Copyright Foto Unsplash