francesco.strazzullo Francesco Strazzullo

Faccio il Front-end developer per e-xtrategy dove mi occupo di applicazioni AngularJS e mobile. In passato ho lavorato principalmente con applicazioni con stack Spring+Hibernate+JSF 2.X+Primefaces. Sono tra i collaboratori del progetto Primefaces Extensions: suite di componenti aggiuntivi ufficialmente riconosciuta da Primefaces. Sono anche uno dei fondatori del progetto MaterialPrime: una libreria JSF che segue le direttive del Material Design di Google. 

All articles by francesco.strazzullo

 

Test end-to-end con Nightwatch.js

C’è una categoria di test che spesso sono snobbati dagli sviluppatori: i test end-to-end (E2E). Per test end-to-end si intende un test che copre l’intero flow dell’applicazione integrando tutti gli elementi di cui è composta. In questo post ci occuperemo in particolare di test E2E di un’applicazione web, in questo caso questi test sono detti anche UI o funzionali. In...
Continue reading...  

Introduzione a PixiJS

In questi ultimi anni le possibilità messe a disposizione per gli sviluppatori Web da parte del W3C sono aumentata a dismisura. Basti pensare alle Web Animations API oppure le Speech Recognition e Speech Synthesis API. Una delle “nuove” API più importanti, secondo chi vi scrive, è WebGL. In pratica le WebGL sono un porting di OpenGL utilizzabile in ambiente web....
Continue reading...  

JavaScript Proxies

Qualche tempo fa abbiamo ospitato un ottimo post sulle novità di EcmaScript 6. Ovviamente lo scopo di quel post era introduttivo e non ha esplorato tutte le nuove funzionalità messe a disposizione dal nuovo standard. Tra queste una delle più interessanti è l’introduzione dei Proxies. Il Proxy è uno dei design pattern classici definiti dalla Gang of Four nel loro...
Continue reading...  

Web Animations API

L’avvento del CSS3 ha aggiunto la possibilità creare animazioni tramite foglio di stile. Il tutto avviene tramite le parole chiave animation e keyframes. Per capire il funzionamento delle animazioni CSS vediamo questo semplice esempio. Come vedete tramite la proprietà animation definiamo il nome dell’animazione e la sua durata. Tramite invece keyframes definiamo quali sono gli stati di cui l’animazione stessa...
Continue reading...  

Ionic 2: prime impressioni

Nel mondo frontend da qualche settimana si parla sempre più spesso di Angular2, nuova versione del famosissimo framework di Google. Ad oggi siamo alla 2.0-rc5 e ci stiamo avvicinando alla versione 2.0 final. Parallelamente il team di Ionic sta portando avanti i lavori su Ionic 2, basato per l’appunto su Angular2. Di Ionic abbiamo già parlato in precedenza, ma per...
Continue reading...  

Primi passi con Electron

Qualche tempo fa ho avuto il privilegio di poter tenere una lezione all’università di Camerino per il corso di Programmazione Web. La lezione intitolata “Modern Web Development” ha toccato vari argomenti tra cui JavaScript. La prima slide riguardante il famoso linguaggio di scripting recitava: Javascript is the new Java A parte l’apertura ad effetto, il messaggio che ho voluto passare...
Continue reading...  

Google Maps JavaScript API: StreetView

Nel mio ultimo post abbiamo visto come utilizzare le API Javascript di Google Maps che ci permettono di aggiungere mappe interattive nelle nostre web application. In questa seconda carrellata di esempi ci occuperemo dell’integrazione con un’altra parte delle API: quella che ci permette di integrare Google StreetView. Posizione e POV L’oggetto alla base di StreetView è il panorama. Vediamo subito...
Continue reading...  

Screencast su Polymer: disponibile la registrazione

Mercoledì 25 Maggio abbiamo registrato un nuovo Screencast su Polymer. Lo speaker della serata è stato Massimo Biagioli che ci ha illustrato le varie caratteristiche di questo framework basato su Web Components. Molte le domande del pubblico, che hanno anche scatenato un bel confronto tra me, Andrea Como e lo stesso Massimo sulle differenze tra Polymer, Angular e React. Video...
Continue reading...  

Screencast su Polymer: mercoledì 25 Maggio alle ore 22

Mercoledì 25 Maggio 2016 alle ore 22, ci sarà il primo screencast sotto il nostro nuovo brand. L’argomento sarà Polymer, libreria per lo sviluppo di web applications rilasciato da Google che da qualche tempo ha raggiunto la versione 1.0. Lo speaker della serata sarà Massimo Biagioli. La formula sarà la solita: un hangout live con la possibilità di intervenire dal...
Continue reading...  

Google Maps JavaScript API

Google Maps JavaScript API Google Maps è personalmente uno dei servizi Google che utilizzo di più al pari di Gmail e Hangouts. Proprio il successo di questo servizio ha fatto sì che le mappe di BigG in versione embedded siano apparse in una marea di siti e applicazioni web. Se avete bisogno di un’interazione maggiore tra la vostra webapp e...
Continue reading...  

A Ferrara per il primo Universal JS Day

A Ferrara per il primo Universal JS Day Sabato 16 Aprile a Ferrara si terrà il primo Universal JS Day. La conferenza organizzata da Ferrara JS vuole esplorare l’utilizzo di Javascript al di fuori delle classiche applicazioni Web. È un dato di fatto che ad oggi Javascript sia uscito dai browser e sia utilizzato ormai anche per sviluppo backend con...
Continue reading...  

da Flux a Redux

da Flux a Redux In uno dei miei ultimi post ho parlato di Flux: un pattern alternativo a MVC sviluppato dagli ingegneri di Facebook. In questo nuovo articolo analizzerò Redux, nuovo pattern ideato da Dan Abramov che da molti è considerato un’evoluzione di Flux. Per cogliere meglio le differenze tra i due pattern affronteremo in Redux lo stesso problema affrontato...
Continue reading...  

Creazione di un plugin per Apache Cordova

Creazione di un plugin per Apache Cordova Di solito nello scegliere un framework per creare app mobile multipiattaforma ci si basa quasi esclusivamente sulla semplicità d’uso. In realtà la vera killer feature di questa tipologia di framework è un’altra: l’estendibilità attraverso plugin. Il motivo della centralità di questa caratteristica è presto detto: qualsiasi framework decideremo di utilizzare non potrà coprire...
Continue reading...  

React-native

React Native Nei miei ultimi post mi sono occupato di React: framework frontend creato da Facebook che è ormai l’ultima moda in fatto di sviluppo web. React-native è un progetto parallelo il cui scopo è quello di creare applicazioni native iOS e Android. Il risultato non sarà infatti un’applicazione ibrida in stile Apache Cordova ma una vera e propria applicazione...
Continue reading...  

MaterialPrime

MaterialPrime Con questo post vorrei presentarvi un progetto Java Server Faces: MaterialPrime. Come il nome può far intuire si tratta di una suite di componenti ispirati al MaterialDesign di Google basati su PrimeFaces che da qualche anno a questa parte è diventata uno standard de facto dei progetti JSF. All’indirizzo www.materialprime.com potete trovare lo showcase con i componenti fino ad...
Continue reading...  

Sviluppare applicazioni con React e Flux

Sviluppare applicazioni con React e Flux Nel mio precedente post ho introdotto React: ultimo framework front-end creato da Facebook. In questo nuovo post tratterò Flux: un pattern architetturale che si pone come sostituto del ben più noto Model View Controller. Flux è il pattern che regge il front-end web di Facebook, ed è quindi il pattern di riferimento per applicazioni...
Continue reading...  

Screencast su Ionic: disponibile la registrazione

Screencast su Ionic: disponibile la registrazione Martedì 9 Giugno abbiamo registrato un secondo screencast. Questa volta è stato tenuto da me e l’argomento è stato Ionic: framework per lo sviluppo di applicazioni ibride che mette insieme Apache Cordova e AngularJS. Anche questa volta abbiamo utilizzato Hangout on air che ci ha permesso di interagire con gli utenti, infatti abbiamo avuto...
Continue reading...  

React

React In questo post parleremo di React: nuova libreria, creata da Facebook, da utilizzare nel front-end di applicazioni web. Si pone come diretto concorrente di AngularJS e soprattutto del futuro AngularJS 2. Implementeremo insieme la classica todo-list per cercare di capire insieme quali sono le principali caratteristiche di queste nuove API. Caratteristiche Uno dei concetti più interessanti di React è...
Continue reading...  

Live screencast su Ionic: martedì 9 Giugno ore 22

Live screencast su Ionic: martedì 9 Giugno ore 22 Martedì 9 giugno alle 22 faremo un live screencast su Ionic, framework per lo sviluppo di applicazioni mobile ibride di cui abbiamo già parlato in un precedente post. Analizzeremo insieme un’applicazione di esempio e cercheremo di capire quali sono le caratteristiche di Ionic e del suo ecosistema. La formula sarà la...
Continue reading...  

Spring-retry

Spring-retry Spring-retry è uno dei tanti side-project di Spring: famoso framework utilizzato per la dependency injection. Questa libreria ci permette di rilanciare metodi in maniera automatica, rendendo inoltre questa operazione trasparente al resto dell’applicazione. In questo post cercherò, tramite 3 semplici esempi, di illustrarvi le caratteristiche principali di questa libreria. Setup Per aggiungere spring-retry ad un progetto basta aggiungere la...
Continue reading...  

RxJava, Ionic, Chromecast e Scala agli AppDays 2015

AppDays 2015 Il prossimo 25 e 26 Aprile all’interno della 50° fiera del Radioamatore a Pordenone si svolgeranno gli AppDays 2015. Una manifestazione il cui scopo è quello di raccogliere varie community di sviluppatori e mettere in mostra le migliori tecnologie per il web e il mobile. Anche noi di CNJ parteciperemo come speaker negli spazi dedicati a Google Developer...
Continue reading...  

Hello Ionic

Hello Ionic In questo articolo parleremo di Ionic: un framework per creare app ibride. Un’app ibrida è in pratica un’app multipiattaforma che gira all’interno di una WebView e sono quindi sviluppate utilizzando HTML, CSS e Javascript. Il framework principe per la creazione di questa tipologia di app è Apache Cordova, grazie a questa libreria possiamo interfacciarci con il nostro dispositivo...
Continue reading...  

Form dinamiche con PrimeFaces

Form dinamiche con PrimeFaces Nell’ultimo post ho cercato di spiegare come ottenere delle datatable dinamiche con PrimeFaces e la Reflection. In questo nuovo articolo utilizzeremo la stessa tecnica per creare delle form di dettaglio dinamiche. Per fare ciò utilizzeremo il componente DynaForm del progetto PrimeFaces Extensions. Come potete vedere nei vari esempi presenti nello showcase, la DynaForm è utile quando abbiamo...
Continue reading...  

Datatable dinamiche con PrimeFaces

In questo articolo ci occuperemo di come utilizzare la Reflection per estrarre dei modelli PrimeFaces dai nostri POJO. Nel caso specifico andremo a creare una dataTable dinamica utilizzando il componente p:columns. Setup Lavorare con la Reflection può rendere il codice abbastanza verboso e di difficile lettura. Fortunatamente esiste una libreria che ci aiuta tantissimo quando dobbiamo utilizzare questa tecnica. Il primo passo...
Continue reading...  

Creare un back-end REST con Spark

In questo piccolo tutorial analizzeremo Spark: micro-framework per creare servizi REST. Analizzeremo insieme come esporre una risorsa REST utilizzando GSON per la conversione di un model in JSON. Vedremo inoltre come aggiungere CORS e autenticazione al nostro server....
Continue reading...