Per un lungo periodo la creazione di siti Web tramite software prodotti dalla Microsoft è stata legata ad un programma che probabilmente tutti conoscono: FrontPage. FrontPage non ha mai riscosso grande successo presso gli sviluppatori: povero in termini di funzioni, poco pulito per quanto riguarda il markup, più adatto alla creazione di siti statici che allo sviluppo di pagine contenenti codice dinamico.
Le stesse "estensioni per FrontPage" che questo programma metteva a disposizione per la dinamizzazione di alcune procedure sono rimaste poco sfruttate.
Se invece parliamo di linguaggi di scripting, la casa di Redmond ha associato per anni il suo nome a quello di ASP, che ha si riscosso un ottimo successo presso gli sviluppatori ma è stato infine abbandonato in favore di una nuova tecnologia (o meglio di un insieme di tecnologie) come ASP.net ricca di classi, controlli e strumenti per lo sviluppo. Per via delle sue particolari caratteristiche, ASP.net si allontana molto da quelle che erano le dinamiche di scrittura del codice di ASP e molti sviluppatori hanno scelto di passare a PHP per le numerose analogie nel funzionamento.
I tecnici della Microsoft si sono probabilmente accorti di questa tendenza e hanno deciso di mettere a disposizione degli sviluppatori uno strumento come Expression Web al fine di colmare due lacune:
- creare un software per la creazione di pagine Internet che potesse dimostrarsi competitivo rispetto alla concorrenza (vedi Dreamweaver) e più avanzato del vetusto FrontPage;
- supportare il lavoro degli sviluppatori permettendo loro di produrre applicazioni per il Web, anche in una tecnologia non strettamente legata ad architetture Microsoft .
La versione 2 di Expression Web (la versione 1 è stata recensita anche su ICTv), tuttora in fase di beta, aggiunge alle tecnologie supportate anche PHP.
Expression Web e PHP
Chi desiderasse provare la versione 2 di Expression Web può farlo gratuitamente scaricando la beta pubblica disponibile dal sito ufficiale della Microsoft. L'installazione del programma funziona esattamente come quella di ogni altro software e durante la procedura non verranno richieste particolari abilità in fase di configurazione (praticamente automatica). L'unico requisito fondamentale per l'utilizzo del software è un sistema operativo Windows Xp o Vista e l'installazione della versione 3.5 del Framework .NET, fondamentale per il funzionamento del programma.
Una volta terminata la procedura di installazione sarà possibile avviare il software, visualizzare l'interfaccia e utilizzare gli strumenti messi a disposizione da Expression Web.
Nel presente articolo ci occuperemo in particolare delle funzioni che questo software mette a disposizione dello sviluppo in PHP. Vediamo innanzitutto quali sono gli strumenti che Expression Web promette di fornire a chi utilizza questo linguaggio Open Source:
- possibilità di effettuare l'anteprima delle pagine senza dover ricorrere ad un server di sviluppo separato o all'upload tramite Ftp delle pagine in uno spazio Web con supporto PHP;
- sintassi colorata personalizzabile per evidenziare le diverse componenti del linguaggio (funzoni, variabili, costanti etc.);
- funzioni per l'auto-completamento del codice grazie ad una tecnologia IntelliSense in grado di suggerire le funzioni e i costrutti da utilizzare a seconda del tipo di script o porzione di listato che si intende realizzare;
- possibilità di inserire snippets (frammenti di codice) sia in tramite l'interfaccia visuale che tramite la vista codice, stesso discorso per quanto riguarda l'utilizzo delle inclusioni e la modifica dei listati.
Vediamo ora in dettaglio come si comporta Expression Web con il nostro linguaggio di scripting.
Gli strumenti di Expression per PHP
Espression Web 2 (anche se parliamo pur sempre di una beta), non è prioritariamente un editor PHP; il programma è destinato in particolare alla creazione di pagine Web HTML + CSS e applicazioni ASP.net; basta un semplice tour delle funzioni messe a disposizione di default dall'interfaccia per rendersi conto di questa particolarità.
Prendiamo per esempio il toolbox laterale sulla destra:
Sono a disposizione strumenti per l'inserimento dei tags HTML, per la gestione dei moduli form, per l'inserimento di elementi multimediali (non manca Silverlight) nelle pagine e per l'aggiunta di controlli ASP.net; funzioni ed opzioni dedicate a PHP sono completamente assenti. Stesso discorso per quanto riguarda il secondo menu dello stesso box, quello dedicato alla "Data Source Library" che permette l'aggiunta di file file XML come base per le informazioni o la creazione di connessioni ASP.net; anche in questo caso non sono disponibili strumenti dedicati a PHP.
È invece abbastanza semplice la procedura di configurazione per l'anteprima dei file realizzati in PHP; sarà sufficiente recarsi sulla sezione Tools del menu principale e da li andare su Application Options… / General per trovare un semplice pulsante Sfoglia… con cui indicare all'applicazione il percorso all'eseguibile PHP:
Il riferimento all'eseguibile è presente anche in un'altra voce di menu Site / Site / Settings Preview che permette di stabilire per quali pagine Web dovrà essere utilizzato il Microsoft Expression Development Server; in questo caso sarà possibile applicare l'anteprima tramite server soltanto alle pagine realizzate in PHP o ASP.net oppure a tutte le pagine di un sito Web.
La raccolta più vasta di strumenti per lo scripting PHP la troviamo invece nel percorso Insert / PHP che ci permette di raggiungere alcune funzioni per l'inserimento rapido di frammenti di codice. L'elenco delle scorciatoie per la digitazione non è lunghissimo e si riassume nella schermata presente nell'immagine successiva:
Niente di eccezionale per chi è abituato a lavorare con editor del livello di PHPedit, PHP Maker o PHP Expert, ma in ogni caso si tratta di un valido aiuto per lo sviluppatore, in particolare quando si trova a dover digitare ripetutamente costrutti abbastanza comuni per questo linguaggio.
Ma veniamo agli strumenti di supporto per la scrittura del codice PHP.
La scrittura del codice
Durante la digitazione del listato si avranno a disposizione gli opportuni aiuti in linea che suggeriranno la modalità corretta per il completamento dei costrutti come per esempio il giusto modo di passare gli argomenti alle funzioni:
Per quanto riguarda la capacità di gestire le eccezioni, l'applicazione mostra di riuscire a rilevare errori macroscopici quando questi affliggono il codice, nell'immagine seguente vediamo per esempio come un delimitatore di apertura scorretto determini l'evidenziazione di tutto il codice:
Quando invece l'errore diventa leggermente più insidioso a livello sintattico, come per esempio la pur grave mancanza di una parentesi di chiusura, l'applicazione non è al momento in grado di rilevare l'eccezione:
Conclusione
Expression Web 2 si presenta come un buon prodotto dal punto di vista dell'editing HTML e se si parla di sviluppo di applicazioni basate su ASP.net mette a disposizione un set di strumenti che probabilmente pochi prodotti concorrenti possono vantare.
Per quanto riguarda invece il supporto per la programmazione orientata al Web in PHP, probabilmente la strada da compiere è ancora lunga; l'apprezzabile sforzo di integrare strumenti dedicati a questo linguaggio Open Source trova però un limite nelle funzioni disponibili ancora molto limitate. Il programma è però ancora in fase beta (peraltro molto stabile), quindi la release definitiva potrebbe anche presentare delle interessanti sorprese.