È uscita la release 1.0 da pochi giorni e non è chiaro se è una meteora o qualcosa che resterà sul mercato e ritaglierà una fetta della torta...ma proviamo a capire insieme cosa offre questo nuovo runtime per Javascript che vanta maggiore sicurezza rispetto a Node e la possibilità di utilizzare TypeScript...e non solo!
Creare una Progressive Web App in Angular è un processo semplice e potente. Vediamone tutte le caratteristiche messe a disposizione dal famoso framework frontend, per rendere le nostre Single Page Application pronte per lavorare offline, ricevere notifiche e tanto altro!
Repository GitHub: https://github.com/fsciuti/ng-pwa-conf-demo
Un talk che affronta gli aspetti principali di una Progressive Web App, dal Manifest ai Service Worker, passando da tutte le Web API utili per le app mobile del prossimo futuro.
Visual Studio Code è il editor di codice sorgente che rende subito produttivi grazie alla sua semplicità e leggerezza ed in questo talk troverete una panoramica, oltre a tip & tricks utili.
Il talk affronta il viaggio attraverso le PWA e dopo una panoramica sulle principali caratteristiche delle Progressive Web App, approfondisce tutti gli aspetti principali della realizzazione di una PWA in Angular.
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostriFrancesco Sciuti
Un talk dedicato agli aspetti più arcani di Angular tra i quali sono presenti alcuni mostri, che una volta conosciuti non fanno poi così tanta paura. Approfondiamo quindi alcuni aspetti della Change Detection di Angular, proviamo a capire a cosa serve e come funziona Zone.js e se sono presenti in giro altre creature o miti da sfatare!
Eccoci qui alla quinta puntata e serie di slide dedicate ad Android. Con questo quinto capitolo della saga andremo e soprattutto entreremo nel cuore della situazione.
Questa puntata vi porterò alla scoperta dei tutti quegli strumenti necessari e utili per lo sviluppo di un'applicazione per la piattaforma Android.
Come sempre anche queste slide finiranno con una folta lista di link utili allo scopo.
BUONA LETTURA
Una panoramica delle caratteristiche e delle possibilità che hanno reso Angular uno dei framework più importanti sulla scena frontend.
N.B. Le slides sono aggiornate sino ad Angular 6.
Creare una Progressive Web App in Angular è un processo semplice e potente. Vediamone tutte le caratteristiche messe a disposizione dal famoso framework frontend, per rendere le nostre Single Page Application pronte per lavorare offline, ricevere notifiche e tanto altro!
Repository GitHub: https://github.com/fsciuti/ng-pwa-conf-demo
Un talk che affronta gli aspetti principali di una Progressive Web App, dal Manifest ai Service Worker, passando da tutte le Web API utili per le app mobile del prossimo futuro.
Visual Studio Code è il editor di codice sorgente che rende subito produttivi grazie alla sua semplicità e leggerezza ed in questo talk troverete una panoramica, oltre a tip & tricks utili.
Il talk affronta il viaggio attraverso le PWA e dopo una panoramica sulle principali caratteristiche delle Progressive Web App, approfondisce tutti gli aspetti principali della realizzazione di una PWA in Angular.
Acadevmy - AngularDay 2018 - Change Detection, Zone.js ed altri mostriFrancesco Sciuti
Un talk dedicato agli aspetti più arcani di Angular tra i quali sono presenti alcuni mostri, che una volta conosciuti non fanno poi così tanta paura. Approfondiamo quindi alcuni aspetti della Change Detection di Angular, proviamo a capire a cosa serve e come funziona Zone.js e se sono presenti in giro altre creature o miti da sfatare!
Eccoci qui alla quinta puntata e serie di slide dedicate ad Android. Con questo quinto capitolo della saga andremo e soprattutto entreremo nel cuore della situazione.
Questa puntata vi porterò alla scoperta dei tutti quegli strumenti necessari e utili per lo sviluppo di un'applicazione per la piattaforma Android.
Come sempre anche queste slide finiranno con una folta lista di link utili allo scopo.
BUONA LETTURA
Una panoramica delle caratteristiche e delle possibilità che hanno reso Angular uno dei framework più importanti sulla scena frontend.
N.B. Le slides sono aggiornate sino ad Angular 6.
Ormai Ubuntu Touch, la versione mobile di Ubuntu è una realtà che possiamo toccare con mano. Infatti, questa distro è disponibile per alcuni device come Nexus 4, Nexus 7 2013 (solo versione WiFi) e Nexus 10, anche se deprecated, Ubuntu Touch gira anche su Galaxy Nexus e Nexus 7 2012 WiFi.
Poi c'è anche l'emulatore per Ubuntu Touch, insomma tutto quello che ci serve ormai è pronto e disponibile, quindi, per questo motivo ho deciso di mostravi come si fa a creare una piccola app per questo sistema operativo mobile.
È un semplice Hello World, tanto per cominciare, però andando avanti proverò a pubblicare anche altre slide dedicate a questo argomento.
Come sempre mi auguro che anche questo nuovo capitolo sia di vostro gradimento, per qualsiasi domanda o chiarimento aspetto un commento qui sotto.
Il terzo capitolo della saga, dedicata alla scoperta di Android, ci porta alla scoperta dei package di Android. In queste slide vengono illustrati una serie dei package Android più famosi e vengono analizzati schematicamente due di essi
Come sempre mi auguro che anche questo nuovo capitolo sia di vostro gradimento, per qualsiasi domanda o chiarimento aspetto un commento qui sotto.
Ecco le mie slide su NodeJS al Napoli DevDay . Vedrete praticamente, con l'ausilio di snippet di codice, alcuni dei punti chiave di questo linguaggio.
Per vedere le slide con le gif funzionanti:
https://docs.google.com/presentation/d/1EDsvR99WUDx3IBhygYt51YKM1sA5UA_PJmaRFh9HTa4/edit?usp=sharing
A questo repository troverete gli esempi fatti durante il talk:
https://github.com/musikele/nodeJsExamples
Per testare le API rest io uso Advanced Rest Client, estensione di Chrome. Ricordatevi di settare l'encoding a application/json .
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
Ionic è da anni uno dei framework basati su angular più famosi e più usati.
La versione 4 è una completa riscrittura della precedente versione usando tutta una serie di nuovi standard web con cui avremo a che fare sempre più spesso nei prossimi anni: Custom Element, Variabili CSS, Shadow DOM e non solo.
In questo talk, sia per esperti che principianti, vedremo come, grazie a Ionic, si può usare Angular per sviluppare un applicazione funzionante sia sul Web che sul Mobile.
Ecco racchiuse in poche slide tutte le novità che Android 6.0 Marshmallow porterà con se. Le slide sono dedicate sia agli sviluppatori, ma anche agli utenti finali che vogliono scoprire tutte le ultime novità su Android Marshmallow.
Altre Novità e informazioni a questo indirizzo: http://bit.ly/1KO3U62
Alla scoperta del codice sorgente di Android è il secondo appuntamento, che è la continuazione del argomento Conoscere Android per poterlo Programmare.
All'interno di questo appuntamento e di queste slide, potete trovare le guide e i dettagli sul come scaricare e configurare il vostro PC, per pote analizzare il codice sorgete di Android e modificarlo.
Mi auguro che anche questo appuntamento sia di vostro gradimento, come il precedente (http://goo.gl/llgcUz)
Utilizzando alcuni degli standard web più moderni, Microsoft ha realizzato Blazor: una soluzione che permette ai programmatori .NET di riutilizzare le proprie conoscenze per la realizzazione della user interface delle proprie applicazioni.
Già disponibile per l’uso in produzione con una versione server-side, verrà rilasciata a Maggio una versione client-side basata su WebAssembly, che permetterà lo sviluppo di una Single Page Application in C# eseguita interamente nel browser.
Ma la roadmap non si ferma qui, perchè sono già disponibili le prime versioni sperimentali per l’utilizzo di questa tecnologia anche su Desktop e Mobile!
Queste slide e questo lavoro, danno un'infarinatura di quello che è Android e il mondo che gira intorno a lui.
L'opera comprende i seguenti capitoli:
* Quando nasce Android?
* Dispositivi e Licenza di Distribuzione
* L'architettura del sistema operativo Android
* Perché Dalvik non è una vera Java Virtual Machine?
* Quante releases di Android sono stare rilasciate?
* Cosa ci posso fare con Android?
* Che app trovo di default su Android?
* Market alternativi per Android?
* Android è sicuro come sistema operativo?
* Mi conviene sviluppare una mia applicazione per Android?
* Posso guadagnare con Android?
* Link, Fonti e Note
FAST è una raccolta di tecnologie, basate su Web Components e su Web Standards moderni, che ci aiuta ad affrontare in modo efficiente alcune delle sfide più comuni nella progettazione e nello sviluppo di siti ed applicazioni Web.”
FAST ci aiuta a creare interfacce si adattano facilmente a qualunque Design System e che possono essere utilizzate con qualsiasi framework!
Quante volte abbiamo aperto una pagina web sul nostro browser e ci siamo lamentati di quanto il nostro strumento di navigazione sia "pesante" o "divoratore di risorse"? Sappiamo quanta fatica fa un browser per renderizzare una semplice pagina web e quante sfide deve affrontare? Beh, di recente mi sono posto queste domande e ho tentato di capire di più come è fatto un browser e quali sfide deve affrontare per far sì che le nostre pagine web (o applicazioni) possano oggi essere così interessanti come le pensiamo. Conoscerlo meglio ci aiuterà a realizzare forse un web migliore e magari rendere la vita più facile al browser stesso ed al nostro amato computer. Proverò a dare anche a voi un po' di ciò che ho capito e che mi ha aiutato a stare più attento e responsabile come artigiano del web!
Do pair programming with an artificial intelligenceGiulio Roggero
Si prevede che nel 2022 il 40% dello sviluppo di applicazioni software sia co-sviluppato insieme ad una intelligenza artificiale (sorgente Gartner 2019).
Ci pensate? Come sarà sviluppare in pairing? Saremo più produttivi? Faremo meno errori? Il codice sarà più pulito? La gestione dei feature toggle sarà più semplice? I rilasci saranno ancora più semplici?
Immaginate fare ping-pong programming con la vostra intelligenza artificiale personale, quanto sarebbe motivante e divertente scrivere codice. E se applichiamo TDD potremmo arrivare ad un livello di clean code mai visto. Anche le persone meno esperte potrebbero imparare a sviluppare in modo pulito ed efficace.
In questa mezz’ora voglio esplorare insieme a voi questo modo che sembra lontano (vi ricordate 10 anni fa delle macchine che guidano da sole? :-) ) ma in realtà è già intorno a noi e si sta facendo sempre più pervasivo.
La prototipazione è un’attività fondamentale per “capire facendo”. Lo scopo della prototipazione non è costruire partendo da un progetto definito ma, piuttosto, acquisire dati preziosi per essere poi più consapevoli di prendere la giusta direzione. Alla base delle attività di prototipazione ci sono spesso strumenti low code e no code. Esistono ormai da diversi anni e ultimamente stanno guadagnando sempre più attenzione nella community per la loro immediatezza e velocità. Abbiamo definito meglio le loro qualità e le opportunità che ci sono nel loro utilizzo.
Durante il talk abbiamo approfondito perché è importante prototipare e come questa attività migliora i nostri progetti. In particolare, abbiamo approfondito l’utilizzo AWS Step Functions Workflow Studio, strumento low code prodotto da AWS. Workflow Studio ci permette di imbastire una state machine basata su step functions con uno strumento visuale drag & drop che semplifica moltissimo il nostro lavoro. Abbiamo analizzato cosa lo contraddistingue da altri strumenti e quali sono i suoi punti di forza. Infine siamo passati alla pratica facendo una piccola esercitazione con AWS Step Functions.
Daniele Scasciafratte ci mostra le caratteristiche dei vari tool di Firefox e di come possono semplificare la vita ad uno sviluppatore, anche in ambito web.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: @CodemotionTR
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
Windows Azure e Team Foundation Server hanno cominciato a cambiare in una maniera incredibile il modo di gestire i progetti software e tutta l'attività professionale dello sviluppatore. Ora il passaggio ulteriore: un Visual Studio, al momento ancora agli inizi, ma molto promettenti, completamente Web che gira nel browser. Vediamo cosa possiamo farci, tra sviluppo software, scelte tecnologiche, gestione del progetto e deployment.
Ormai Ubuntu Touch, la versione mobile di Ubuntu è una realtà che possiamo toccare con mano. Infatti, questa distro è disponibile per alcuni device come Nexus 4, Nexus 7 2013 (solo versione WiFi) e Nexus 10, anche se deprecated, Ubuntu Touch gira anche su Galaxy Nexus e Nexus 7 2012 WiFi.
Poi c'è anche l'emulatore per Ubuntu Touch, insomma tutto quello che ci serve ormai è pronto e disponibile, quindi, per questo motivo ho deciso di mostravi come si fa a creare una piccola app per questo sistema operativo mobile.
È un semplice Hello World, tanto per cominciare, però andando avanti proverò a pubblicare anche altre slide dedicate a questo argomento.
Come sempre mi auguro che anche questo nuovo capitolo sia di vostro gradimento, per qualsiasi domanda o chiarimento aspetto un commento qui sotto.
Il terzo capitolo della saga, dedicata alla scoperta di Android, ci porta alla scoperta dei package di Android. In queste slide vengono illustrati una serie dei package Android più famosi e vengono analizzati schematicamente due di essi
Come sempre mi auguro che anche questo nuovo capitolo sia di vostro gradimento, per qualsiasi domanda o chiarimento aspetto un commento qui sotto.
Ecco le mie slide su NodeJS al Napoli DevDay . Vedrete praticamente, con l'ausilio di snippet di codice, alcuni dei punti chiave di questo linguaggio.
Per vedere le slide con le gif funzionanti:
https://docs.google.com/presentation/d/1EDsvR99WUDx3IBhygYt51YKM1sA5UA_PJmaRFh9HTa4/edit?usp=sharing
A questo repository troverete gli esempi fatti durante il talk:
https://github.com/musikele/nodeJsExamples
Per testare le API rest io uso Advanced Rest Client, estensione di Chrome. Ricordatevi di settare l'encoding a application/json .
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
Ionic è da anni uno dei framework basati su angular più famosi e più usati.
La versione 4 è una completa riscrittura della precedente versione usando tutta una serie di nuovi standard web con cui avremo a che fare sempre più spesso nei prossimi anni: Custom Element, Variabili CSS, Shadow DOM e non solo.
In questo talk, sia per esperti che principianti, vedremo come, grazie a Ionic, si può usare Angular per sviluppare un applicazione funzionante sia sul Web che sul Mobile.
Ecco racchiuse in poche slide tutte le novità che Android 6.0 Marshmallow porterà con se. Le slide sono dedicate sia agli sviluppatori, ma anche agli utenti finali che vogliono scoprire tutte le ultime novità su Android Marshmallow.
Altre Novità e informazioni a questo indirizzo: http://bit.ly/1KO3U62
Alla scoperta del codice sorgente di Android è il secondo appuntamento, che è la continuazione del argomento Conoscere Android per poterlo Programmare.
All'interno di questo appuntamento e di queste slide, potete trovare le guide e i dettagli sul come scaricare e configurare il vostro PC, per pote analizzare il codice sorgete di Android e modificarlo.
Mi auguro che anche questo appuntamento sia di vostro gradimento, come il precedente (http://goo.gl/llgcUz)
Utilizzando alcuni degli standard web più moderni, Microsoft ha realizzato Blazor: una soluzione che permette ai programmatori .NET di riutilizzare le proprie conoscenze per la realizzazione della user interface delle proprie applicazioni.
Già disponibile per l’uso in produzione con una versione server-side, verrà rilasciata a Maggio una versione client-side basata su WebAssembly, che permetterà lo sviluppo di una Single Page Application in C# eseguita interamente nel browser.
Ma la roadmap non si ferma qui, perchè sono già disponibili le prime versioni sperimentali per l’utilizzo di questa tecnologia anche su Desktop e Mobile!
Queste slide e questo lavoro, danno un'infarinatura di quello che è Android e il mondo che gira intorno a lui.
L'opera comprende i seguenti capitoli:
* Quando nasce Android?
* Dispositivi e Licenza di Distribuzione
* L'architettura del sistema operativo Android
* Perché Dalvik non è una vera Java Virtual Machine?
* Quante releases di Android sono stare rilasciate?
* Cosa ci posso fare con Android?
* Che app trovo di default su Android?
* Market alternativi per Android?
* Android è sicuro come sistema operativo?
* Mi conviene sviluppare una mia applicazione per Android?
* Posso guadagnare con Android?
* Link, Fonti e Note
FAST è una raccolta di tecnologie, basate su Web Components e su Web Standards moderni, che ci aiuta ad affrontare in modo efficiente alcune delle sfide più comuni nella progettazione e nello sviluppo di siti ed applicazioni Web.”
FAST ci aiuta a creare interfacce si adattano facilmente a qualunque Design System e che possono essere utilizzate con qualsiasi framework!
Quante volte abbiamo aperto una pagina web sul nostro browser e ci siamo lamentati di quanto il nostro strumento di navigazione sia "pesante" o "divoratore di risorse"? Sappiamo quanta fatica fa un browser per renderizzare una semplice pagina web e quante sfide deve affrontare? Beh, di recente mi sono posto queste domande e ho tentato di capire di più come è fatto un browser e quali sfide deve affrontare per far sì che le nostre pagine web (o applicazioni) possano oggi essere così interessanti come le pensiamo. Conoscerlo meglio ci aiuterà a realizzare forse un web migliore e magari rendere la vita più facile al browser stesso ed al nostro amato computer. Proverò a dare anche a voi un po' di ciò che ho capito e che mi ha aiutato a stare più attento e responsabile come artigiano del web!
Do pair programming with an artificial intelligenceGiulio Roggero
Si prevede che nel 2022 il 40% dello sviluppo di applicazioni software sia co-sviluppato insieme ad una intelligenza artificiale (sorgente Gartner 2019).
Ci pensate? Come sarà sviluppare in pairing? Saremo più produttivi? Faremo meno errori? Il codice sarà più pulito? La gestione dei feature toggle sarà più semplice? I rilasci saranno ancora più semplici?
Immaginate fare ping-pong programming con la vostra intelligenza artificiale personale, quanto sarebbe motivante e divertente scrivere codice. E se applichiamo TDD potremmo arrivare ad un livello di clean code mai visto. Anche le persone meno esperte potrebbero imparare a sviluppare in modo pulito ed efficace.
In questa mezz’ora voglio esplorare insieme a voi questo modo che sembra lontano (vi ricordate 10 anni fa delle macchine che guidano da sole? :-) ) ma in realtà è già intorno a noi e si sta facendo sempre più pervasivo.
La prototipazione è un’attività fondamentale per “capire facendo”. Lo scopo della prototipazione non è costruire partendo da un progetto definito ma, piuttosto, acquisire dati preziosi per essere poi più consapevoli di prendere la giusta direzione. Alla base delle attività di prototipazione ci sono spesso strumenti low code e no code. Esistono ormai da diversi anni e ultimamente stanno guadagnando sempre più attenzione nella community per la loro immediatezza e velocità. Abbiamo definito meglio le loro qualità e le opportunità che ci sono nel loro utilizzo.
Durante il talk abbiamo approfondito perché è importante prototipare e come questa attività migliora i nostri progetti. In particolare, abbiamo approfondito l’utilizzo AWS Step Functions Workflow Studio, strumento low code prodotto da AWS. Workflow Studio ci permette di imbastire una state machine basata su step functions con uno strumento visuale drag & drop che semplifica moltissimo il nostro lavoro. Abbiamo analizzato cosa lo contraddistingue da altri strumenti e quali sono i suoi punti di forza. Infine siamo passati alla pratica facendo una piccola esercitazione con AWS Step Functions.
Daniele Scasciafratte ci mostra le caratteristiche dei vari tool di Firefox e di come possono semplificare la vita ad uno sviluppatore, anche in ambito web.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: @CodemotionTR
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
Windows Azure e Team Foundation Server hanno cominciato a cambiare in una maniera incredibile il modo di gestire i progetti software e tutta l'attività professionale dello sviluppatore. Ora il passaggio ulteriore: un Visual Studio, al momento ancora agli inizi, ma molto promettenti, completamente Web che gira nel browser. Vediamo cosa possiamo farci, tra sviluppo software, scelte tecnologiche, gestione del progetto e deployment.
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/)
Code Generation con i templates T4 in visual studioMarco Parenzan
Uno degli strumenti meno pubblicizzati ma più utili in Visual Studio sono i templates T4. Strumenti come l'Entity Framework e ASP.NET MVC li hanno resi (forse) più diffusi. Come sono fatti? Come si usano? Cosa ci si può fare? Una carrellata di alcuni usi interessanti, dagli oggetti POCO a WPF, passando attraverso lo "scaffolding" e i Domain Specific Languages...
Quali strumenti utilizzare per migliorare il workflow di uno sviluppatore? Oggi strumenti come git, docker, gitlab e kubernetes ci aiutano a gestire meglio il nostro tempo permettendoci di focalizzarci di piu' sul codice che sulla customizzazione dell'ambiente.
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
2. Chi sono?
Developer per scelta e per passione,
amante di nerdaggini di ogni tipo
ed amante della condivisione del sapere!
Google Certified Developer
Francesco Sciuti
https://www.acadevmy.it/intro
7. Cosa è un JS Engine?
JS è un linguaggio interpretato (quindi il codice non è
compilato prima dell’esecuzione), quindi un JS
engine si prende il compito di farlo on the fly.
In Google Chrome ad esempio questo avviene per
mezzo dell’engine V8.
Francesco Sciuti
https://www.acadevmy.it/intro
8. Cosa è un JS Runtime?
L’interazione con l’engine JS avviene
attraverso un runtime environment, che si
occupa inoltre di mettere a disposizione tante
ulteriori funzionalità e caratteristiche al
linguaggio JS, come ad esempio le
innumerevoli API messe a disposizione.
I browser sono il runtime environment che
consentono questa interazione.
Francesco Sciuti
https://www.acadevmy.it/intro
9. Server-side JS Runtime = Node.js
Nel lontano 2009 arriva Node.js che introduce
un JS runtime environment per consentire
quindi di usare JS come linguaggio server,
dando accesso, ad esempio, al file system, alla
rete e ad altre cose che non sono consentite
nei browser web.
Francesco Sciuti
https://www.acadevmy.it/intro
10. Ryan Dahl ci ripensa?
Nel 2018 il creatore di Node.js, durante un talk
alla JSConf EU, parla di ciò che avrebbe fatto
diversamente su Node e quindi degli “errori”
commessi in fase progettuale...e casualmente
presenta il nuovo progetto: Deno!
Francesco Sciuti
https://www.acadevmy.it/intro
Forse dopo aver lavorato in Go ha visto cose
super forti e ci ha ripensato! :D
11. Cosa non andava in Node.js?
Francesco Sciuti
https://www.acadevmy.it/intro
● Promises e Modern Features
Non è nato (o non proprio) con il supporto nativo alle promises,
ed ancora la std library ne risente.
● Security
Node può accedere indistintamente a tutte le chiamate di sistema,
come scrivere sul disco, accedere alla rete, etc...
● npm / node_modules
Centralizzazione, folder node_modules, configurazione via
package.json, etc...
● CommonJS
Nato con require via CommonJS.
● Build System
Utilizza GYP.
12. ● Secure by default
● ES Modules
● Decentralized Packages
● TypeScript works natively
● Browser API
Deno cosa ha di figo?
● Top level await
● Tool Chain
● Modern ES Features
● Single executable file
● Remote execution
● Testing facility
Francesco Sciuti
https://www.acadevmy.it/intro
Deno è scritto in Rust/Tokio e TypeScript...già per questa ragione per molti devs lo rende figo!
14. Secure by default
Deno ti consente di controllare con precisione a cosa
ha accesso il tuo programma.
Deno non consente di eseguire un
programma che tenta di accedere a
delle specifiche caratteristiche, senza
che lo si dichiari esplicitamente.
Deno difatti viene eseguito in una
sandbox, come farebbe il browser.
Francesco Sciuti
https://www.acadevmy.it/intro
● --allow-env
● --allow-hrtime
● --allow-net=<allow-net>
● --allow-plugin
● --allow-read=<allow-read>
● --allow-run
● --allow-write=<allow-write>
● --allow-all
Deno consente inoltre di controllare la granularità di
alcune autorizzazioni con le whitelist.
15. ES modules import syntax
Francesco Sciuti
https://www.acadevmy.it/intro
16. ES modules import syntax
Deno consente di importare dal Web utilizzando la sintassi degli ES
modules, proprio come lo standard propone.
● Memorizza nella cache le dipendenze dopo averle recuperate la prima volta;
● Le dipendenze possono essere condivise tra progetti;
● Importazione da path espliciti o url;
● Esplicita necessità di indicare le estensioni degli import.
Francesco Sciuti
https://www.acadevmy.it/intro
17. Decentralized Packages
Non è presente alcuna centralizzazione dei packages, che possono
essere importati direttamente via url, senza passare da file di
configurazione o folder specifici.
Con Deno non si è dipendenti ad un
servizio centralizzato come NPM ma
avremo la possibilità di importare da
qualunque url.
Francesco Sciuti
https://www.acadevmy.it/intro
● https://deno.land/std (Standard Library)
● https://deno.land/x (Third Party Module)
https://deno.land/x/MODULE_NAME@BRANCH/SCRIPT.ts
19. TypeScript works natively
Deno supporta TypeScript by design.
Non è necessario impostare o configurare nulla.
Puoi assolutamente scrivere il normale
codice JavaScript con Deno, ma se lo
desideri, puoi anche passare a TypeScript in
qualsiasi momento, poiché il compilatore
TypeScript è integrato in Deno.
Francesco Sciuti
https://www.acadevmy.it/intro
21. Tool Chain
Una caratteristica molto interessante è che
Deno porta con se molti tools che consentono
di essere pronto a tutto!
Deno mette tools a disposizione per:
● Formatting;
● Testing;
● Installing;
● Shell completition;
● Cache management;
● ...
Francesco Sciuti
https://www.acadevmy.it/intro
23. Modern ES Features
Deno nasce in un momento storico diverso da Node e quindi porta
tante caratteristiche di un JavaScript moderno (come se non
bastasse già TypeScript :D).
Francesco Sciuti
https://www.acadevmy.it/intro
Deno mette tools a disposizione per:
● Async Iterables;
● Top level Await;
● Native fetch;
● Promises all the way down;
● Window object;
● Other Browser APIs...
24. Standard Library
La Standard Library di Deno è davvero corposa e scritta con
approccio estremamente moderno.
Francesco Sciuti
https://www.acadevmy.it/intro
● archive tar archive utilities
● async async utilties
● bytes helpers to manipulate bytes slices
● datetime date/time parsing
● encoding encoding/decoding for various formats
● flags parse command-line flags
● fmt formatting and printing
● fs file system API
● hash crypto lib
● http HTTP server
● io I/O lib
● log logging utilities
● mime support for multipart data
● node Node.js compatibility layer
● path path manipulation
● ws websockets
27. Devo imparare Deno?
Francesco Sciuti
https://www.acadevmy.it/intro
Giuro che non lo so…
ma vi ho detto prima delle cose che potrebbero convincervi! :D
E poi il logo è troppo figo
e quindi merita una possibilità!
28. Il futuro di una
razza estinta
Deno è un interessante prodotto
ma non è facile capire ad oggi se
avrà uno spazio sul mercato.
Francesco Sciuti
https://www.acadevmy.it/intro
o se si estinguerà per via di Albano!
29. Il futuro di una razza estinta
Le novità sono interessanti ma
sono sufficienti a renderlo una
vera alternativa a Node.js?
● Node.js è leader nel mercato;
● Node.js è consolidato e stabile;
● Node.js ha un ecosistema
immenso ed una vastissima
community.
Esiste un layer di compatibilità nella std in lavorazione... Francesco Sciuti
https://www.acadevmy.it/intro
30. Qualche Links
Docs
● Deno Manual
● Deno Standard Library
● Deno Third Party Modules
Modules / Tools
● OAK
● deno-mongo
● deno-redis
● Denon
● VSC Extension
● JetBrains Extension
● Deno Docker Files
Examples / Labs
● https://deno.land/std/exampl
es/
Playgrounds
● Deno.town
● Deno playground
● REPL
Other
● DenoPkg
● Deno on Cloud Run | GDG Cloud
MIlano
● Awesome-Deno
● Ryan Dahl lascia il progetto
● Node History Timeline
● Use npm Modules
● Node Compatibility
● Pika CDN
Francesco Sciuti
https://www.acadevmy.it/intro