Tu sei qui

15. Scelta del framework

Creato da Francesco Saba Ultimo aggiornamento Mar, 30/01/2024 - 18:29

Introduzione alla Scelta del Framework

In informatica, un framework rappresenta un insieme di strumenti, librerie e linee guida organizzate in un'architettura predefinita, progettata per facilitare lo sviluppo di software. L'utilizzo di un framework accelera il processo di sviluppo, riduce la complessità del codice e fornisce una struttura coerente per gli sviluppatori.

Caratteristiche Principali di un Framework

  1. Organizzazione Strutturata: Un framework offre una struttura organizzativa chiara, definendo regole e convenzioni che guidano lo sviluppatore nella creazione di applicazioni coerenti.

  2. Librerie Predefinite: Contiene librerie e moduli di codice già sviluppati, pronti per l'uso. Questo consente agli sviluppatori di evitare di scrivere codice da zero, risparmiando tempo e risorse.

  3. Astrazione delle Complessità: Astrae le complessità tecniche sottostanti, consentendo agli sviluppatori di concentrarsi sulle logiche specifiche dell'applicazione senza doversi preoccupare di dettagli implementativi complessi.

Framework nel Contesto del Web

Nel contesto del web, un framework è uno strumento fondamentale per lo sviluppo di applicazioni web dinamiche e scalabili. Esistono framework specifici per diversi linguaggi di programmazione e ambiti di applicazione, come ad esempio i framework frontend per la creazione di interfacce utente dinamiche e quelli backend per la gestione dei dati e delle operazioni di server.

Vantaggi dell'Uso di Framework nel Web:

  1. Velocità di Sviluppo: Riduce il tempo di sviluppo grazie alle librerie predefinite e alle convenzioni.

  2. Manutenzione Semplificata: Facilita la manutenzione del codice grazie alla struttura organizzata.

  3. Standardizzazione: Favorisce la standardizzazione delle pratiche di sviluppo, migliorando la coerenza tra i membri del team.

Abbiamo introdotto l'argomento Framework per approfondire uno dei CMS (Content Management System) tra i più popolari, quello meno diffuso tra i web developer: Drupal.

Drupal possiamo classificarlo sia come CMS che come framework poiché offre funzionalità che vanno oltre la gestione del contenuto e fornisce un ambiente di sviluppo più ampio e flessibile. Vediamo alcune ragioni per cui Drupal può essere considerato un framework oltre a essere un CMS evoluto:

  1. Flessibilità e Modularità: Drupal è noto per la sua grande flessibilità e modularità. Gli sviluppatori possono estendere le funzionalità di base del CMS aggiungendo moduli (come fossero dei plug-in) o sviluppando nuovi moduli personalizzati. Questi moduli possono coprire una vasta gamma di funzionalità, andando oltre la semplice gestione del contenuto. Con Drupal è possibile realizzare un semplice sito internet aziendale, un blog, un libro on-line con contenuti gerarchici, ha una potente gestione di tassonomie e viste di database con cui è possibile creare verticalizzazioni molto interessanti, impossibili con altri CMS (come ad esempio WordPress o Joomla!).

  2. API Robuste: Drupal offre API (Interfacce di Programmazione delle Applicazioni) potenti che consentono agli sviluppatori di interagire con il sistema in molti modi. Questo offre un livello di controllo più avanzato rispetto a un tradizionale CMS. Si pensi ad esempio di voler creare un'interfaccia utente che dialoghi con una macchina remota, piuttosto che una gestione di contenuti collegata a un gestore di attività calendarizzate, fino ad arrivare ad una gestione documentale in cloud. Tutto questo può essere realizzato grazie alle API di Drupal.

  3. Gestione di Contenuti Strutturati: Drupal eccelle nella gestione di contenuti strutturati, rendendolo adatto a siti web complessi che richiedono organizzazione e categorizzazione avanzate del contenuto. La struttura del contenuto può essere definita in modi molto dettagliati, offrendo una flessibilità maggiore rispetto a molti CMS tradizionali che non possono essere modificati.

  4. Ruoli Utente Avanzati: Drupal offre un sistema di gestione degli utenti molto avanzato, con la possibilità di definire ruoli e permessi molto specifici, anche a diversi livelli di profondità. Questo lo rende adatto anche per applicazioni in cui è necessario gestire diversi livelli di accesso e autorizzazioni, come ad esempio una redazione in cui ogni ruolo ha un accesso limitato. Drupal può gestire infiniti utenti e infiniti ruoli.

  5. Personalizzazione del Tema: Anche nell'aspetto visivo, Drupal consente una personalizzazione avanzata del tema del sito. Gli sviluppatori possono controllare in modo dettagliato la presentazione del contenuto. Lo fa in modo differente dagli altri CMS, infatti la temizzazione è un corpo separato dal resto del codice e il tema può essere sostituito con semplicità senza perderne le impostazioni.

  6. Difetti di Drupal: purtroppo Drupal ha un grande difetto per chi non è sviluppatore, la curva di apprendimento. Comprendere Drupal è veramente complesso soprattutto nei primi approcci, poichè vi è scarsa documentazione oppure quella che si trova non sempre è aggiornata. Un'altra pecca sono i suoi moduli, talmente tanti da perdersi nelle scelte. Inoltre alcuni progetti vengono iniziati e pubblicati per poi essere abbandonati, per cui può essere veramente complicato sostituirli. Insomma a fronte di enormi vantaggi si hanno anche tanti problemi legati ai tempi di sviluppo.

CMS (Content Management System)

Utilizzare un CMS possibilmente Open Source, significa accorciare tantissimo i tempi di sviluppo e andare in pochi giorni (al massimo in una o due settimane) in produzione. I CMS più diffusi attualmente (nel 2024) sono nell'ordine WordPress, Joomla e Drupal (di cui abbiamo parlato abbondantemente).

Per quanto riguarda WordPress è sicuramente quello coi migliori plug-in che piacciono ai motori di ricerca. Basta effettuare una serie di ricerche sul web di qualsiasi argomento, per trovare tra i primi 10 risultati uno o più siti realizzati in WordPress. Non starò ad approfondire quale sia il migliore dei 3 anche perchè la risposta sarebbe "dipende", quindi potrai approfondire quale sia il migliore per te, eseguendo una rapida ricerca sul web. Trovi anche dei corsi specifici su come fare SEO con WordPress, Joomla! e Drupal,

Software Nativi per l'E-commerce

Le soluzioni software dedicate al commercio elettronico permettono alle attività di creare, gestire e ottimizzare i loro negozi online.

Questi strumenti offrono una vasta gamma di funzionalità, tra cui la gestione dei pagamenti, il controllo delle scorte, l'analisi delle conversioni (visite/vendite) ecc.

In un periodo in cui il mondo digitale è in costante mutamento, possedere una piattaforma che non solo gestisca le transazioni ma che faciliti anche la comprensione dei comportamenti degli utenti, ottimizzi la logistica e integri soluzioni di marketing avanzate diventa fondamentale.

La scelta della piattaforma opportunamente adattata può determinare il successo di qualsiasi attività commerciale online, influendo su aspetti quali:

  • usabilità
  • personalizzazione
  • scalabilità

Shopify

E' probabilmente la piattaforma più rapida per entrare nel mondo della vendita on-line. Non è gratuita ma a fronte di un investimento mensile di poche decine di euro è possibile sperimentare una tipologia di vendita "pronta per l'uso". Fornisce diverse fasce di prezzo in funzione delle necessità del commerciante. Le recensioni sono ottime e oltre all'assistenza sempre molto celere, è possibile contattare alcuni sviluppatori "concessionari" per eventuali personalizzazioni. Offre l'opportunità di agganciare il sistema a corrieri e a qualsiasi forma di pagamento. La piattaforma è abbastanza sicura sia nell'aspetto delle transazioni che dal punto di vista della privacy.

Magento

Accessibile anche per utenti con una conoscenza di base, ma per sfruttarne appieno il potenziale, è consigliato possedere competenze tecniche. Risulta particolarmente adatto per sviluppatori e webmaster con un solido bagaglio di esperienza. La piattaforma offre un robusto sistema ecommerce, altamente personalizzabile secondo le esigenze del cliente. Sebbene l'interfaccia grafica del backend possa apparire datata, ciò non compromette le prestazioni generali. Magento è ottimizzato per gestire volumi considerevoli di traffico e transazioni.

La piattaforma fornisce un controllo completo sul codice (in PHP) e sull'aspetto del negozio, richiedendo competenze in HTML, PHP e CSS2/3 per una personalizzazione avanzata. Implementa funzionalità di sicurezza avanzate, conformi agli standard del settore, garantendo la protezione delle transazioni. In quanto software Open Source, hai la possibilità di accedere al supporto della community per risolvere eventuali problematiche.

WooCommerce

E' la piattaforma eCommerce open-source per WordPress, che offre una soluzione gratuita e flessibile supportata da una vasta community globale. L'open-source garantisce la piena proprietà dei contenuti e dei dati del negozio. Adatta per nuove attività di vendita online, WooCommerce unisce i contenuti di WordPress alla vendita on-line. Dispone di diversi plug-in e funzionalità che permettono (oltre ad un'ottima gestione SEO) di misurare e controllare il marketing connesso al sito.

Drupal Commerce

L'estensione sviluppata da Centarro permette di estendere Drupal (7/8/9) all'e-commerce in modo verticale. A meno di avere esigenze particolari ne sconsigliamo l'utilizzo poichè anche in questo caso la complessità nell'approccio aumenta i tempi di sviluppo. Ovviamente se lo citiamo è perchè ha anche i suoi pro, come la gestione di qualunque piattaforma di pagamento, ordini, stock ecc. oltre alla possibilità di personalizzarlo in ogni sua forma anche con moduli custom, cosa non permessa dalle altre piattaforme menzionate.

Conclusioni

Utilizzare un CMS o una piattaforma e-commerce ha tantissimi vantaggi, velocità di implementazione in azienda, spesso si tratta di codice Open Source quindi i costi sono limitati all'adattamento dell'interfaccia grafica lato utente (front-end), verticalizzazione a basso costo per via dei plug-in già pronti e collaudati. Insomma anche in ottica SEO la soluzione più diffusa.

Valuta la pagina: 
Nessun voto espresso