Lo stack tecnologico giusto per il tuo sito
Immagina la casa dei tuoi sogni. Che aspetto ha? Quali caratteristiche e servizi ha? Ampie finestre che inondano ogni stanza di luce naturale? Ampi piani di marmo? Un camino rustico?
Qualunque cosa sia, siamo pronti a scommettere che la vostra mente non è andata col pensiero alle fondamenta della vostra casa perfetta. Non avete fantasticato sul materiale delle pareti, sulla composizione strutturale o sul tipo di legno, cemento e mattoni usati per costruirla. Se l’avete fatto, probabilmente siete degli ingegneri.
Quando le aziende si avvicinano a Oissa, spesso hanno un’idea chiara di quali caratteristiche, funzionalità ed estetica dovrebbe avere la loro nuova applicazione web, ma non lo stack tecnologico di base necessario per supportarla. E questa è una decisione chiave da prendere! Una casa da sogno non può esistere senza un’attenta pianificazione strutturale e materiali ben scelti. Lo stesso vale per le applicazioni web.
Così abbiamo deciso di fare una rapida escursione tra i due più popolari stack tecnologici utilizzati nello sviluppo di applicazioni web: LAMP e MEAN.
Perché solo LAMP & MEAN?
Sia LAMP che MEAN sono stack tecnologici completi che descrivono quattro tecnologie separate.
LAMP è l’acronimo di:
Linux (il sistema operativo del server)
Apache (server)
MySQL (dati)
PHP (codice)
MEAN è l’acronimo di:
MongoDB (dati)
Express.js (framework di back-end)
Angular.js (struttura di front-end)
Node.js (ambiente lato server)
Ognuna di queste tecnologie può essere sostituita con altre diverse, ognuna con i propri vantaggi e svantaggi. Anche LAMP e MEAN hanno le loro varianti. Sarebbe impossibile avere una visione d’insieme di ogni possibile stack tecnologico, quindi abbiamo ristretto il campo di osservazione a due dei più popolari.
Per confrontare i due, abbiamo individuato alcuni importanti criteri che le aziende dovrebbero valutare nella scelta di uno stack tecnologico. Alcune aziende possono dare priorità ad alcuni e non ad altri, ma tutti sono utili per scegliere con appropriatezza lo stack tecnologico che fa al proprio caso.
Supporto disponibile
Lo stack tecnologico LAMP è in circolazione da anni, il che significa che è facile trovare sviluppatori che lo conoscono, risorse per supportarlo e componenti aggiuntivi per ottimizzarlo in funzione delle caratteristiche che la vostra applicazione presenta. Al contrario, troverete una libreria di risorse meno completa con MEAN, perché sono passati solo cinque anni da quando è diventata popolare.
Al giorno d’oggi, la maggior parte degli sviluppatori full-stack hanno familiari sia con LAMP che con MEAN. Quest’ultimo è in fase di crescita, quindi potreste scoprire che gli sviluppatori più giovani sono più interessati a MEAN rispetto a quelli più maturi che si trovano propendono maggiormente per LAMP.
Vale anche la pena sottolineare che Google gestisce e mantiene Angular, il framework lato client presente in MEAN. Questo significa aggiornamenti abbondanti, documentazione solida e un’ampia gamma di supporto.
Semplicità
Se siete interessati a un metodo rapido per creare e far funzionare un sito web, LAMP è probabilmente la scelta migliore. Con la sua base MySQL e PHP, si trova bene con quasi tutte le piattaforme di hosting, così come con qualsiasi integrazione di terze parti di cui potreste aver bisogno: CMS, PIM, CRM e simili.
Allo stesso tempo, MEAN offre un diverso tipo di semplicità. Avrete notato che ogni tecnologia dello stack MEAN è basata su JavaScript, sia nel front-end che nel back-end. Questo significa che, in teoria, avreste bisogno solo di uno sviluppatore esperto in un singolo linguaggio, diversamente da quanto richiesto con LAMP.
Mentre JavaScript inizialmente era un linguaggio puramente front-end, recentemente ha acquisito una vita aggiuntiva come linguaggio back-end. Una delle ragioni principali è stata la crescita dello stack MEAN. Vedremo che la caratteristica pure-JavaScript di MEAN offre anche molti altri vantaggi.
Prestazioni
Un piccolo avvertimento: può essere difficile fare affermazioni generiche sulle “prestazioni” di uno stack tecnologico, poiché dipende molto dalle variabili specifiche di ogni applicazione. Quando parliamo di prestazioni di un’applicazione web, è probabile che la misuriamo con due parametri chiave: latenza e throughput. Entrambi questi parametri devono essere misurati in un sistema reale, non in una lista di tecnologie.
Detto questo, il consenso generale è che MEAN, in media, sia più veloce di LAMP. Questa discrepanza nelle prestazioni deriva principalmente dalla “M” in MEAN: MongoDB.
MongoDB è un database NoSQL, che, rispetto a MySQL di LAMP è più veloce per le query di base. Essendo un database non relazionale, MongoDB supera MySQL anche in termini di flessibilità e scalabilità.
Scalabilità
Abbiamo già accennato alla scalabilità di MongoDB, ma Node.js di MEAN offre anche un ambiente server-side leggero, ideale per lo scaling.
Man mano che il vostro business cresce, potreste considerare la possibilità di sostituire alcuni dei componenti del vostro stack tecnologico. Sia LAMP che MEAN sono disponibili in diverse varianti, ma poiché MEAN è interamente in JavaScript, spesso è meno problematico scambiare, ad esempio, Angular con React.
Decisioni
La verità è che non esiste un “miglior stack tecnologico”. C’è solo lo stack tecnologico migliore per la vostra applicazione e il vostro business. Sia LAMP che MEAN offrono i loro vantaggi e svantaggi, e speriamo di aver toccato alcuni dei criteri chiave a cui state dando priorità nella vostra scelta.
Naturalmente, potreste aver notato che abbiamo omesso uno dei fattori più importanti: il costo. Il costo di implementazione di MEAN e LAMP dipenderà dalle dimensioni della vostra applicazione, dal caso d’uso e da una varietà di altri fattori. Se siete alla ricerca di un preventivo più dettagliato, o se desiderate ulteriori consultazioni sul giusto stack tecnologico per voi, contattateci. Abbiamo implementato entrambi gli stack e possiamo valutare il vostro progetto per capire quello che fa più al caso vostro.