JavaScript

JavaScript

In informatica JavaScript è un linguaggio di scripting orientato agli oggetti e agli eventi, comunemente utilizzato nella programmazione Web lato client per la creazione, in siti web e applicazioni web, di effetti dinamici interattivi tramite funzionidi script invocate da eventi innescati a loro volta in vari modi dall’utente sulla pagina web in uso (mousetastiera, caricamento della pagina ecc…).

Tali funzioni di script, utilizzati dunque nella logica di presentazione, possono essere opportunamente inserite in file HTML, in pagine JSP o in appositi file separati con estensione .js poi richiamati nella logica di business. Ultimamente il suo campo di utilizzo è stato esteso alle cosiddette Hybrid App (app ibride), con le quali è possibile creare app per più sistemi operativi utilizzando un unico codice sorgente basato appunto su JavaScript, HTML e CSS.

Java, JavaScript e JScript

Il cambio di nome da LiveScript a JavaScript si ebbe più o meno nel periodo in cui Netscape stava includendo il supporto per la tecnologia Java nel suo browser Netscape Navigator. La scelta del nome si rivelò fonte di grande confusione. Non c’è una vera relazione tra Java e JavaScript; le loro somiglianze sono soprattutto nella sintassi (derivata in entrambi i casi dal linguaggio C); le loro semantiche sono piuttosto diverse, e in particolare i loro object model non hanno relazione e sono ampiamente incompatibili.

Dato il successo di JavaScript come linguaggio per arricchire le pagine webMicrosoft sviluppò un linguaggio compatibile, conosciuto come JScript. La necessità di specifiche comuni fu alla base dello standard ECMA 262 per ECMAScript, di cui sono state pubblicate otto edizioni da quando il lavoro iniziò, nel novembre 1996.

Aspetti strutturali

Le caratteristiche principali di JavaScript sono:

Altri aspetti di interesse: in JavaScript lato client, il codice viene eseguito direttamente sul client e non sul server. Il vantaggio di questo approccio è che, anche con la presenza di script particolarmente complessi, il web server non viene sovraccaricato a causa delle richieste dei client. Di contro, nel caso di script che presentino un codice sorgente particolarmente grande, il tempo per lo scaricamento può diventare abbastanza lungo. Un altro svantaggio è il seguente: ogni informazione che presuppone un accesso a dati memorizzati in un database remoto deve essere rimandata ad un linguaggio che effettui esplicitamente la transazione, per poi restituire i risultati ad una o più variabili JavaScript; operazioni del genere richiedono il caricamento della pagina stessa. Con l’avvento di AJAX tutti questi limiti sono stati superati.

 

Fonte: https://it.wikipedia.org/

PHP – Hypertext Preprocessor

PHP – Hypertext Preprocessor

Installato su oltre 240 milioni di siti web (il 39% del totale) e presente su oltre 2,1 milioni di server (i dati si riferiscono al dicembre 2013), il PHP è uno dei linguaggi di programmazione maggiormente diffusi in ambito web. Nato nel 1995 in Canada per mano del programmatore d’origine groenlandese Rasmus Lerdorf, oggi lo sviluppo e il mantenimento dei PHP sono realizzati dal The PHP Group e distribuito con licenza open source (non compatibile, però, con i dettami dello GNU General Public Licence).

L’acronimo PHP, nella sua accezione originaria, sta per Personal Home Page ma negli anni è stato sostituito da un più attuale (e ricorsivo) PHP: Hypertext Preprocessor (PHP: preprocessore di ipertesti in italiano).

Le caratteristiche del PHP

Il PHP è un linguaggio di programmazione interpretato (ovvero eseguito direttamente dal computer o dal server senza la necessità di essere “tradotto” in linguaggio macchina), creato in origine per lo sviluppo di pagine web dinamiche. Oggi trova applicazione soprattutto nella creazione di applicativi web sul fronte server, ma può essere utilizzato anche per la realizzazione di script a riga di comando e programmi stand-alone ad interfaccia grafica.

Per molti versi, questo linguaggio di programmazione deriva la sua sintassi dal C e da Perl. Si tratta di un linguaggio a tipizzazione debole – è possibile modificare il tipo di una variabile anche nel corso dell’esecuzione del programma stesso – e sostanzialmente di alto livello (ovvero con una sintassi, semantica e grammatica molto simili a quelle del linguaggio umano).

La creatura di Rasmus Lerdorf è in grado di interfacciarsi con diverse tipologie di database: dal MySQL al Microsoft SQL Server passando per MariaDB, Oracle e molti altri ancora. Supporta, inoltre, numerose tecnologie web come il linguaggio di markup XML, i protocolli di comunicazione SOAPIMAPFTP e lo standard per sistemi distribuiti CORBA.

La storia di PHP

Lo sviluppo di questo linguaggio di programmazione ebbe inizio nel 1994, quando Rasmus Lerdorf era alle prese con la creazione di script Common Gateway Interface (“Interfaccia comune per gateway” in italiano) in Perl da utilizzare per gli aggiornamenti periodici del suo sito web. Questi piccoli tool svolgevano compiti tutto sommato semplici e ripetitivi come mostrare il suo curriculum vitae e registrare il numero di visitatori alla sua pagina personale.

Successivamente Lerdorf decise di riscrivere da capo gli script, utilizzando il linguaggio C anziché Perl. Questo per due motivi principali: prima di tutto per migliorare le prestazioni degli script e, in secondo luogo, per estendere le loro capacità sino a renderli in grado di interagire con altri form web presenti nel sito e comunicare con i vari database legati alle sue pagine. Per questo motivo lo sviluppatore canadese decise di chiamare questo nuovo linguaggio – nato dall’ibridazione di C con Perl – Personal Home Page/Forms Interpreter o PHP/FI.

Con questa configurazione, il PHP/FI poteva essere utilizzato per sviluppare piccolissime applicazioni web dinamiche. La prima release pubblica del linguaggio – chiamata “Personal Home Page Tools (PHP Tools) version 1.0” – servì a Lerdorf per scoprire bug eventualmente sfuggiti al suo occhio e migliorarne sintassi e semantica. Venne rilasciata l’8 giugno 1995, dopo quasi dodici mesi di lavoro serrato.

Inizialmente il PHP non era pensato – né tantomeno realizzato – per essere un linguaggio di programmazione a sé stante. Con il passare del tempo, e al crescere della comunità di sviluppatori web che lo utilizzava, si decise di dare una sistematizzazione al corpus di funzioni e script realizzati. Da questo lavoro nacque la seconda release di PHP/FI, lanciata nel novembre 1997.

La seconda versione, però, non ebbe grande fortuna e fu sostituita nell’arco di pochi mesi. Grazie al lavoro dei programmatori Zeev Suraski e Andi Gutmans, il parser di PHP fu riscritto completamente, rendendolo più efficiente e funzionale. Ciò portò al rilascio di PHP 3.0 nel giugno 1998.

Una volta rilasciata la terza versione del linguaggio di programmazione per il web, Suraski e Gutmans iniziarono a lavorare sulla riscrittura del core di PHP. Ciò portò allo sviluppo del cosiddetto Zend Engine, motore di scripting che interpreta il linguaggio e lo traduce in pagine web. La quarta release di PHP, “spinta” dallo Zend Engine, fu rilasciata il 22 maggio 2000, sostituita quattro anni dopo (circa) da PHP 5.0.

Rispetto alla precedente, la nuova versione presentava varie novità: dal supporto migliorato per il paradigma della programmazione orientata agli oggetti al PHP Data Object (un’estensione che fornisce un’interfaccia grafica leggera ma efficace per accedere a database).

Copyright © CULTUR-E

Architettura Client / Server

Client / Server

In informatica il termine sistema client-server  (letteralmente cliente-serviente) indica un’architettura di rete nella quale genericamente un computer client o terminale si connette ad un server per la fruizione di un certo servizio, quale ad esempio la condivisione di una certa risorsa hardware/software con altri client, appoggiandosi alla sottostante architettura protocollare.

Più semplicemente, i sistemi client/server sono un’evoluzione dei sistemi basati sulla condivisione semplice delle risorse: la presenza di un server permette ad un certo numero di client di condividerne le risorse, lasciando che sia il server a gestire gli accessi alle risorse per evitare conflitti di utilizzazione tipici dei primi sistemi informatici.

Esempi di sistemi client/server:

Che cos’è la tecnologia lato server?

Una tecnologia lato server è usata nello sviluppo di siti con elementi dinamici e nelle applicazioni web; si basa sull’uso di script che vengono eseguiti dal web server con l’aiuto dei linguaggi di scripting più adatti, quando un client richiede i contenuti corrispondenti. Spesso il compito degli script è quello di raccogliere i giusti dati da un database ed inserirli nel sito web. L’utente vi accede tramite pagine HTML, ma il codice sorgente degli script rimane completamente nascosto e non è quindi visionabile.

L’uso di questi script lato server presuppone che il client continui a inviare altre richieste al web server per far arrivare agli utenti le nuove informazioni modificate. Ciò significa da una parte un sovraccarico delle capacità del server, cosa che si ripercuote sui tempi di risposta del web server, e dall’altra prevede una connessione esistente al server, indispensabile per far visualizzare l’offerta web.

Agli albori del World Wide Web gli script lato server avvenivano quasi esclusivamente quando gli sviluppatori scrivevano i programmi in C ed eseguivano script in Perl o dalla riga di comando. Queste applicazioni venivano eseguite ed interpretate dal sistema operativo del server, in modo da poter trasmettere il risultato del web server tramite una Common Gateway Interface (CGI) al browser richiedente. Molti web server moderni possono nel frattempo eseguire gli script direttamente, ad esempio grazie ad appositi moduli. Oggigiorno il linguaggio di scripting lato server più utilizzato è PHP, cioè il linguaggio di programmazione rilasciato nel 1995 e che si basa molto su C e Perl.

Che cos’è la tecnologia lato client?

Anche la tecnologia lato client viene utilizzata dagli sviluppatori web per realizzare progetti con contenuti dinamici. A differenza della variante lato server, gli script non vengono però programmati dal server, bensì elaborati ed eseguiti dal client richiedente. Per questo si integrano gli script nel documento HTML o XHTML o si scrivono in un file separato, che si collega al documento. Se l’utente apre una pagina o un’applicazione web con uno script lato client, il web server invia un documento HTML e uno script al browser, che lo esegue e presenta il risultato finale. Gli script lato client possono inoltre contenere istruzioni concrete per il browser, indicando ad esempio come devono reagire a precise azioni dell’utente o ad un click su un pulsante. Spesso non è necessario che il client stabilisca un nuovo contatto con il web server.

Visto che gli script vengono eseguiti nel browser dell’utente, è possibile visionare il codice sorgente, al contrario di quanto avviene per gli script lato server. L’interpretazione di questi script presuppone che il linguaggio di programmazione corrispondente venga capito dal browser. Dato che anche finestre pop-up e strumenti di tracking si basano su script lato client e ne influenzano così i tempi di caricamento, ci sono diverse estensioni per il browser che bloccano questi script.

Il linguaggio di scripting lato client più importante è JavaScript, che è stato sviluppato dal predecessore di Mozilla, Netscape, e rilasciato nel 1995 con la versione precedente del browser Navigator 2.0, conosciuto all’epoca con il nome di LiveScript. Si è diffuso velocemente ed è diventato così un linguaggio di scripting universale per tutti i browser comuni.

Da citare è anche Shockwave Flash (SWF), nonostante presenti delle limitazioni significative: il linguaggio orientato agli oggetti è un componente importante del Flash Player di Adobe, che è stato per molto tempo il software principale per tutti i video nel World Wide Web. Per via di diverse falle di sicurezza e dello sviluppo di nuove tecniche, come HTML5, i video e le animazioni Flash, un tempo molto diffuse, sono ormai sempre meno utilizzate. Agli inizi del web erano anche molto popolari tecnologie quali Microsoft Silverlight e Java applet.

Script lato client vs. script lato server

Il luogo di esecuzione degli script ha un’influenza notevole sulla struttura dei progetti web. Se la maggior parte degli script vengono trasmessi dal browser, il sito o l’applicazione web saranno più “leggeri” per il server, visto che non è responsabile della loro esecuzione. Così le risorse server vengono notevolmente alleggerite, anche se si possono verificare riduzioni della performance per gli utenti che vi accedono.

Basandosi solo su JavaScript, che è una tecnologia lato client, gli sviluppatori devono fare i conti con una maggiore complessità perché molti meccanismi di framework efficienti, come ASP.NET, devono riprodurre il modello MVC.  Altri problemi nascono dal fatto che, sempre nel caso di script lato client, si viene informati che il rispettivo browser supporta i linguaggi di scripting utilizzati con tutte le funzionalità e che l’utente non usa estensioni che ne bloccano l’uso.

Per evitare di far sovraccaricare il client o il server, dovreste cercare di trovare un buon compromesso tra script lato server e lato client e preoccuparvi di attuare misure aggiuntive, come il caching dei contenuti statici e utilizzare tecnologie moderne come AJAX, per fare in modo che il vostro progetto web si carichi il più velocemente possibile.

L’ultima tecnologia citata è un’abbreviazione per “Asynchronous JavaScript and XML“, che descrive la possibilità della trasmissione dei dati asincrona tra client e server. Senza dover caricare completamente la pagina ogni volta, il web server può reagire alle richieste e agli input dell’utente quasi in tempo reale e scambiare così i dati con il browser. Un classico esempio per la messa in atto della tecnica AJAX sono i Google Suggests, cioè i suggerimenti di ricerca di Google, che compaiono automaticamente sul motore di ricerca mentre si scrive una parola chiave.

Fonte: www.wikipedia.org