Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
Vue.js è un framework per creare interfacce utente estremamente performanti e che può essere introdotto progressivamente nelle vostre applicazioni Web, nel modo meno invasivo possibile. In questo talk scoprirete come utilizzarlo con Delphi creando una soluzione frontend e backend ad elevate prestazioni.
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaMarco Breveglieri
Slide del seminario sull'uso di React con Delphi e confronto con altre tecnologie (es. ExtJS) per lo sviluppo Web, tenuto al Delphi Day 2016 a Piacenza.
I sorgenti sono disponibili qui:
https://github.com/marcobreveglieri/conferences/tree/master/2016/delphi_day_2016
Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
Vue.js è un framework per creare interfacce utente estremamente performanti e che può essere introdotto progressivamente nelle vostre applicazioni Web, nel modo meno invasivo possibile. In questo talk scoprirete come utilizzarlo con Delphi creando una soluzione frontend e backend ad elevate prestazioni.
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaMarco Breveglieri
Slide del seminario sull'uso di React con Delphi e confronto con altre tecnologie (es. ExtJS) per lo sviluppo Web, tenuto al Delphi Day 2016 a Piacenza.
I sorgenti sono disponibili qui:
https://github.com/marcobreveglieri/conferences/tree/master/2016/delphi_day_2016
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
Come poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
Gli argomenti trattati durante il Workshop gratuito sull'ideazione e creazione di Web Applications con AngularJS:
- Metodologie innovative di ideazione e creazione di Web Applications;
- Sfide e problemi del lavoro in team;
- Introduzione ad AngularJS e alle sue componenti principali;
- Dimostrazione pratica di una WebApp
Angular 4 - convertire o migrare un'applicazione AngularjsGiovanni Buffa
Seminario renuto all'IRES di Udine sulla migrazione, attraverso UpgradeModule, o la riscrittura di un'applicazione AngularJs in una applicazione Angular 2/4
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Codemotion
Codemotion Rome 2015 - Costruiamo con Spring Boot una applicazione Java EE con transazioni multiple JDBC-JMS utilizzando H2 e HornetQ (embedded in memory), il supporto di autoconfiguration JAX-RS (Jersey), le annotazioni JSR 250 per i lifecycle hooks, e le annotazioni JSR 330 utilizzabili per AS proprietari e per la portabilità in container di dependency injection come Spring. Per finire distribuiremo su Undertow embedded HTTTP server, su un AS standalone (Apache TomEE) e come PAAS su Cloud Foundry.
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
Come poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
Gli argomenti trattati durante il Workshop gratuito sull'ideazione e creazione di Web Applications con AngularJS:
- Metodologie innovative di ideazione e creazione di Web Applications;
- Sfide e problemi del lavoro in team;
- Introduzione ad AngularJS e alle sue componenti principali;
- Dimostrazione pratica di una WebApp
Angular 4 - convertire o migrare un'applicazione AngularjsGiovanni Buffa
Seminario renuto all'IRES di Udine sulla migrazione, attraverso UpgradeModule, o la riscrittura di un'applicazione AngularJs in una applicazione Angular 2/4
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Codemotion
Codemotion Rome 2015 - Costruiamo con Spring Boot una applicazione Java EE con transazioni multiple JDBC-JMS utilizzando H2 e HornetQ (embedded in memory), il supporto di autoconfiguration JAX-RS (Jersey), le annotazioni JSR 250 per i lifecycle hooks, e le annotazioni JSR 330 utilizzabili per AS proprietari e per la portabilità in container di dependency injection come Spring. Per finire distribuiremo su Undertow embedded HTTTP server, su un AS standalone (Apache TomEE) e come PAAS su Cloud Foundry.
Fare con Zend Framework 2 ciò che facevo con ZF1Steve Maraspin
Introduzione a Zend Framework 2 per chi proviene da Zend Framework 1, tenuta allo Zend Framework Day di Milano del 01/02/2013. Introduzione alle nuove caratteristiche e pattern architetturali di ZF2
Zend Framework 2 non è l'evoluzione di ZF, ma un progetto nuovo: il codice è stato riscritto e poche sono le parti in comune con la versione precedente. Lo sviluppatore abituato a ZF1 non ha vita facile, ed è fondato il timore di dover imparare tutto da capo. In questo talk vediamo come cambiare le vecchie abitudini di sviluppatori ZF1, per sfruttare al meglio le potenzialità del nuovo strumento. Attraverso esempi concreti, in cui vedremo all'opera i nuovi pattern e le best practice, mostriamo come - partendo con il piede giusto - il passaggio a ZF2 possa essere meno traumatico del previsto. Il talk è orientato soprattutto a chi già conosce ZF1, ma gli argomenti affrontati possono essere utili anche a chi si avvicina a ZF per la prima volta.
Non Conventional Android Programming (Italiano)Davide Cerbo
Android è il nuovo sistema operativo open source per dispositivi mobili e realizzato da Google che si è posta la missione di rendere l’internet mobile accessibile a tutti tramite dispositi a basso costo.
Durante questo intervento mostrerò come sia possibile sviluppare per questo sistema operativo (e non solo) senza l’utilizzo di Java e come sia possibile utilizzare una versione light di Spring Framework nelle applicazioni mobili.
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftStefano Benedetti
Il pattern architetturale MVC (Model View Controller) favorisce la manutenzione delle applicazioni web tramite una architettura elegante ed una chiara ed esplicita separazione delle competenze, l'impiego dei più diffusi pattern di software engineering, il controllo completo dell'HTML generato e degli URL, la testabilità ed estendibilità.
In questa sessione vedremo le novità principali di Asp.Net MVC in versione 3.
La sessione è stata tenuta a SMAU Business Bologna il 9 giugno 2011
by Davide Cerbo e Stefano Linguerri
La programmazione web sta facendo passi da gigante e oggi l’utente si aspetta che l’esperienza di utilizzo si avvicini sempre di più a quella a cui è abituato nei classici applicativi desktop. Il mondo degli sviluppatori ha risposto inventanto una nuova sigla: RIA, cioè Rich Internet Application. Google non è stata a guardare e ha fornito la sua risposta a questa esigenza donando alla community Google Web Toolkit. Questo nuovo framework permette di sviluppare in Java tutta l’interfaccia utente per poi ottenere un codice javascript che funzionerà su qualsiasi browser web senza l’installazione di plugin aggiuntivi. In questa presentazione vedremo:
* perchè sviluppare applicazioni RIA
* perchè usare GWT
* come GWT utilizza AJAX per comunicare con il server
* le ottimizzazione che avremo utilizzando GWT
* come uscire dal browser con Google Gear e Mozilla Prism
* e non solo…
2. UN PO’ DI STORIA...
2011 -Jordan Walk e il suo team rilasciano ReactJS per la gestione del
newsfeed di Facebook
2012 - ReactJS viene utilizzato per realizzare Instagram
2013 - La libreria viene rilasciata come strumento open source
2015 - Viene rilasciato React Native, per lo sviluppo di app per dispositivi
mobili iOS e Android
3. Componenti riutilizzabili e componibili
Approccio dichiarativo
Sintassi JSX
Virtual DOM
Flusso dei dati unidirezionale
PRINCIPALI CARATTERISTICHE
14. PASSAGGIO DEI DATI: DAL PADRE AL FIGLIO
PADRE FIGLIO
PROPS ❏ Passaggio dei dati al figlio come
props dopo averli istanziati
❏ Richiamo dei dati nel figlio con
{this.props.dato}
16. LE PROPS
import React, { Component } from 'react';
class Item extends Component {
render() {
return (
<div>
<span
style={{textDecoration: this.props.item.completed?
'line-through': 'none'}}>
</span>
</div>
)
Componente
figlio “Item.js”
17. LE PROPS
import React, { Component } from 'react';
class Item extends Component {
render() {
return (
<div>
<span
style={{textDecoration: this.props.item.completed?
'line-through': 'none'}}>
<input type = "checkbox" onClick={()=>
this.props.handleClick(this.props.index)}/>
{ this.props.item.element }
</span>
</div>
)
Componente
figlio “Item.js”
18. class Item extends Component {
capitalize(item) {
let res = '';
for (let i = 0; i < item.length; i++) {
if(i === 0)
res += item[i].toUpperCase();
else
res += item[i].toLowerCase();
};
return res;
}
render() {
return (
...
<input type = "checkbox" onClick ={()=>
this.props.handleClick(this.props.index)}/>
{ this.capitalize(this.props.item.element) }
LE PROPS
Componente
figlio “Item.js”
Risultato:
19. PASSAGGIO DATI: DAL FIGLIO AL PADRE
❏ Definizione callback nel padre con in input i dati di cui ha bisogno
❏ Passaggio come props della callback al figlio
❏ Richiamo della callback in una funzione definita nel figlio
PADRE FIGLIO
20. ...
import AddItem
from '../AddItem/addItem'
class App extends Component {
...
addItem = (itemFromChild) => {
const newItem = {
element: itemFromChild,
completed: false
}
const items = this.state.items;
items.push(newItem);
this.setState({
items: items
})
...
render() {
return (
...
<AddItem
addItem={this.addItem}
/>
...
PASSAGGIO DATI: DAL FIGLIO AL PADRE
Componente
padre “App.js”
21. PASSAGGIO DATI: DAL FIGLIO AL PADRE
class AddItem extends Component {
constructor () {
super();
this.state = {
inputValue: ''
}
}
handleChange = (e) => {
this.setState(
{inputValue: e.target.value}
);
}
render() {
return (
<div className="addItem">
<form>
<input
value={this.state.inputValue}
onChange={this.handleChange }
/>
</form>
</div>
...
25. CONCLUSIONI
● Veloce
● Stabile
● Codice UI leggibile e
mantenibile
● Debug più semplice
● Dimensioni
● Lenta curva di
apprendimento
● È solo una libreria UI
JSX
PRO CONTRO
26. CONCLUSIONI
❏ Non rischioso
❏ Reattivo
❏ Avanzato
Soluzione ideale per costruire applicazioni con dati che cambiano
ripetutamente nel tempo.
27. VS - SIMILARITÀ
❏ Virtual DOM
❏ Architettura basata su componenti
❏ Hook life-cycle
❏ Props
❏ Strumenti di costruzione
❏ Chrome Devtools
28. VS - DIFFERENZE
REACT VUE
JSX Templating
Gestione dello stato Object Properties
React Native Weex
Configurazione più lunga Sintassi più intuitiva
40 KB 20.9 KB
1178 contributori 190 contributori