Angular è una piattaforma per lo sviluppo di applicazioni web nata dai laboratori Google e disponibile con licenza open source.
Negli anni è diventato un strumento molto potente e versatile, utile non solo per la scrittura di SPA (Single Page Application), ma anche per lo sviluppo di applicazioni mobile e addirittura desktop.
In questa giornata su Angular “e dintorni”, vedremo infatti come Angular possa essere impiegato per lo sviluppo web, per realizzare app mobile (anche con diversi approcci, in particolare confronteremo NativeScript e Ionic) o applicazioni desktop grazie all’uso di Electron.
E, chicca della giornata, vedremo persino come generare un’intera SPA Angular usando un framework realizzato in C# (ma lo stesso sistema potrebbe essere “ricostruito” in qualsiasi linguaggio/tecnologia server-side). Un approccio non molto comune, ma che può dare notevoli vantaggi agli sviluppatori che hanno maggiore dimestichezza con i linguaggi “da backend”, come appunto il C#, e non hanno invece molta familiarità con le tecnologie per il frontend web. E che, cosa da non sottovalutare, permette inoltre di gestire con maggiore tranquillità le breaking changes introdotte di volta in volta nelle nuove major release di Angular.
Speakers
Michele Aponte è cofondatore e presidente della community DotNetCampania, con la quale organizza eventi tecnici inerenti le tecnologie Microsoft sul territorio campano.
Attualmente è cofondatore e CEO di Blexin Srl, dove si occupa di sviluppo web e mobile su piattaforma Microsoft.
E’ MCP, MCTS, MCPD e MCT. Dal 1 Gennaio 2011 è Microsoft MVP nella categoria Asp.Net/IIS
Software Architect wannabe: un ingegnere microelettronico con la passione dell’informatica.
Sempre pronto ad imparare, mettersi alla prova e condividere esperienze e quel poco di conoscenza acquisita nel corso del tempo.
Tra i fondatori delle community DotNetMarche e DevMarche, attivo come speaker ed organizzatore di eventi; negli ultimi anni scopro la passione per lo sviluppo di soluzioni basate su sistemi distribuiti.
Cofondatore della community DevMarche (e prima di allora di altri user group come DotNetMarche e XPUG Marche): si “diverte” ad organizzare eventi dedicati allo sviluppo software, soprattutto nelle amate Marche.
Attualmente è Sofware Architect in Smart mobile Srl, ma si occupa di mobile sin dai tempi di Palm OS.
Oltre al mobile, è particolarmente interessato alle metodologie agili e a Domain Driven Design.
Software developer in costante ricerca di nuove cose da imparare.
Nerd e gamer di vecchia scuola, con la passione per tutto ciò che può essere smontato, modificato e rimontato in modo diverso.
Spiccata propensione al collezionismo di vinili, fumetti, retroconsole e Lego.
Attualmente è sviluppatore software in Antos srl, dove segue il settore manufacturing e le tecnologie IoT e cloud.
Agenda
- 09.00 Registrazione partecipanti
- 09.30 Presentazione della giornata
- Presentazione della giornataPresentazione del DevMarche e delle sue attività, e overview delle sessioni della giornata previste in agenda
- 10.00 Sessione 1 Primi passi con Angular e TypeScript (Alessio Marinelli)Prima volta con Angular?
In questa sessione introduttiva vedremo le peculiarità chiave di Angular, celebre framework web di casa Google pensato per lo sviluppo di Single Page Applications, e TypeScript, il linguaggio di programmazione che estende JavaScript sviluppato da Microsoft per le grandi applicazioni. - 11.00 Sessione 2 Introduction to Reactive programming with RxJS (Alessandro Giorgetti)Mai sentito parlare di Reactive Programming?
Te la faccio breve, brevissima: è un “pattern architetturale” che promuove la costruzione di sistemi che siano Responsivi, Resilienti, Elastici ed Orientati ai Messaggi. Suona molto “roba da backend”… e invece no!
Possiamo creare anche delle “UI reattive”, come? Con librerie quali RxJS. Vedremo alcuni dei concetti che stanno alla base delle applicazioni reattive ed introdurremo RxJS, una delle più note librerie per Reactive Programming in JavaScript. - 11.30 Coffee break
- 12.00 Sessione 3 Angular meets Rx: an overview of ngrx (Alessandro Giorgetti)RxJS è una della librerie principali per Reactive Programming in JavaScript basata sull’Observable pattern e sugli Observables.
Occorre tuttavia “formalizzare” e fornire delle chiare linee guida per la costruzione di una UI Reattiva sfruttando le potenzialità offerteci da RxJS; @ngrx “Reactive libraries for Angular” fa proprio questo: mette a disposizione una serie di moduli e librerie che forniscono supporto ed implementazioni di riferimento per la creazione di applicazioni Event Driven (event sourcing applicato alla UI), gestione dello stato (seguendo il paradigma originariamente introdotto da Flux e Redux), degli “effetti collaterali” e tool di debugging. - 13.00 Lunch break
- 14.00 Ripresa dei lavori
- 14.15 Sessione 4
Un framework sul framework: generare una SPA dinamicamente in Angular partendo da un backend .NET (Michele Aponte)Avevamo la necessità di realizzare il pannello di amministrazione della nuova versione del nostro CMS in modo che fosse una SPA dinamica e pluggabile a partire dalle informazioni che arrivano dal back-end: abbiamo scelto Angular e abbiamo creato dei componenti che dinamicamente generano la UI sulla base dello schema JSON, generato dinamicamente a partire dalla classi del backend scritto in .NET.
Ne è venuto fuori un prodotto, che abbiamo chiamato Raptor, e che sarà presto rilasciato su GitHub come progetto open source. L’idea è mostrare come spingere Angular e .NET per automatizzare la generazione della UI in un sistema a plug-in che gestisca operazioni CRUD con logica business collegata mediante eventi sottoscrivibili e quindi personalizzabili.
Si daranno per conosciute le basi dei framework Angular e .NET. - 15.15 Sessione 5 Sviluppare applicazioni mobile con Angular e Typescript: NativeScript vs Ionic (Michele Aponte)Dopo aver investito su Angular per lo sviluppo web, possiamo riutilizzare quanto imparato per sviluppare app mobile per iOS e Android?
La risposta è si e possiamo scegliere, sulla base dei nostri requisiti, tra realizzare una app nativa con NativeScript o ibrida con Ionic.
Vedremo insieme potenzialità e limiti di entrambi gli approcci, cercando di capire quando scegliere uno piuttosto che l’altro, con un approccio molto pratico. - 16.15 Coffee break
- 16.45 Sessione 6 Realizzare Applicazioni desktop con Electron e Angular (Michele Aponte)Nonostante tutti dicano che il desktop è morto ci sono ancora tante applicazioni e utenti che vedono in una applicazione installabile sul proprio PC tanti vantaggi.
Con Electron possiamo sfruttare le nostre competenze web per realizzare una application desktop multipiattaforma, che può sfruttare features del sistema operativo a cui una app web non può accedere.
In questa sessione vedremo, con un approccio esclusivamente pratico, come realizzare con Electron e Angular una classica applicazione gestionale da installare sul nostro desktop. - 18.00 Chiusura dei lavori
Location
Università Politecnica delle Marche – Facoltà di Ingegneria
via Brecce Bianche 12, Ancona
Aula 160/3
https://goo.gl/maps/63DEhd7o8TP2
Sponsor
La giornata è realizzata in collaborazione con
Cena
A chiusura dell’evento e della stagione 2018 di attività del DevMarche stiamo organizzando una cena post-evento (il luogo sarà deciso anche in base al numero dei partecipanti).
Gli interessati a partecipare possono inviare una mail a info[@]dev.marche.it indicando nome, cognome ed eventuali preferenze e/o intolleranze alimentari (es. vegetariano, vegano, intollerante al lattosio, celiaco,…)
Registrazione
Per poter essere efficienti e garantire una buona organizzazione dell’evento dobbiamo purtroppo limitare il numero di partecipanti, per questo ti richiediamo di effettuare l’iscrizione se sono ancora disponibili dei posti.
L’evento è gratuito, ma la registrazione è obbligatoria. Se ti sei registrato ma non puoi partecipare (o hai cambiato idea) ti chiediamo di annullare la tua registrazione per liberare il tuo posto.