Aggreghiamo le notizie italiane sull'Open Source
XSLT è un linguaggio che consente di effettuare trasformazioni, tramite la manipolazione di un file xml di partenza e secondo uno schema scelto, di documenti xml in altri formati (xml con diversa strutturazione, file di testo semplice, HTML, PDF, RTF.. e chi più ne ha più ne metta).
Detta così sembra una cosa da nulla. Lo pensavo anche io inizialmente ma mi sono ricreduto negli ultimi giorni quando mi è venuto in mente come utilizzare tale linguaggio per semplificarmi la vita.
Dopo averlo usato per generare codice Java da un file XML per il progetto di Programmazione Avanzata mi sono reso conto che la strada della programmazione generativa tramite XSLT si presta in modo particolare per la automazione di compiti particolarmente ripetitivi e monotoni.
Da buon programmatore pigro (e sviluppatore Java soprattutto in ambito Enterprise) ci sono 2 cose in particolare che mi caratterizzano:
Bene sull’esempio di XAML per WPF (una delle poche cose che veramente invidio a .NET) mi son detto: “Perché non descrivere anche in Java le interfaccie con un simpatico documento xml?”.
Risposta: “Inventiamoci un insieme di tag che effettuino il wrap dei principali componenti Swing e creiamo delle regole con XSLT per generare il codice che dovremo altrimenti scrivere a manina!!”.
Si esistono anche gli ambienti RAD (Matisse per NetBeans e VisualDesigner per Eclipse sono alcuni..) ma a me piace vedere le cose con mano e poi il mio fine ultimo non è esattamente la fase di Wrapping
Al momento, in circa 2 giorni, ho reso funzionali gli oggetti: JPane, JButton, JFrame, JLabel, JTextField, JPasswordField, JComboBox, BorderLayout e BoxLayout.
Non ci ho lavorato moltissimo ma già in questo modo devo dire che il risparmio di tempo per scrivere un interfaccia è abbastanza alto.
Accennavo prima al fine ultimo.. bene avete presente sempre in XAML (ma anche in JavaFX) il simpaticissimo Pad che consente di visualizzare on-the-fly l’interfaccia mentre viene descritta senza necessità di avviare l’applicazione? Bene il passo ultimo sarà quello. Per ora l’idea è di realizzarlo utilizzando un browser e delle append di condice javascript ma prima di arrivare a ciò voglio avere una buona traduzione dei componenti e dei layout principali nel mio nuovo “linguaggio di descrizione”.
Naturalmente il linguaggio al momento non consente il bind tra eventi e componenti, questa parte sarà una delle ultime affrontate, ma in linea di principio l’intenzione è di lavorare a livello di View non di Controller: il mini-framework non voglio che si disperda perdendo organicità al momento.
Stay Tuned!