Il mondo del web è un settore vario ed estremamente vasto. Sviluppare applicazioni web richiede la conoscenza di diverse tecnologie sia lato server che lato client, nonché l'interazione fra di esse.

Componenti lato server

Dopo aver provato a sviluppare il proprio framework web, la eNTiDi ha scelto di sviluppare i propri siti dinamici su CMS SilverStripe, appoggiandosi quindi ad uno stack web comunemente chiamato LAMP. Questa scelta è stata dettata non da motivazioni tecniche ma perché questo stack è di gran lunga il più disponibile ed il meglio collaudato.

In ogni caso sono tenuti sotto osservazione altri sistemi tecnicamente superiori, come ChicagoBoss su Cowboy con Mnesia (Erlang) oppure OpenResty su Ngix con MongoDB (Lua).

Stack LAMP

LAMP è un acronimo in cui ogni lettera identifica un componente dello stack.

  1. LinuxL: Linux (sistema operativo)
    La prima scelta da operare, ossia quale sistema usare come server. Una volta pubblicata, l'applicazione web è accessibile da qualsiasi sistema operativo: il sistema operativo usato come server non è di alcuna rilevanza per gli utenti finali del sito.
    Si ritiene indispensabile la presenza di una shell decente (ossia non la shell di DOS) che consenta operazioni avanzate ed in modalità remota. Le distribuzioni GNU/Linux solitamente offrono una shell BASH-compatibile e OpenSSH per l'accesso remoto, ma un qualsiasi altro sistema POSIX (Solaris, *BSD o Mac OS X) sarebbe tecnicamente una scelta altrettanto valida.
  2. ApacheA: Apache (web server)
    Apache è un progetto di lunga data piuttosto conosciuto nel mondo virtuale. È dal 1998 che più della metà dei siti internet si affidano ad apache per erogare le pagine (fonte Netcraft).
    Il punto di forza di questo web server è la sua stabilità, la sua debolezza sono le performance scadenti. Apache è ubiquo e multipiattaforma.
  3. MySQLM: MySQL (database)
    Un tempo il database open source più diffuso, MySQL ora è di proprietà della Oracle ed il suo futuro è incerto. Esistono comunque dei fork compatibili: MariaDB per esempio è un fork creato con l'esclusivo scopo di sostituire MySQL nelle attuali installazioni.
    Si trova spesso accoppiato al PHP per la disponibilità di diverse interfacce (mysql, mysqli, pdo). È un prodotto altamente scalabile, adatto sia nei progetti personali che per lo sviluppo di applicativi più impegnativi. Il database, anche se non strettamente indispensabile (esistono delle applicazioni web che non ne fanno uso), è un componente chiave nei siti web dinamici più complessi.
  4. PHPP: PHP (linguaggio di scripting)
    Il linguaggio web per eccellenza, usualmente usato sul lato server (ossia sul computer a cui ci si collega quando si naviga) per generare le pagine in HTML.
    PHP è un linguaggio piuttosto confuso è sicuramente poco ortogonale, progettato specificatamente per i principianti ma che rende difficoltoso un approccio serio alla programmazione. Gli ultimi sviluppi tendono a colmare alcune lacune più macroscopiche ma, onestamente, ci sono linguaggi molto più coerenti e piacevoli da usare. In ogni caso questa è ad oggi la scelta più sana a causa dell'enorme diffusione di questo linguaggio e dell'immediata disponibilità di CMS con codice già pronto.

Componenti lato client

Le tecnologie lato server rispondono alle richieste inoltrate dagli utenti ed inviano codice web (HTML, CSS e Javascript). Usualmente il codice generato è totalmente diverso da sito a sito ma esistono dei "framework" che raggruppano i componenti più comuni usati per lo sviluppo dei siti dinamici. È questo il caso di bootstrap, il front-end usato alla eNTiDi.

L'uso di un framework di front-end (e nel particolare di bootstrap) apporta diversi vantaggi quali il supporto automatico al web mobile, la possibilità di velocizzare la navigazione tramite CDN, la riduzione del codice personalizzato da generare e la fruizione delle innovazioni più recenti.

eNTiDi logoeNTiDi software
Software per l'automazione industriale

via Conciliazione, 13
 25039 Travagliato (BS)

Telefono: 366 3206501
E-mail: ntd@entidi.it
PEC: entidi@mlcert.it

 Partita IVA: 02909410983