{"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\">Disponibile<\/a><\/noindex> il 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 l'esecuzione di app senza legame con il browser, ad esempio per creare handler che funzionano sul server. Deno utilizza il motore JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">V8<\/a><\/noindex>, che viene utilizzato anche in Node.js e nei browser basati sul progetto Chromium. Il codice del progetto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\">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>), creatore della piattaforma JavaScript Node.js. <\/p>\n<p>Uno dei principali obiettivi della creazione di un nuovo runtime per JavaScript \u00e8 fornire un ambiente pi\u00f9 sicuro. Per migliorare la sicurezza, l'interfaccia attorno al motore V8 \u00e8 scritta in Rust, permettendo di evitare molte vulnerabilit\u00e0 derivanti dalla gestione a basso livello della memoria, come l'accesso all'area di memoria dopo il rilascio, la dereferenziazione di puntatori nulli e l'overflow del buffer. 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>, scritto anche in linguaggio Rust. Tokio consente di creare applicazioni ad alte prestazioni basate su architettura orientata agli eventi, supportando 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\">caratteristiche<\/a><\/noindex> Deno:<\/p>\n<ul>\n<li class=\"l\"> Orientamento alla sicurezza nella configurazione predefinita. Gli accessi a file, capacit\u00e0 di rete e accesso a variabili di ambiente sono bloccati di default e richiedono un'esplicita attivazione;\n<li class=\"l\"> Supporto integrato per il linguaggio TypeScript oltre a JavaScript;\n<li class=\"l\"> Il runtime \u00e8 fornito come un unico file eseguibile autonomo (&#171;deno&#187;). Per eseguire applicazioni con Deno \u00e8 sufficiente <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">scaricare<\/a><\/noindex> per la propria piattaforma un file eseguibile di circa 10 MB, privo di dipendenze esterne e che non richiede alcuna installazione particolare nel sistema;\n<li class=\"l\"> All'avvio del programma e per il caricamento dei moduli \u00e8 possibile utilizzare indirizzi tramite URL. Ad esempio, per eseguire il programma welcome.js, si pu\u00f2 utilizzare il comando &#171;deno https:\/\/deno.land\/std\/examples\/welcome.js&#187;. Il codice da risorse esterne viene scaricato e memorizzato nella cache sulla sistema locale, ma non viene mai aggiornato automaticamente (per l'aggiornamento \u00e8 necessario avviare esplicitamente l'applicazione con il flag &#171;&#8212;reload&#187;);\n<li class=\"l\"> Gestione efficace delle richieste di rete HTTP nelle applicazioni; 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 in un normale browser web.\n<li class=\"l\"> Oltre al runtime, la piattaforma Deno svolge anche il ruolo di gestore di pacchetti e consente di fare riferimento ai moduli tramite URL all'interno del codice. Ad esempio, per caricare un modulo si pu\u00f2 specificare nel codice &#171;import * as log from &#171;https:\/\/deno.land\/std\/log\/mod.ts&#187;. I file scaricati da server esterni tramite URL vengono memorizzati nella cache. Il vincolo alle versioni dei moduli \u00e8 definito attraverso l'indicazione dei numeri di versione all'interno dell'URL, ad esempio &#171;https:\/\/unpkg.com\/liltest@0.0.5\/dist\/liltest.js&#187;;\n<li class=\"l\"> \u00c8 integrato un sistema di ispezione delle dipendenze (comando &#171;deno info&#187;) e un'utilit\u00e0 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\">designato<\/a><\/noindex> un insieme di moduli standard che hanno subito un audit aggiuntivo e verifiche 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 collega ai repository; gli indirizzi dei moduli sono gestiti tramite URL o percorsi di file, con i moduli che possono essere ospitati su qualsiasi sito;<\/p>\n<li class=\"l\"> In Deno non viene utilizzato &#171;package.json&#187; per la definizione dei moduli;\n<li class=\"l\"> Differenze nell'API: tutte le operazioni asincrone in Deno restituiscono un promise;\n<li class=\"l\"> Deno richiede una dichiarazione esplicita di tutti i permessi necessari per file, rete e variabili d'ambiente;\n<li class=\"l\"> Tutti gli errori non gestiti portano alla terminazione dell'applicazione;\n<li class=\"l\"> In Deno si applica il sistema di moduli ECMAScript e non viene supportato 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.0.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.0.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 qualcosa di simile.","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}]}}