Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
Il TechAdvisor Michelangelo Uberti spiega come realizzare un servizio di Database-as-a-Service basato su MySQL e Docker.
I punti trattati durante la presentazione sono:
- DB-as-a-Service: la semplicità del concept
- I possibili approcci
- Architettura di alto livello
- Focus sul Management Agent
- Orchestration at work
- Da cgroups a Docker
- Le sfide principali
- Quale futuro?
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/dbaas-con-docker-un-caso-di-studio
DbUp è una libreria .NET che facilita il deploy delle modifiche allo schema del database di una applicazione. Tiene traccia degli scripts SQL che sono già stati applicati ed esegue gli script di modifica, necessari ad effettuare la migrazione del database.
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
Presenting Modern C++ AKA cppwinrt
Demos:
https://github.com/raffaeler/cppwinrt_demo1
https://github.com/raffaeler/cppwinrt_demo2
Sviluppare un'applicazione web basata su ASP.NET Core nel mondo reale con Visual Studio Code
Codice della demo:
https://github.com/robymes/JoinTheExpert-WebDay
In questo talk farò vedere il primo approccio ad Elixir in un semplice caso reale. Vedremo cosa significa sviluppare un piccolo servizio in Elixir e quanto l'ecosistema sia pronto per andare in produzione.
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Carlo Milanesi, nel Linux Day dedicato al coding, presenta una rassegna dei principali linguaggi di programmazione presenti e passati. Dopo aver elencato i 30 linguaggi di programmazione più usati in assoluto, ha esposto quali di essi sono più usati per scrivere software open-source. Inoltre, per ogni linguaggio, ha esposto per quali ambiti applicativi risultano preferibili, in base alle loro caratteristiche tecniche e commerciali.
Emiliano Vavassori e Paolo Asperti, soci del BgLUG, presentano il progetto Linux va a scuola che il BgLUG sta portanto avanti dal 2015 per portare Linux ed il software libero nelle scuole. Diversamente dalle preceneti slides, queste espongono il progetto da un punto di vista puramente tecnico. Sono stati spiegati i requisiti tecnici e descritte le tecnologie e le logiche implementative utilizzate per fornire la soluzione descritta al mattino. Tra questi, Ansible, PXE Boot, Edubuntu, Epoptes, Git e ovviamente la distribuzione server NethServer Linux della quale ci siamo innamorati per efficienza e semplicità di utilizzo.
Paolo Finardi e Fabio Fusili presentano il progetto "Linux va a scuola" del Bergamo Linux Users Group durante il Linux Day 2016.
Il progetto ha lo scopo di supportare le scuole che vogliono migrare i laboratori informatici dal software proprietario al software libero diventando parte attiva nella diffusione della cultura della condivisione.
Nella presentazione sono descritti gli obiettivi, i motivi per cui questa scelta è importante e l'evoluzione che il progetto sta avendo. Sono state, inoltre, elencate le funzionalità pratiche che contraddistinguono la soluzione che implementiamo nei laboratori delle scuole.
Si parla di IcedTea, della macchina virtuale Java completamente libera e degli altri strumenti. Vengono spiegate le differenze tra l’approccio con interprete, compilatore e macchina virtuale. Si racconta di quali macchine virtuali ci sono per quali linguaggi. Vengono descritte le peculiarità di IcedTea e si prendono in esame le differenze tra HotSpot Zero Assembly con la macchina virtuale di Oracle, HotSpot. Si parla di quali linguaggi possano essere compilati per macchina virtuale Java.
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Daniele Barcella "Kowalski", al Linux Day 2016, ha spiegato come si gestisce un progetto open-source. I motivi per i quali condividere un progetto e quali strumenti utilizzare per sviluppo, versionamento, testing. Non manca una panoramica sulle principali licenze open-source.
Introduzione alla traduzione e all’adattamento di siti web. Intervento di Marco Cevoli (Qabiria), per la Giornata del Traduttore 2014 - Pisa, 20 settembre 2014. Cenni sulle difficoltà insite nella cosiddetta localizzazione web, gli approcci più seguiti per superare gli ostacoli, breve panoramica sulle tipologie più comuni di siti web e analisi di un processo di localizzazione tipo, dal punto di vista del project manager che lo deve preventivare e organizzare, con particolare enfasi sulle fasi di estrazione e di reinserimento dei contenuti, solitamente critiche per l’intero processo, senza tralasciare un cenno all’avvento di nuove tecnologie lato-client che hanno rovesciato il paradigma tradizionale.
Building infrastructure as code with typescript and aws cdkAndrea Valentini
The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
O documento discute vários comandos de linha de comando no Linux utilizados para manipular texto, como cat, cut, fmt, head, join, nl, tac, tail e wc. O documento também discute brevemente sobre permissões de arquivos e diretórios e os comandos chmod e gzip para compactar arquivos.
In questo talk farò vedere il primo approccio ad Elixir in un semplice caso reale. Vedremo cosa significa sviluppare un piccolo servizio in Elixir e quanto l'ecosistema sia pronto per andare in produzione.
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Carlo Milanesi, nel Linux Day dedicato al coding, presenta una rassegna dei principali linguaggi di programmazione presenti e passati. Dopo aver elencato i 30 linguaggi di programmazione più usati in assoluto, ha esposto quali di essi sono più usati per scrivere software open-source. Inoltre, per ogni linguaggio, ha esposto per quali ambiti applicativi risultano preferibili, in base alle loro caratteristiche tecniche e commerciali.
Emiliano Vavassori e Paolo Asperti, soci del BgLUG, presentano il progetto Linux va a scuola che il BgLUG sta portanto avanti dal 2015 per portare Linux ed il software libero nelle scuole. Diversamente dalle preceneti slides, queste espongono il progetto da un punto di vista puramente tecnico. Sono stati spiegati i requisiti tecnici e descritte le tecnologie e le logiche implementative utilizzate per fornire la soluzione descritta al mattino. Tra questi, Ansible, PXE Boot, Edubuntu, Epoptes, Git e ovviamente la distribuzione server NethServer Linux della quale ci siamo innamorati per efficienza e semplicità di utilizzo.
Paolo Finardi e Fabio Fusili presentano il progetto "Linux va a scuola" del Bergamo Linux Users Group durante il Linux Day 2016.
Il progetto ha lo scopo di supportare le scuole che vogliono migrare i laboratori informatici dal software proprietario al software libero diventando parte attiva nella diffusione della cultura della condivisione.
Nella presentazione sono descritti gli obiettivi, i motivi per cui questa scelta è importante e l'evoluzione che il progetto sta avendo. Sono state, inoltre, elencate le funzionalità pratiche che contraddistinguono la soluzione che implementiamo nei laboratori delle scuole.
Si parla di IcedTea, della macchina virtuale Java completamente libera e degli altri strumenti. Vengono spiegate le differenze tra l’approccio con interprete, compilatore e macchina virtuale. Si racconta di quali macchine virtuali ci sono per quali linguaggi. Vengono descritte le peculiarità di IcedTea e si prendono in esame le differenze tra HotSpot Zero Assembly con la macchina virtuale di Oracle, HotSpot. Si parla di quali linguaggi possano essere compilati per macchina virtuale Java.
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Daniele Barcella "Kowalski", al Linux Day 2016, ha spiegato come si gestisce un progetto open-source. I motivi per i quali condividere un progetto e quali strumenti utilizzare per sviluppo, versionamento, testing. Non manca una panoramica sulle principali licenze open-source.
Introduzione alla traduzione e all’adattamento di siti web. Intervento di Marco Cevoli (Qabiria), per la Giornata del Traduttore 2014 - Pisa, 20 settembre 2014. Cenni sulle difficoltà insite nella cosiddetta localizzazione web, gli approcci più seguiti per superare gli ostacoli, breve panoramica sulle tipologie più comuni di siti web e analisi di un processo di localizzazione tipo, dal punto di vista del project manager che lo deve preventivare e organizzare, con particolare enfasi sulle fasi di estrazione e di reinserimento dei contenuti, solitamente critiche per l’intero processo, senza tralasciare un cenno all’avvento di nuove tecnologie lato-client che hanno rovesciato il paradigma tradizionale.
Building infrastructure as code with typescript and aws cdkAndrea Valentini
The AWS CDK is a software development framework to define cloud infrastructure as code and provision it through CloudFormation. The CDK integrates fully with AWS services and offers a higher-level object-oriented abstraction to define AWS resources imperatively. The CDK improves your end-to-end development experience because you get to use the power of modern programming languages to define your AWS infrastructure in a predictable and efficient manner.” You can build test and deploy a true Infrastructure as a Code architecture using Typescript. make Reusable code and enjoy the code completion feature of IDE’s to create your cloud Infrastructure.
O documento discute vários comandos de linha de comando no Linux utilizados para manipular texto, como cat, cut, fmt, head, join, nl, tac, tail e wc. O documento também discute brevemente sobre permissões de arquivos e diretórios e os comandos chmod e gzip para compactar arquivos.
Este documento es una liquidación de viáticos que incluye la información del comisionado, los gastos efectuados durante la comisión como hotel y alimentos, y el total de los viáticos devengados. Se proporcionan datos como el nombre del comisionado, su puesto, categoría y clave presupuestal, así como el periodo y lugar de la comisión.
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vediamo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs ed utilizzando come collante il framework Ionic per ottenere rapidamente applicazioni performanti con un look and feel analogo alle app native.
Node js: che cos'è e a che cosa serve?
oppure
Node.js
Dimmi con quale contorno ti posso mangiare?
All'interno di queste slide, 25 di numero e per essere esatti, cerco di rispondere ad alcune domande che ho ricevuto e riguardavano NodeJS. Mi auguro che siano di vostro gradimento e spero che vi siano utili.
Aspetto i vostri commenti qui sotto, in più potete trovare anche altre informazioni all'interno delle pagine di InsiDevCode (http://www.insidevcode.eu/)
Design for Developers: Introduction to Bootstrap 3John Bertucci
As web developers, we might not always have experience or training with principles of design. This presentation's goal is introduce some basic design principles and provide some resources to help developers create better designs or at least become more aware of design. Finally, the end of the presentation will introduce Bootstrap 3 in more of a workshop format. I'll show people who to add Bootstrap to their project and how easy it is to apply some basic design.
This document introduces TypeScript, a typed superset of JavaScript that compiles to plain JavaScript. It discusses TypeScript's installation, why it is used, main features like type annotations and classes, comparisons to alternatives like CoffeeScript and Dart, companies that use TypeScript, and concludes that TypeScript allows for safer, more modular code while following the ECMAScript specification. Key benefits are highlighted as high value with low cost over JavaScript, while potential cons are the need to still understand some JavaScript quirks and current compiler speed.
Titan is a scalable graph database that can distribute and query graph data across multiple machines. This presentation provides a general introduction to graph computing and Titan in particular. It also focuses on some recent development for Titan 0.9 and TinkerPop 3.
This presentation provides a brief overview on becoming a member of the Node.js Foundation. For more information, visit https://nodejs.org/en/foundation/members/.
This document provides an introduction to Bootstrap, an open-source front-end framework for building responsive mobile-first websites and web applications. It discusses the basics of web development using HTML, CSS, and JavaScript. It then explains what Bootstrap is, how to add it to a website, and how to use its grid system, forms, buttons, and other common elements. Resources for using, customizing and finding additional components for Bootstrap are also provided.
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDDotNetCampus
La recente affermazione in ambito web delle applicazioni rich basate su HTML5 e Javascript è diventato sorgente di una serie di librerie innovative e di strumenti che, se usati correttamente, possono semplificare enormemente lo sviluppo. In questa sessione sarà illustrato come sfruttare Typescript, in concomitanza con Angular e Bootstrap per realizzare applicazioni che sfruttino al massimo le possibilità dei browser e diano un feedback il più possibile simile alle applicazioni desktop.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
Come i fornitori di tecnologia della Pubblica Amministrazione possono rimanere informati sui progetti, proporre modifiche, chiedere chiarimenti e utilizzare gli strumenti messi a disposizione. Dal Piano Triennale al middleware per CIE. Da ANPR a SPID e dati.gov.it
Praticamente... AWS - Amazon Web ServicesSpeck&Tech
ABSTRACT: Il cloud non è una novità e l'offerta di servizi di AWS è molto ampia. Ma come sono usati nella pratica? Presentiamo in questo intervento due casi d'uso per una multinazionale ed i ragionamenti collegati alla complessità, architettura e convenienza, in un contesto complesso e distribuito.
BIO: Alberto Martinelli è laureato presso l'università di Trento in Informatica ed ha lavorato per alcune realtà locali trentine per clienti provinciali, nazionali ed internazionali. Esperto di architetture software su diverse scale, attualmente lavora presso Fincons come Manager e Solution Architect.
Ti hanno sempre detto che per creare dei processi bisogna scrivere codice?! Nel corso di questa live cercherò di mostrarvi come, grazie all'utilizzo di Azure Logic Apps, potete cominciare a crearli in modalità No-Code.
Le Azure Logic App sono un servizio offerto da Microsoft e presente sul proprio cloud: tramite una serie di "blocchi" potrete definire flussi, controlli e connettori semplicemente con un click da interfaccia visuale. Non dovrete scrivere del codice (se non poco e in modalità guidata) per raggiungere il vostro obiettivo!
Non passerò il tempo della live con tutta teoria. Vi mostrerò come creare, costruire , modificare e "sbagliare" una Logic App. Poco dopo, vi mostrerò una mia Logic App che opera su OneDrive introducendo in questo modo il concetto dei connettori per accedere a sistemi diversi.
Certo, sicuramente quello che vedremo un programmatore lo può scrivere via codice. Però perché escludere la possibilità di raggiungere certi obiettivi non utilizzando la programmazione?! Questo non vuol dire che il mondo del coding e quello delle Logic Apps siano incompatibili. Possono interagire benissimo tra di loro ed essere scambiati a piacere!
Ora – se volete conoscere il No-Code su Azure – non vi resta che unirvi alla live per avere una visione alternativa (e per tutti) alla programmazione.
E se vi chiedessi:
Cosa lega le ultime tendenze del cloud alla programmazione degli anni 80?
Quali sono le cose realmente importanti da tenere a mente quando si realizza un'applicazione?
Qual'è la strategia migliore per "inseguire professionalmente" le novità e non diventare rapidamente "obsoleto"?
Cosa si intende per "Pensiero Analogico e Azione Digitale"?
Questo e altro nel nuovo seminario di Pasquale Camastra (che si terrà presso la nostra sede il 14/09/2017 alle ore 17:30), che, questa volta nelle vesti di Evolutionary Architect, racconterà come affrontare le nuovissime tendenze delle Architetture Applicative in Cloud con lo spirito pionieristico di chi ha conosciuto l'informatica grazie al Commodor 64
"Alla ricerca della formula magica". Presentazione usata per il ciclo di webinar su traduzione e adattamento di siti web per AITI Emilia Romagna, novembre-dicembre 2016.
Code quality e test automatizzati con JavaScriptRoberto Messora
JavaScript è ormai ovunque nel mondo dello sviluppo web, è sbarcato persino sul server, la produzione di codice è aumentata a dismisura, framework e librerie sono spuntati come funghi, ma... siamo sicuri di mandare in produzione codice di qualità? quali strumenti e quali tecniche abbiamo a disposizione per aumentare la confidenza circa la bontà di ciò che scriviamo? Quali strategie possiamo adottare per migliorare il ciclo di vita delle nostre soluzioni e le attività di sviluppo?
In questa sessione proveremo a illustrare come organizzare la codebase di una tipica solution JavaScript, quali strategie adottare per migliorare la qualità del codice a cominciare dallo unit testing, quali strumenti utilizzare per automatizzare tutte le attività ripetitive a valle della scrittura del codice,
L'obiettivo è quello di proporre un modo per disciplinare le attività di sviluppo e rendere il più possibile confortevole la vita professionale dello sviluppatore web.
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
Con Azure Synapse abbiamo finalmente a disposizione un ambiente integrato in cui poter implementare compiutamente un modern Data Warehouse. Abbiamo ormai capito sul campo che non ha senso mettere in competizione fra di loro data lake e data warehouse, con Azure Synapse la piena collaborazione fra di loro diventa il punto di forza di una strategia sui dati che unifica in un unico ambiente data ingestion, data preparation e analytics.In questa sessione verrà mostrato come Azure Synapse permetta di fare tutto questo a partire dal dato grezzo proveniente dalle più svariate fonti dati.
Azure Data Factory: l'evoluzione della specie della data integrationRoberto Messora
Microsoft definisce Azure Data Factory come un servizio gestito di hybrid data integration, una descrizione fin troppo generica per una delle componenti più importanti della cloud data platform.
In questa sessione entreremo nel merito delle funzionalità offerte da Data Factory, degli scenari di data integration supportati e delle opzioni di security soprattutto in contesti ibridi cloud/on-premise.
Scopriremo che trasferire e trasformare dati nel cloud può essere semplice e relativamente poco costoso.
Analytics, machine e deep learning, data/event streaming
Big data streaming: abilitare la macchina del tempo
Real time event streaming e nuovi paradigmi concettuali:
- Transazioni distribuite
- Consistenza eventuale
- Proiezioni materializzate
Real time event streaming e nuovi paradigmi architetturali:
- Enterprise service bus
- Event store
- Database delle proiezioni
Cenni di Domain Driven Design: una visione strategica della modellazione del proprio dominio di business nell'era dei bi Data.
L'avvento dei container nello scenario IT ci fornisce una soluzione in più per il consolidamento dei nostri server di esercizio. In questa sessione vedremo come utilizzare Docker al fine di effettuare il deploy di una soluzione che utilizza alcune delle applicazioni più diffuse, sia on-premise che in-the-cloud, Azure o Amazon che sia, in modo da ridurre drasticamente l'incertezza dei side-effect di ambiente passando da uno all'altro.
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionRoberto Messora
Real time monitoring and Internet of Things are key success factors in many business activities.
In this presentation we will show how we solved a common issue in managing a large number of different types of event per second that contain some sort of geographical information.
We built a processing pipeline leveraging the high ingestion capabilities of Windows Azure Event Hub and Stream Analytics, then applying location analytics procedures with ArcGIS GeoEvent Processor.
In this way we can select just the informations we need to be processed by the ArcGIS platform, reducing the number of events and normalizing data content.
Abbiamo sdoganato JavaScript a tutti i livelli: è diventato un linguaggio di programmazione di prima classe e ne abbiamo cominciato a conoscere i segreti e le caratteristiche. Ma non basta, le applicazioni web client si fanno sempre più complesse e non è pensabile fare debug solo a colpi di F5 e Firebug. In questa sessione vi svelerò un segreto: anche in Javascript è possibile fare Unit Testing, darò alcune indicazioni su come organizzare la codebase in modo da farlo con intelligenza.
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione proveremo a capire che cosa sia una SPA a partire dal ruolo centrale che riveste Javascript sia in termini di librerie di base che di organizzazione del codice applicativo. Affronteremo anche temi inerenti la UI, i servizi di back-end, lo unit testing, la security, il mobile in modo da offrire un panorama completo di che cosa sia in effetti una SPA HTML5.
Javascript avanzato: sfruttare al massimo il webRoberto Messora
Javascript è uno dei linguaggi più sottovalutati e più incompresi dell'intero panorama dei linguaggi di programmazione, eppure è anche uno dei più utilizzati.
Da una parte le molteplici e differenti declinazioni degli strumenti di navigazione web, dall'altra l'infelice scelta storica di usare il termine "script", hanno contribuito alla creazione del mito di un linguaggio poco rigoroso, al servizio di ogni sorta di trucco o pezza di codice.
La verità invece racconta di un linguaggio dinamico ad oggetti a tutti gli effetti, con caratteristiche molto interessanti, seppur con qualche difetto, ma soprattutto un linguaggio che, sull'onda di HTML5, rivestirà se possibile ancora più importanza nell'immediato futuro.
In questa sessione verranno presentati aspetti poco conosciuti, ma molto importanti, di Javascript (scoping, hoisting, closures, ecc.), verranno presentati alcuni design patterns che permettono di strutturare in maniera intelligente le nostre librerie applicative in funzione della manutenibilità e delle performance, senza tralasciare, ove possibile, uno sguardo ad alcuni framework come jQuery o KnockoutJS.
Value Lab is an IT consulting company that delivers geospatial and location analytics solutions to customers. They were asked to provide these solutions to tablets and smartphones. Their solution uses a combination of technologies including ASP.NET MVC, WCF REST services, jQuery, jQuery Mobile, Knockout JS, and the ArcGIS JavaScript API. This allows them to deliver self-adaptive, geospatial web applications with a single codebase that detects the user's device and serves the appropriate mobile or desktop view.
Web technologies and patterns in HTML5 mappingRoberto Messora
Value Lab is a management consulting and IT solutions company that specializes in marketing, sales, and retailing. It developed a geomarketing solution called GeoIntelligence 5 using the ESRI ArcGIS platform and various Microsoft technologies. GeoIntelligence 5 was developed as a web application to be accessible on mobile devices and allow for customizations based on user accounts while maintaining performance and security.
Con l'avvento su scala globale di HTML5 le tecnologie web si sono evolute cercando di offrire all'utente una migliore esperienza applicativa sempre più simile a quella desktop. Sul piano tecnico questo viene realizzato spostando la logica di presentazione sul browser client facendo leva su Javascript e CSS3. In questa sessione vedremo come KnockoutJS, un presentation framework Javascript basato sul pattern Model-View-ViewModel, permette di sviluppare Rich Internet Application (RIA) analizzando le sue caratteristiche implementative e mostrando esempi di casi reali anche in ambito mobile.
MV* presentation frameworks in Javascript: en garde, pret, allez!Roberto Messora
HTML5 is the playing area, the strip, Javascript presentation frameworks are the fences and they are fierce and proud. In this presentation we will attend an interesting match between two of the emerging contenders in the MV* family: KnockoutJS and BackboneJS. We'll try to understand how they solve the same issues in modern web software development to better decide which one is suitable in our scenario.
3. Chi Sono
Software Engineer, ESRI & Azure Specialist
Divisione GIS
@
Consulenza di management e Information Technology sui temi
di Marketing,Vendite e Retailing
www.valuelab.it Business Partner
4. Topic take aways
• Focus: perchè TypeScript e perchè migrare/integrare una
soluzione JavaScript esistente a TypeScript
• Prerequisito: conoscenza basilare di TypeScript: sintassi,
costrutti
• Opzionale: per comprendere i concetti fondamentali, non è
necessario conoscere in dettaglio ogni strumento utilizzato nello
stack tecnologico delle demo (riferimenti in fondo alla presentazione)
• Goodies: Struttura real-world della soluzione demo
5. Nelle puntate precedenti
• CDays 2012: JavaScript avanzato: sfruttare al massimo il web
• CDays 2013: Usare Knockout.js
• CDays 2014: Single Page Applications: Come? Cosa? Perchè?
• CDays 2015: Code quality e test automatizzati con JavaScript
Disponibili sul sito dei Community Days: http://www.communitydays.it/events/
7. Agenda
• Chi siamo, da dove veniamo, dove andiamo: JavaScript
• TypeScript vive e lotta con noi
• Pronti, partenza, JavaScript
• Mamma, devo integrare TypeScript
8. Chi siamo, da dove veniamo: JavaScript
"JavaScript (in 1996) had to 'look like Java' only less so, be Java’s
dumb kid brother or boy-hostage sidekick. Plus, I had to be done in
ten days or something worse than JS would have happened."
"JavaScript (nel 1996) doveva 'sembrare Java', solo un po' meno, essere il suo fratellino
imbranato o il suo partner inesperto. In più dovevo essere pronto in dieci giorni o sarebbe
accaduto qualcosa di peggio di JavaScript stesso."
Brendan Eich, ideatore di JavaScript - 2010
9. TypeScript vive e lotta con noi (dal 2012)
• Linguaggio e strumenti per sviluppare applicazioni complesse
che scalano in grandi team di sviluppo (“JavaScript that
scales”)
• https://www.typescriptlang.org/
• Installazione (ultima versione 2.0.3): npm install -g typescript
• Transpiling verso JavaScript: tsc helloworld.ts helloworld.js
• Open source
• Inizia e finisce con JavaScript
• Supporta le ultime versioni di JavaScript ed anche alcune future
evoluzioni (async/await, decorators)
10. 1 Ottobre 2012
Anders Hejlsberg
Introducing TypeScript
Channel 9
http://bit.ly/2dqJ3NN
12. “Ma io ho un’applicazione JavaScript”
• Bello TypeScript, ma la mia azienda ha investito tempo,
formazione, personale e denaro per sviluppare un’applicazione
in JavaScript
• Dobbiamo migrare l’intera codebase? No.
• Quanto costa? Il tempo di imparare il linguaggio.
• Ci vogliono nuove competenze? No (anzi…).
13. Stack tecnologico sviluppo JavaScript
• npm: Node.JS Package Manager
• package.json
• Bower: Repository di librerie di terze parti
• bower.json
• Gulp: Task manager
• gulpfile.js
14. Stack tecnologico sviluppo JavaScript
• Karma: Test runner
• karma.js
• Jasmine: Unit testing
• Eslint: Linter, code quality, code standards
• .eslintrc.json
17. TypeScript Declaration File
• Scrittura manuale: generazione di un declaration file
per l’uso del JavaScript già sviluppato nel codice
TypeScript
• tsd: DefinetelyTyped (http://definitelytyped.org/),
repository github che raccoglie i declaration file delle
librerie JavaScript più usate
• tsd.json