bootstrap

Voci categorizzate come ‘php’

Finalmente la release ufficale di Ext 2.0

Dicembre 4, 2007 · 2 Commenti

untitled-1.gifEra ora ! Con quasi un mese di ritardo rispetto alle previsioni e’ finalmente uscita la versione definitiva della libreria JavaScript ExtJS 2.0.

Con le sue innovazioni, principalmente architetturali, rappresenta un grande passo avanti nella direzione di rich Internet application veramente complete e moderne.
In questa release migliora l’organizzazione del codice (in senso OO), la documentazione, le performance, la facilita’ di programmazione. In particolare tra le tante novita’ ho apprezzato il nuovo modello a componenti/container per l’interfaccia utente, molto piu’ object oriented del passato (ancora piu’ ispirato probabilmente agli usuali framework UI delle piattaforme Java e .NET).

Aumentano le funzionalita’ e i widget; da segnalare le griglie con raggruppamenti e totali, gli scrolling tabs (finalmente!), il layout di tipo anchor che permette appunto di ancorare i widget ad esempio ad un lato della form e tantissimo altro.
Consigliabile dare uno sguardo all’impressionante sample Desktop Sample App che getta le basi per un vero e proprio sistema operativo “remoto”.

Io e i miei colleghi stiamo studiando questo framework ormai da diversi mesi e lo stiamo utilizzando per lo sviluppo di una applicazione abbastanza imponente. Si tratta di un applicativo gestionale per l’organizzazione del lavoro di aziende che effettuano la raccolta differenziata dei rifiuti. Per chi e’ curioso ho pubblicato una demo molto preliminare. Ovviamente la libreria ExtJs 2.0 e l’approccio total AJAX ha un ruolo importantissimo: ci permette di realizzare software web based, con tutti i vantaggi che ne comporta, ma con look&feel simile ad un software desktop. In passato sviluppavamo applicazioni di questo tipo usando l’approccio tradizionale: PHP che genera normali pagine xhtml con form etc. Per quanto questo approccio vada benissimo per applicazioni specifiche e orientate ad Internet (ad es. un CMS o simile) e’ deleterio per lo sviluppo di applicazioni gestionali, soprattutto se si abbracciano metodologie agili che prevedano la prototipizzazione rapida: troppi dettagli di controllare. Una libreria di alto livello permette di astrarsi dei mille problemi dell’interfaccia utente e concentrarsi sulle business rules e sull’usabilita’ complessiva.

Posso tranquillamente affermare che Ext ha cambiato il modo di lavorare del nostro team in relazione a questo tipo di progetti aumentando di molto la produttivita’; per questo motivo sto investendo grandi energie nello studio di questa libreria. E si.. bisogna dire le cose come stanno: ExtJS e’ una libreria piuttosto vasta e complessa e ha di conseguenza una learning curve un po’ impegnativa, senza contare che necessita la perfetta comprensione di JavaScript cosa non scontata, ma e’ tempo ben speso. Dopo un po’ si incomincia a capire il modo corretto per affrontare qualsiasi problemi e si incomicia ad andare molto spediti…

Ovviamento Ext e’ una libreria client, il lato back office bisogna svilupparselo da se’ o trovarlo in rete, non importa in quale linguaggio o con quali strumenti: Ext e’ neutrale rispetto alla tecnologia lato server. Io ad esempio uso un framework PHP+MySQL sviluppato internamente, tutte le comunicazioni avvengono tramite JSON etc, ma volendo e’ possibile usare ad esempio ASP.NET con XML o qualsiasi altra cosa assurda vi venga in mente.

In definitiva consiglio vivamente Ext 2.0 a chiunque abbia bisogno di sviluppare, per lavoro o per hobby, applicazioni AJAX di qualsiasi grado di complessita’, in particolare modo se di tipo business/gestionale, purche’ abbia un po di tempo da investire nel suo apprendimento.

Categorie: extjs · javascript · php

Server2Go: un webserver nella chiavetta USB

Settembre 11, 2007 · 4 Commenti

Vi è mai capitato di dover distribuire una versione beta di una vostra applicazione PHP+Apache+ Mysql ad un cliente o dover mostrare il vostro portfolio di applicazioni o siti web ? A me si, ed è sempre un problema: si può installare tutto l’insieme di programmi sul PC del cliente (cosa spesso non fattibile per molti motivi…) o cercare di installare l’applicazione su un server pubblico, cosa tipicamente pericolosa e poco pratica trattandosi di codice spesso non ancora definitivo, dunque mi sono messo a cercare e ho scovato un’ottima distribuzione WAMP (Windows Apache Mysql PHP) portatile: Server2Go.

Server2Go è un completo ambiente PHP che praticamente gira su una chiavetta USB senza “inquinare” il PC; è costantemente aggiornato e completo di tutto: Apache 2.0.58, Mysql 5.0.41, PHP 5.2.3 e SQLite 2;

Download Server2Go
Scarica Server2Go

Ecco come si usa: è sufficiente scompattare il file che si trova nella sezione download su una comune chiavetta USB da 256MB o masterizzare il tutto su CDROM, è completamente autonoma e non necessita dunque di installazione. Per avviare la distribuzione è sufficiente eseguire un normale EXE.

Con questa operazione viene avviato un server Apache sulla porta 4001 e un server Mysql sulla porta 7188 (in ogni caso sono configurabili), cosa che scongiura conflitti con server già presenti sul PC. L’ambiente è già preconfigurato con l’ultima versione di PHP zeppo di ogni sorta di estensione o modulo aggiuntivo (ne esiste anche una versione lite con lo stretto necessario). Tramite il file pms_config.ini è inoltre possibile personalizzare il tutto in molti modi: per fare alcuni esempi si può cambiare lo splash-screen con una propria immagine png o decidere di eseguire all’avvio un certo browser che punta direttamente ad un determinato URL o cose del genere.

E’ distribuito con licenza donationware il che significa che possiamo distribuirlo gratuitamente senza problemi ma per un uso commerciale si ha l’obbligo “morale” di effettuare una donazione a piacere, cosa che inoltre permette di scaricare alcuni programmi in più quali un browser semplificato, SimpleBrowser, privo della barra e dei menu e dei vari orpelli: si tratta di un container nel quale viene fatto girare il motore di Internet Explorer che permette di trasformare una web application in una specie di applicazione desktop..

Insomma una soluzione efficace ad uno dei tanti problemi che capitano al povero sviluppatore….

Categorie: WAMP · apache · mysql · php · server