{"id":69424,"date":"2020-02-19T08:45:31","date_gmt":"2020-02-19T05:45:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js"},"modified":"2020-03-03T16:11:16","modified_gmt":"2020-03-03T13:11:16","slug":"proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","title":{"rendered":"\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">\u00c8 disponibile<\/a><\/noindex> rilascio del progetto <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/\">Deno 0.33<\/a><\/noindex>, che offre una piattaforma simile a Node.js per l'esecuzione isolata di applicazioni in JavaScript e TypeScript, utilizzabile per eseguire applicazioni senza dipendenza dal browser, ad esempio per creare gestori che funzionano sul server. Deno utilizza il motore JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">V8<\/a><\/noindex>, che viene anche utilizzato in Node.js e nei browser basati sul progetto Chromium. Il codice del progetto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\">\u00e8 distribuito<\/a><\/noindex> \u00e8 sotto licenza MIT. Il progetto \u00e8 sviluppato da Ryan Dahl (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ryan_Dahl\">Ryan Dahl<\/a><\/noindex>), il creatore della piattaforma JavaScript Node.js. <\/p>\n<p>Uno degli obiettivi principali della creazione di un nuovo runtime per JavaScript \u00e8 fornire un ambiente pi\u00f9 sicuro. Per migliorare la sicurezza, l'involucro attorno al motore V8 \u00e8 scritto in Rust, che consente di evitare molte vulnerabilit\u00e0 legate alla gestione a basso livello della memoria, come l'accesso alla memoria dopo che \u00e8 stata liberata, la dereferenziazione di puntatori nulli e il buffer overflow. Per gestire le richieste in modo non bloccante, viene utilizzata la piattaforma <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tokio-rs\/tokio\">Tokio<\/a><\/noindex>, anch'essa scritta in Rust. Tokio consente di creare applicazioni ad alte prestazioni basate su un'architettura orientata agli eventi (Event-driven), che supportano il multithreading e la gestione delle richieste di rete in modo asincrono.<\/p>\n<p>Principali <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\/manual.md\">di rendering tramite WebGL e Canvas,<\/a><\/noindex> Deno:<\/p>\n<ul>\n<li class=\"l\"> Orientamento alla sicurezza nella configurazione predefinita. Gli accessi ai file, le funzionalit\u00e0 di rete e l'accesso alle variabili d'ambiente sono per impostazione predefinita bloccati e richiedono un'esplicita attivazione;\n<li class=\"l\"> Supporto integrato per TypeScript oltre a JavaScript;\n<li class=\"l\"> Il runtime \u00e8 fornito sotto forma di un singolo file eseguibile autonomo (deno). Per eseguire le applicazioni utilizzando Deno, \u00e8 sufficiente <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">essere scaricata<\/a><\/noindex> per la sua piattaforma un unico file eseguibile, di circa 10 MB, senza dipendenze esterne e che non richiede alcuna installazione speciale nel sistema;\n<li class=\"l\"> Per avviare il programma e per caricare i moduli, \u00e8 possibile utilizzare l'indirizzamento tramite URL. Ad esempio, per avviare il programma welcome.js, si pu\u00f2 utilizzare il comando deno https:\/\/deno.land\/std\/examples\/welcome.js. Il codice da risorse esterne viene scaricato e memorizzato nella cache nel sistema locale, ma non viene mai aggiornato automaticamente (per l'aggiornamento \u00e8 necessario avviare esplicitamente l'applicazione con il flag --reload);\n<li class=\"l\"> Gestione efficace delle richieste di rete in applicazioni HTTP, la piattaforma \u00e8 progettata per creare applicazioni di rete ad alte prestazioni;\n<li class=\"l\"> Possibilit\u00e0 di creare applicazioni web universali, che possono essere eseguite sia in Deno che nei normali browser web;\n<li class=\"l\"> Oltre al runtime, la piattaforma Deno funge anche da gestore di pacchetti e consente di accedere ai moduli tramite URL all'interno del codice. Ad esempio, per caricare un modulo, si pu\u00f2 specificare nel codice import * as log from https:\/\/deno.land\/std\/log\/mod.ts. I file scaricati da server esterni tramite URL vengono memorizzati nella cache. Il binding alle versioni dei moduli \u00e8 definito tramite le indicazioni dei numeri di versione all'interno dell'URL, ad esempio https:\/\/unpkg.com\/liltest@0.0.5\/dist\/liltest.js;\n<li class=\"l\"> Il pacchetto include un sistema di ispezione delle dipendenze (il comando deno info) e uno strumento per la formattazione del codice (deno fmt).\n<li class=\"l\"> Per gli sviluppatori di applicazioni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/tree\/master\/std\">\u00e8 stato proposto<\/a><\/noindex> un insieme di moduli standard, sottoposti a audit aggiuntivo e verifica di compatibilit\u00e0;\n<li class=\"l\"> Tutti gli script dell'applicazione possono essere uniti in un unico file JavaScript.\n<\/ul>\n<p> Differenze rispetto a Node.js:<\/p>\n<ul>\n<li class=\"l\"> Deno non utilizza il gestore di pacchetti npm<br \/>\n e non si lega ai repository, l'indirizzamento dei moduli avviene tramite URL o percorso file, e i moduli stessi possono essere ospitati su qualsiasi sito;<\/p>\n<li class=\"l\"> In Deno non si utilizza package.json per definire i moduli;\n<li class=\"l\"> Esiste una differenza nell'API, tutte le azioni asincrone in Deno restituiscono un promise;\n<li class=\"l\"> Deno richiede una definizione esplicita di tutte le autorizzazioni necessarie per file, rete e variabili d'ambiente;\n<li class=\"l\"> Tutti gli errori non gestiti portano alla chiusura dell'applicazione;\n<li class=\"l\"> Deno utilizza il sistema di moduli ECMAScript e non supporta require().\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52387\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript \u0438 TypeScript, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0412 Deno \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a V8, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 Node.js \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Chromium. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-69424","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-19T05:45:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:11:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Il progetto Deno sviluppa una piattaforma JavaScript sicura, simile a Node.js | ProHoster","description":"\u00c8 disponibile il rilascio del progetto Deno 0.33, che offre una piattaforma simile a.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Deno \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430 Node.js | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Deno 0.33, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u043d\u0430.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/proekt-deno-razvivaet-zashhishhyonnuyu-javascript-platformu-pohozhuyu-na-node-js","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-19T05:45:31+00:00","article:modified_time":"2020-03-03T13:11:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"69424","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:23:35","updated":"2022-10-07 19:06:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/69424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=69424"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/69424\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=69424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=69424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=69424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}