
COS'E' JAMP
JAMP è un framework open source per lo sviluppo di applicazioni WEB, tale definizione se pur esatta rende poco l'idea di quello che realmente esso rappresenta, per questo tenteremo di dare una definizione meno formale ma più chiara. Inziamo nello spiegare cosa si intende per applicazione WEB, ossia volendo semplificare, un programma nel quale l'utente accede alle sue funzionalità tramite l'utilizzo di un browser (Firefox, Internet Explorer, Opera, Safari, ecc). Gli ambiti più comuni nei quali è possibile trovare degli esempi sono: groupware, webmail, e-learning, rubriche, modulistica, help desk, gestione dei servizi e gestionali.
WEB 2.0
Nel passato, quando si parlava di WEB, si tendeva a valorizzare solo uno dei suoi tanti aspetti ovvero la possibilità di accedere a contenuti di carattere multimediale (immagini, video, testo, collegamenti ipertestuali), tale visione risultava essere limitata perchè rappresentava il WEB come un sistema nel quale gli utenti recitavano un ruolo passivo di semplice ricerca delle informazioni. Nel corso degli anni, grazie anche allo sviluppo di nuove tecnologie come ad esempio AJAX, il WEB si è sempre più evoluto, fino all'avvento del cosidetto WEB 2.0, locuzione generica utilizzata proprio per indicare uno stato di evoluzione dato dall'insieme di tutte quelle applicazioni online che permettono uno spiccato livello di interazione come Facebook, Wikipedia, Youtube, i Blogs. Questo ha sortito non solo l'effetto di spazzare via ogni possibile ombra sulle potenzialità di questo strumento ma in un certo senso ha anche segnato il passo a quello che sarà il futuro dei nuovi software, sempre più improntati verso questa vantaggiosa piattaforma a discapito invece di architetture vecchie e relegate ad ambiti sempre più ristretti.
VANTAGGI E SVANTAGGI DELLA PROGRAMAZIONE WEB
I principali vantaggi che può dare un software sviluppato in ambiente web sono:
•Multipiattaforma: rendere il prodotto indipendete dalla piattaforma hardware ma anche dal sistema operativo utilizzato.
•Centralizzato: l'applicazione è centralizzata perchè installata solo sul server, gli utenti possono accervi dalle loro postazione o dispositivi mobili tramite un comune browser senza ulteriori software che rallenterebbero il deploy dell'applicazione, le operazioni di aggioramento ed il backup.
•Integrazione: gli applicativi web si prestano meglio all'integrazione con altri sistemi.
•Sicurezza: a differenza dei tradizionali linguaggi di programmazione che spesso gestiscono la sicurezza dei dati con sistemi proprietari dei quali non sempre se ne conosce l'affidabilità, in ambito web è possibile creare delle infrastrutture estremamente sicure per l'accesso e la protezione dei dati. Parliamo di protocolli di sicurezza come https, metodi di cifratura, certificati digitali, questi sono solo alcuni dei sistemi implementabili e dei quali si è certi del loro alto livello di sicurezza essendo degli standard universalmente riconosciuti.
Passiamo anche agli svantaggi, in realtà il vero grosso ostacolo che si ha nello sviluppare applicazioni WEB è la maggiore difficoltà di implementazione, il fatto di dover utilizzare diversi linguaggi come: HTML, CSS, javascript, script server side (PHP, ASP, JSP, ...) e la diversa natura dei browser i quali non sempre rispettano a pieno gli standard W3C, comporta inevitabilmente tempi più lunghi e di conseguenza l'aumento dei costi.
I FRAMEWORK
Framework è un termine inglese che significa "intelaiatura", in ambito informatico si suole intendere una struttura di supporto su cui un software può essere organizzato e progettato. Lo scopo di un framework è di far risparmiare allo sviluppatore la riscrittura di codice già steso in precedenza per compiti simili, essi dunque possono essere la soluzione ottimale per l'abbattimento di quelli che sono i tempi e costi di realizzazione. Nel corso degli anni sono stati sviluppati diversi framework tra questi anche quelli dedicati allo sviluppo di applicazioni WEB, spesso però la loro complessità e scarsa flessibilità ne ha frenato il potenziale. JAMP nasce appunto dall'idea di creare un framework più vicino alle esigenze di un programmatore, motivo per il quale prima di iniziare a progettare la sua struttura ci siamo posti tutta una serie di obiettivi da perseguire:
•Facilità: la configurazione del framework ed il suo utilizzo deve essere semplice ed immediato.
•Flessibilità: l'architettura del framework non deve imporre limiti strutturali allo sviluppo delle applicazioni, ciò è possibile solo se l'utente è libero di poter inserire il proprio codice nel linguaggio di programmazione nativo (PHP e Javascript).
•Opensource: distribuire il codice con licenza GPL significa principalmente permettere ad altri di valutare ed esprimere un giudizio obiettivo sul lavoro svolto, accettando anche le critiche e i consigli che provengono dal mondo esterno.
•Completo: l'obiettivo finale è quello di creare un ambiente IDE completo compreso di GUI per lo sviluppo.
•Veloce: le prestazioni delle applicazioni non devono risentire della presenza del framework.
Sito Ufficiale: http://jamp.alyx.it





