Home
topics
lamp stack
Probabilmente hai sentito parlare dello stack LAMP. La cosa non sarebbe sorprendente, tenendo conto del fatto che alcune delle attuali applicazioni web open source di più ampio utilizzo - ad esempio WordPress e Drupal - vengono tutte eseguite su LAMP.
Ma LAMP ha molto di più al suo attivo. È stato uno dei primi stack software open source per il web e rimane uno dei modi più comuni per fornire applicazioni web. È talmente diffuso che probabilmente lo utilizzerai spesso nel corso della tua carriera per aggiornare o eseguire l'hosting di applicazioni esistenti. Ed è considerato da molti la piattaforma ideale per lo sviluppo di nuove applicazioni web personalizzate.
Stabile, semplice, potente: queste sono le parole più usate per descrivere LAMP. Tutto questo rende la sua conoscenza utile e costituisce una aggiunta preziosa al curriculum di qualsiasi sviluppatore.
LAMP è l'acronimo di Linux, Apache, MySQL e PHP. Insieme, offrono un set collaudato di software per fornire applicazioni web ad elevate prestazioni. Ogni componente contribuisce alle funzionalità essenziali dello stack:
PHP è progettato per l'efficienza. Rende la programmazione più facile - e più divertente - consentendoti di scrivere nuovo codice, premere il tasto per aggiornare e vedere immediatamente le modifiche senza che sia necessaria la ricompilazione. Se preferisci, puoi sostituire PHP con Perl o il sempre più popolare linguaggio Python.
LAMP ha una classica architettura a livelli, con Linux alla base. Il livello successivo è composto da Apache e MySQL, seguito da PHP. Anche se PHP è formalmente al livello superiore o di presentazione, il componente PHP si trova all'interno di Apache.
Uno sguardo approfondito all'ordine di esecuzione dello stack LAMP mostra come interagiscono gli elementi. Il processo inizia quando il server web Apache riceve le richieste di pagine web dal browser di un utente. Se la richiesta è per un file PHP, Apache passa la richiesta a PHP, che carica il file ed esegue il codice in esso contenuto. PHP comunica anche con MySQL per recuperare qualsiasi dato a cui si fa riferimento nel codice.
PHP usa poi il codice nel file e i dati dal database per creare l'HTML richiesto dai browser per visualizzare le pagine web. Lo stack LAMP è efficiente nel gestire non solo pagine web statiche, ma anche pagine dinamiche in cui il contenuto può cambiare ogni volta che viene caricato a seconda della data, dell'ora, dell'identità dell'utente e di altri fattori.
Dopo aver eseguito il codice del file, PHP passa i dati risultanti nuovamente al server web Apache per l'invio al browser. Può anche archiviare questi nuovi dati in MySQL. E naturalmente, tutte queste operazioni sono abilitate dal sistema operativo Linux in esecuzione alla base dello stack.
Anche se LAMP usa Linux come sistema operativo, puoi usare gli altri componenti con un sistema operativo alternativo per soddisfare le tue esigenze specifiche. Ad esempio, è disponibile lo stack WAMP, che usa Microsoft Windows; MAMP con Mac OS; e anche WIMP, che usa Windows e il server web Internet Information Services di Microsoft.
Poiché LAMP è completamente open source e non proprietario, puoi evitare di essere vincolato a specifici fornitori. Hai la flessibilità di selezionare i componenti giusti per progetti o requisiti aziendali specifici.
LAMP offre flessibilità anche in altri modi. Apache ha un design modulare e scoprirai che esistono dei moduli personalizzabili a tua disposizione per molte estensioni differenti. Questi moduli vanno dal supporto per altri linguaggi alle funzionalità di autenticazione.
Un altro vantaggio di LAMP è la sua architettura sicura e le pratiche di crittografia ben consolidate che sono state collaudate in azienda.
LAMP può aiutarti a ridurre il tempo di sviluppo. Poiché LAMP è uno stack open source disponibile da più di un decennio, ne esiste oggi un notevole ecosistema. Puoi sviluppare ulteriormente quello che gli altri hanno fatto in passato e farlo tuo. Lavora all'interno di un modulo Apache che ti accompagna per l'80% del percorso verso il tuo obiettivo e personalizza l'ultimo 20%, risparmiando così molto tempo.
Fornisci applicazioni web ad alte prestazioni sul tuo classico server virtuale configurato con lo stack LAMP.
Un database relazionale organizza i dati tra più tabelle uniti insieme mediante chiavi. SQL (Structured Query Language) è il linguaggio di programmazione standard per interagire con i database relazionali.
MEAN - acronimo di MongoDB, Express.js, AngularJS e Node.js - è uno stack JavaScript end-to-end ampiamente utilizzato per le applicazioni pronte per il cloud.