SlideShare una empresa de Scribd logo
1 de 12
Typescript: Javascript senza problemi.
Andrea Boschin
adam|factory
andrea@boschin.it
2013
json html5
Typescript: Javascript senza problemi.
andrea boschin
Javascript Story
andrea@boschin.it – adam|factory
1995
rel. 1.0
Netscape 2.0
IE 3.0
1998
rel. 1.3
ECMA 1 e 2.0
IE 4.0
2000
rel. 1.5
ECMA 3.0
IE 5.0 (jscript)
2005
rel. 1.6
ECMA 4.0
(ritirato)
2010
rel. 1.8.2
ECMA 5.0
????
rel. ?
ECMA 6.0
Typescript: Javascript senza problemi.
andrea boschin andrea@boschin.it – adam|factory
Javascript Today
Any Browser
Any Host
Any OS
Typescript: Javascript senza problemi.
andrea boschin andrea@boschin.it – adam|factory
Javascript Development
pro
• potente
• estensibile
• molte librerie
contro
• difficile
• poco manutenibile
• type unsafe
• oop incompleto
poco adatto ad applicazioni reali
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin
• E' un superset tipizzato di Javascript
• E' Open Source!
• il compilatore stesso è scritto in Typescript
andrea@boschin.it – adam|factory
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin
• starts with javascript
• tutto il codice javascript è anche codice typescript
• optional static types, classes and modules
• migliora leggibilità e manutenibilità del codice
• supporta sviluppo di applicazioni scalabili
• tutto il codice sparisce a runtime
• ends with javascript
• la compilazione genera Javascript
andrea@boschin.it – adam|factory
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin
Any Browser!
Any Host!
Any OS!
andrea@boschin.it – adam|factory
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin andrea@boschin.it – adam|factory
• allineato agli standard emergenti
• la sintassi è allineata con la proposta di Ecmascript 6.0
• output in Ecmascript 3.0/5.0
• è possibile scegliere l'outout mediante switch di compilazione
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin andrea@boschin.it – adam|factory
ace | amcharts | angularjs | async | backbone | bootbox | bootstrap | box2d | breeze
casperjs | cheerio | chosen | chrome | codemirror | commander | d3 | domo | durandal
easeljs | ember | express | fabricjs | fancybox | filesystem | flexslider | flot | foundation
gamepad | globalize | google | hammerjs | history | i18next | impress | jake | jasmine | jquer
| jqueryui | knockout | kolite | linq | marked | modernizr | mousetrap | mustache | node
preloadjs | phonegap | platform | quinit | raphael | requirejs | restify | rxjs | scroller | signalr
sinon | spin | storejs | sugar | swipeview | threejs | teechart | toastr | tween | underscore
unity | urijs | videojs | winjs
può usare qualunque libreria esistente!
https://github.com/borisyankov/DefinitelyTyped
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
DEMO
Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/
Typescript: Javascript senza problemi.
andrea boschin andrea@boschin.it – adam|factory
• play
• http://typescriptlang.org/playground
• download & docs
• http://www.typescriptlang.org/
• plugin Visual Studio 2012
• http://www.microsoft.com/en-us/download/details.aspx?id=34790
• source code
• http://typescript.codeplex.com/
Typescript: Javascript senza problemi.
andrea boschin
Contact me:
Company: adam | factory
UG http://xedotnet.org XeDotNet (Venezia Mestre)
email andrea@boschin.it
twitter @aboschin
facebook http://www.facebook.com/thelittlegrove
blog http://blog.boschin.it
site http://xamlplayground.org
xbox codeblock68
andrea@boschin.it – adam|factory

Más contenido relacionado

La actualidad más candente

Svelte the future of frontend development
Svelte   the future of frontend developmentSvelte   the future of frontend development
Svelte the future of frontend developmenttwilson63
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsk88hudson
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project worksFred Lin
 
A First Look at RedwoodJS
A First Look at RedwoodJSA First Look at RedwoodJS
A First Look at RedwoodJSAnthony Campolo
 
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Nat Weerawan
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDevelcz
 
Ipython notebook
Ipython notebookIpython notebook
Ipython notebook董 伟明
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOSFred Lin
 
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...WordCamp Sydney
 
Lightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atkLightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atkRomans Malinovskis
 
slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdwYue Liu
 
Netpie.io Generate MQTT Credential
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT CredentialNat Weerawan
 
Make web as webapp
Make web as webappMake web as webapp
Make web as webappFred Lin
 

La actualidad más candente (20)

Svelte the future of frontend development
Svelte   the future of frontend developmentSvelte   the future of frontend development
Svelte the future of frontend development
 
Npm scripts
Npm scriptsNpm scripts
Npm scripts
 
Headless BDD
Headless BDDHeadless BDD
Headless BDD
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scripts
 
Windows azure and linux
Windows azure and linuxWindows azure and linux
Windows azure and linux
 
Firefox os how large open source project works
Firefox os   how large open source project worksFirefox os   how large open source project works
Firefox os how large open source project works
 
Jamstack Denver
Jamstack DenverJamstack Denver
Jamstack Denver
 
A First Look at RedwoodJS
A First Look at RedwoodJSA First Look at RedwoodJS
A First Look at RedwoodJS
 
Node.js
Node.jsNode.js
Node.js
 
Javascript fullstasck
Javascript fullstasckJavascript fullstasck
Javascript fullstasck
 
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
Create connected home devices using a Raspberry Pi, Siri and ESPNow for makers.
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
 
Ipython notebook
Ipython notebookIpython notebook
Ipython notebook
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
 
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
Unscrambling An Omelette - How Companies Can Use WordPress Better - Jeremy Ke...
 
Lightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atkLightning talk teaching php to kids with atk
Lightning talk teaching php to kids with atk
 
slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdw
 
Netpie.io Generate MQTT Credential
Netpie.io Generate MQTT CredentialNetpie.io Generate MQTT Credential
Netpie.io Generate MQTT Credential
 
Make web as webapp
Make web as webappMake web as webapp
Make web as webapp
 
WebGL Awesomeness
WebGL AwesomenessWebGL Awesomeness
WebGL Awesomeness
 

Destacado

à Descoberta da democracia
à Descoberta da democraciaà Descoberta da democracia
à Descoberta da democraciaEliana Lopes
 
Mutley greenbank anti social behaviour project
Mutley greenbank anti social behaviour projectMutley greenbank anti social behaviour project
Mutley greenbank anti social behaviour projectlocalinsight
 
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo Farina
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo FarinaTech Webinar: Muoversi nella jungla dei contratti del software - Massimo Farina
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo FarinaCodemotion
 
Insight to child poverty
Insight to child povertyInsight to child poverty
Insight to child povertylocalinsight
 
Lab Handson: Polymer, your first app
Lab Handson: Polymer, your first appLab Handson: Polymer, your first app
Lab Handson: Polymer, your first appCodemotion
 
Teardown wearable fitness_device_martin_mate
Teardown wearable fitness_device_martin_mateTeardown wearable fitness_device_martin_mate
Teardown wearable fitness_device_martin_mateJoel Martin
 
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015Codemotion
 
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...Codemotion
 
Make sense of your big data - Pilato
Make sense of your big data - PilatoMake sense of your big data - Pilato
Make sense of your big data - PilatoCodemotion
 
Tech webinar: Polymer & Web Components Quick Start
Tech webinar: Polymer & Web Components Quick StartTech webinar: Polymer & Web Components Quick Start
Tech webinar: Polymer & Web Components Quick StartCodemotion
 
Hardware Hacking Chronicles: IoT Hacking for Offence and Defence
Hardware Hacking Chronicles: IoT Hacking for Offence and DefenceHardware Hacking Chronicles: IoT Hacking for Offence and Defence
Hardware Hacking Chronicles: IoT Hacking for Offence and DefenceFatih Ozavci
 
DEF CON 23: Internet of Things: Hacking 14 Devices
DEF CON 23: Internet of Things: Hacking 14 DevicesDEF CON 23: Internet of Things: Hacking 14 Devices
DEF CON 23: Internet of Things: Hacking 14 DevicesSynack
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)Fatih Ozavci
 
The many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareThe many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareStocker Partnership
 
Transylvanian Werkstaette in Cognitive City Oradea
Transylvanian Werkstaette in Cognitive City OradeaTransylvanian Werkstaette in Cognitive City Oradea
Transylvanian Werkstaette in Cognitive City OradeaDan Romescu
 
Hacking autonomous things, from automobile through IoT to biohack
Hacking autonomous things, from automobile through IoT to biohackHacking autonomous things, from automobile through IoT to biohack
Hacking autonomous things, from automobile through IoT to biohackDan Romescu
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergDr. Mazlan Abbas
 

Destacado (20)

à Descoberta da democracia
à Descoberta da democraciaà Descoberta da democracia
à Descoberta da democracia
 
Mutley greenbank anti social behaviour project
Mutley greenbank anti social behaviour projectMutley greenbank anti social behaviour project
Mutley greenbank anti social behaviour project
 
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo Farina
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo FarinaTech Webinar: Muoversi nella jungla dei contratti del software - Massimo Farina
Tech Webinar: Muoversi nella jungla dei contratti del software - Massimo Farina
 
Insight to child poverty
Insight to child povertyInsight to child poverty
Insight to child poverty
 
Lab Handson: Polymer, your first app
Lab Handson: Polymer, your first appLab Handson: Polymer, your first app
Lab Handson: Polymer, your first app
 
Teardown wearable fitness_device_martin_mate
Teardown wearable fitness_device_martin_mateTeardown wearable fitness_device_martin_mate
Teardown wearable fitness_device_martin_mate
 
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015
Hacking your doorbell - Karl-Henrik Nilsson - Codemotion Rome 2015
 
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...
The magic world of Advanced Persistent Threat - Andrea Pompili - Codemotion M...
 
Make sense of your big data - Pilato
Make sense of your big data - PilatoMake sense of your big data - Pilato
Make sense of your big data - Pilato
 
Tech webinar: Polymer & Web Components Quick Start
Tech webinar: Polymer & Web Components Quick StartTech webinar: Polymer & Web Components Quick Start
Tech webinar: Polymer & Web Components Quick Start
 
Hardware Hacking Chronicles: IoT Hacking for Offence and Defence
Hardware Hacking Chronicles: IoT Hacking for Offence and DefenceHardware Hacking Chronicles: IoT Hacking for Offence and Defence
Hardware Hacking Chronicles: IoT Hacking for Offence and Defence
 
DEF CON 23: Internet of Things: Hacking 14 Devices
DEF CON 23: Internet of Things: Hacking 14 DevicesDEF CON 23: Internet of Things: Hacking 14 Devices
DEF CON 23: Internet of Things: Hacking 14 Devices
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)
VoIP Wars: Destroying Jar Jar Lync (Unfiltered version)
 
IoT for Healthcare
IoT for HealthcareIoT for Healthcare
IoT for Healthcare
 
The many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in HealthcareThe many faces of IoT (Internet of Things) in Healthcare
The many faces of IoT (Internet of Things) in Healthcare
 
IoT in Healthcare
IoT in HealthcareIoT in Healthcare
IoT in Healthcare
 
Transylvanian Werkstaette in Cognitive City Oradea
Transylvanian Werkstaette in Cognitive City OradeaTransylvanian Werkstaette in Cognitive City Oradea
Transylvanian Werkstaette in Cognitive City Oradea
 
Hacking autonomous things, from automobile through IoT to biohack
Hacking autonomous things, from automobile through IoT to biohackHacking autonomous things, from automobile through IoT to biohack
Hacking autonomous things, from automobile through IoT to biohack
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
 

Similar a Typescript: Javascript senza problemi by Andrea Boschin

Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in styleDefconRussia
 
Single Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem systemSingle Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem systemSynerzip
 
Practical guide for front-end development for django devs
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devsDavidson Fellipe
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankDavid Amend
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceIntel® Software
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Ethan Ram
 
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.UA Mobile
 
From HTML to pixels on the Screen
From HTML to pixels on the ScreenFrom HTML to pixels on the Screen
From HTML to pixels on the ScreenIgor Talic
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterCodemotion
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyKyle Drake
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Maximiliano Firtman
 
Brad Enterprise Solution Architect
Brad Enterprise Solution ArchitectBrad Enterprise Solution Architect
Brad Enterprise Solution ArchitectBrad Travis
 

Similar a Typescript: Javascript senza problemi by Andrea Boschin (20)

Node azure
Node azureNode azure
Node azure
 
Kettunen, miaubiz fuzzing at scale and in style
Kettunen, miaubiz   fuzzing at scale and in styleKettunen, miaubiz   fuzzing at scale and in style
Kettunen, miaubiz fuzzing at scale and in style
 
Single Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem systemSingle Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem system
 
Practical guide for front-end development for django devs
Practical guide for front-end development for django devsPractical guide for front-end development for django devs
Practical guide for front-end development for django devs
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript Performance
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
 
From HTML to pixels on the Screen
From HTML to pixels on the ScreenFrom HTML to pixels on the Screen
From HTML to pixels on the Screen
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
 
WebUSB
WebUSBWebUSB
WebUSB
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 
Brad Enterprise Solution Architect
Brad Enterprise Solution ArchitectBrad Enterprise Solution Architect
Brad Enterprise Solution Architect
 
Sexy React Stack
Sexy React StackSexy React Stack
Sexy React Stack
 
DevDay 2018 - Blazor
DevDay 2018 - BlazorDevDay 2018 - Blazor
DevDay 2018 - Blazor
 

Más de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Más de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Typescript: Javascript senza problemi by Andrea Boschin

  • 1. Typescript: Javascript senza problemi. Andrea Boschin adam|factory andrea@boschin.it
  • 2. 2013 json html5 Typescript: Javascript senza problemi. andrea boschin Javascript Story andrea@boschin.it – adam|factory 1995 rel. 1.0 Netscape 2.0 IE 3.0 1998 rel. 1.3 ECMA 1 e 2.0 IE 4.0 2000 rel. 1.5 ECMA 3.0 IE 5.0 (jscript) 2005 rel. 1.6 ECMA 4.0 (ritirato) 2010 rel. 1.8.2 ECMA 5.0 ???? rel. ? ECMA 6.0
  • 3. Typescript: Javascript senza problemi. andrea boschin andrea@boschin.it – adam|factory Javascript Today Any Browser Any Host Any OS
  • 4. Typescript: Javascript senza problemi. andrea boschin andrea@boschin.it – adam|factory Javascript Development pro • potente • estensibile • molte librerie contro • difficile • poco manutenibile • type unsafe • oop incompleto poco adatto ad applicazioni reali
  • 5. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin • E' un superset tipizzato di Javascript • E' Open Source! • il compilatore stesso è scritto in Typescript andrea@boschin.it – adam|factory
  • 6. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin • starts with javascript • tutto il codice javascript è anche codice typescript • optional static types, classes and modules • migliora leggibilità e manutenibilità del codice • supporta sviluppo di applicazioni scalabili • tutto il codice sparisce a runtime • ends with javascript • la compilazione genera Javascript andrea@boschin.it – adam|factory
  • 7. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin Any Browser! Any Host! Any OS! andrea@boschin.it – adam|factory
  • 8. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin andrea@boschin.it – adam|factory • allineato agli standard emergenti • la sintassi è allineata con la proposta di Ecmascript 6.0 • output in Ecmascript 3.0/5.0 • è possibile scegliere l'outout mediante switch di compilazione
  • 9. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin andrea@boschin.it – adam|factory ace | amcharts | angularjs | async | backbone | bootbox | bootstrap | box2d | breeze casperjs | cheerio | chosen | chrome | codemirror | commander | d3 | domo | durandal easeljs | ember | express | fabricjs | fancybox | filesystem | flexslider | flot | foundation gamepad | globalize | google | hammerjs | history | i18next | impress | jake | jasmine | jquer | jqueryui | knockout | kolite | linq | marked | modernizr | mousetrap | mustache | node preloadjs | phonegap | platform | quinit | raphael | requirejs | restify | rxjs | scroller | signalr sinon | spin | storejs | sugar | swipeview | threejs | teechart | toastr | tween | underscore unity | urijs | videojs | winjs può usare qualunque libreria esistente! https://github.com/borisyankov/DefinitelyTyped
  • 10. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ DEMO
  • 11. Except where otherwise noted, this work is licensed under: http://creativecommon.org/licenses/by-nc-sa/3.0/ Typescript: Javascript senza problemi. andrea boschin andrea@boschin.it – adam|factory • play • http://typescriptlang.org/playground • download & docs • http://www.typescriptlang.org/ • plugin Visual Studio 2012 • http://www.microsoft.com/en-us/download/details.aspx?id=34790 • source code • http://typescript.codeplex.com/
  • 12. Typescript: Javascript senza problemi. andrea boschin Contact me: Company: adam | factory UG http://xedotnet.org XeDotNet (Venezia Mestre) email andrea@boschin.it twitter @aboschin facebook http://www.facebook.com/thelittlegrove blog http://blog.boschin.it site http://xamlplayground.org xbox codeblock68 andrea@boschin.it – adam|factory

Notas del editor

  1. Ricordoancoraquelgiorno in cui, seduto al binario 3 dellastazione di mestre, leggevo un articolo di unarivistacheparlava di un nuovo linguaggio di Netscape, introdotto in IE3 da Microsoft: tale Javascript. Parlo di circa 15/17 annifaperciòcapireteilmiostupore a parlarequest’oggi di un argomentochemette le sue basisuunatecnologiavecchia di un paio di ere geologiche in termini informatici. Michiamo Andrea Boschin, sono Microsoft MVP, e devo dire che a partire da quelperiodo ho da sempreapprezzatoJavascript per la enormipossibilitàche mi ha dato di arricchirel’interfacciautente.
  2. In effetti, da quei giorni in cui Javascript era poco più che una bella idea, che però già due giganti si contendevano, il linguaggio ha visto alti e bassi, determinati soprattutto dal fatto che è stato oggetto di interpretazioni e incompatibilità che ne hanno condizionato il successo nei primi anni e lo hanno relegato a un secondo piano, spesso in mano ai grafici che ai programmatori. Tuttavia, oggi, dopo tre standardizzazioni e un fallimento (4.0) Javascript sta vivendo una nuova giovinezza data non solo dalle indubbie capacità, ma soprattutto dal un fatto importante:
  3. Javascript oggi è a tutti gli effetti l’unica tecnologia in grado di garantire il write-once run-everywhere di Javistica memoria.Tanto è vero che a fianco all’indiscutibile «Any Browser» e «Any OS» si sta affiancando anche «Any host» individuando con questo la possibilità di eseguire anche codice server-side (es: node.js)
  4. Javascript è un linguaggio che nasconde una potenza ed espressività che pochi conoscono a fondo, ha delle capacità di estensibilità invidiabili e soprattutto ad oggi gode di un numero di librerie impressionante e in continua crescita.Purtroppo Javascript tutt’ora conserva un numero di problemi che devono essere tenuti in seria considerazione da chi si debba approcciare allo sviluppo. La sua potenza ed espressività nascondono una complessità notevole che spesso si trasforma in trucchi che rendono il codice poco manutenibile. Non dimentichiamo inoltre il suo modello di OOP basato su prototipi che omette dei concetti fondamentali quali il polimorfismo e l’incapsulamento.Infine, alla base di gran parte dei problemi il fatto che Javascript non dispone di un controllo statico dei tipi, che è vitale se si vuole evitare che il codice scoppi nel momento meno opportuno e cioè davanti al cliente. Su questa base Javascript è un linguaggio poco adatto allo sviluppo di applicazioni nel mondo reale a meno che non si dispongano di forze pressochè illimitate come «Google» o «Microsoft».
  5. E’ sostanzialmente per questi motivi che Microsoft sta tuttora lavorando su un linguaggio nuovo che mantenga l’espressività di Javascript senza perdere i numerosi vantaggi.Typescript è il nome di questo linguaggio, di cui oggi vi volglio parlare, giunto alla versione 0.8.2. E’ un linguaggio che è un superset di javascript, il cui compilatore stesso è open source e sviluppato in Typescript. Tanto è vero che il compilatore è in grado di essere eseguito nel browser, ma dobbiamo considerare questa una pura curiosità perché, non c’è davvero alcuna necessità che questa compilazione avvenga all’interno del browser:
  6. Vediamo di chiarire:Il primo assunto è ce qualunque codice Javascript è un sorgente Typescript perfettamente valido. Se prendete un codice esistente e lo passate al compilatore esso verrà digerito senza alcun errore.Typescript, in quanto superset vi consente di aggiungere a Javascript una serie di costrutti tipici della programmazione ad oggetti. Tipi, classi, moduli, interfacce. Tutto questo consente di scrivere codice molto manutenibile, riutilizzabile, etc..Una volta che il compilatore ha elaborato questo codice vi darà in output nuovamente del Javascript che può essere eseguito in qualunque host che supporti Javascript: => Any…Any…Any…
  7. Quindi…. Pochi secondi per questa slide….