Deno प्रकल्प Node.js प्रमाणेच सुरक्षित JavaScript प्लॅटफॉर्म विकसित करत आहे

उपलब्ध प्रकल्प प्रकाशन डेनो 0.33, предлагающего похожую на Node.js платформу для обособленного выполнения приложений на языке JavaScript и TypeScript, которая может быть использована для выполнения приложений без привязки к браузеру, например, для создания обработчиков, работающих на сервере. В Deno используется JavaScript-движок V8, который также применяется в Node.js и браузерах на основе проекта Chromium. Код проекта द्वारा वितरित под лицензией MIT. Проект развивает Райан Даль (रायन डहल), Node.js JavaScript प्लॅटफॉर्मचा निर्माता.

Одной из главных целей создания нового runtime для JavaScript является предоставление более защищённого окружения. Для повышения безопасности обвязка вокруг движка V8 написана на языке Rust, позволяющем избежать многих уязвимостей, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера. Для обработки запросов в неблокирующем режиме применяется платформа टोकियो, Rust मध्ये देखील लिहिलेले आहे. टोकियो तुम्हाला इव्हेंट-चालित आर्किटेक्चरवर आधारित उच्च-कार्यक्षमता अनुप्रयोग तयार करण्यास अनुमती देते, मल्टी-थ्रेडिंगला समर्थन देते आणि अॅसिंक्रोनस मोडमध्ये नेटवर्क विनंतीवर प्रक्रिया करते.

मुख्य वैशिष्ट्ये Deno:

  • Ориентация на безопасность в конфигурации по умолчанию. Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения;
  • Встроенная поддержка языка TypeScript помимо JavaScript;
  • रनटाइम एकल स्व-निहित एक्झिक्युटेबल फाइल (“deno”) स्वरूपात येतो. Deno वापरून अनुप्रयोग चालविण्यासाठी ते पुरेसे आहे डाउनलोड для своей платформы один исполняемый файл, размером около 10 Мб, не имеющих внешних зависимостей и не требующий какой-то особой установки в систему;
  • प्रोग्राम सुरू करताना, तसेच मॉड्यूल लोड करण्यासाठी, आपण URL पत्ता वापरू शकता. उदाहरणार्थ, welcome.js प्रोग्राम चालवण्यासाठी, तुम्ही “deno https://deno.land/std/examples/welcome.js” कमांड वापरू शकता. बाह्य संसाधनांमधील कोड स्थानिक प्रणालीवर डाउनलोड आणि कॅश केला जातो, परंतु स्वयंचलितपणे कधीही अद्यतनित केला जात नाही (अद्यतनासाठी स्पष्टपणे "--रीलोड" ध्वजासह अनुप्रयोग चालवणे आवश्यक आहे);
  • ऍप्लिकेशन्समध्ये HTTP द्वारे नेटवर्क विनंत्यांची कार्यक्षम प्रक्रिया; प्लॅटफॉर्म उच्च-कार्यक्षमता नेटवर्क ऍप्लिकेशन्स तयार करण्यासाठी डिझाइन केलेले आहे;
  • डेनो आणि नियमित वेब ब्राउझरमध्ये कार्यान्वित करता येणारे सार्वत्रिक वेब अनुप्रयोग तयार करण्याची क्षमता;
  • रनटाइम व्यतिरिक्त, Deno प्लॅटफॉर्म पॅकेज व्यवस्थापक म्हणून देखील कार्य करते आणि तुम्हाला कोडमधील URL द्वारे मॉड्यूलमध्ये प्रवेश करण्याची परवानगी देते. उदाहरणार्थ, मॉड्यूल लोड करण्यासाठी, तुम्ही “https://deno.land/std/log/mod.ts” वरून “import* as log म्हणून कोड निर्दिष्ट करू शकता. URL द्वारे बाह्य सर्व्हरवरून डाउनलोड केलेल्या फायली कॅश केल्या जातात. मॉड्यूल आवृत्त्यांचे बंधन URL मध्ये आवृत्ती क्रमांक निर्दिष्ट करून निर्धारित केले जाते, उदाहरणार्थ, “https://unpkg.com/[ईमेल संरक्षित]/dist/liltest.js";
  • В состав интегрирована система инспектирования зависимостей (команда «deno info») и утилита для форматирования кода (deno fmt).
  • अनुप्रयोग विकासकांसाठी सुचवले набор стандартных модулей, прошедших дополнительный аудит и проверку на совместимость;
  • सर्व ऍप्लिकेशन स्क्रिप्ट एका JavaScript फाईलमध्ये एकत्र केल्या जाऊ शकतात.

Node.js मधील फरक:

  • Deno npm पॅकेज व्यवस्थापक वापरत नाही
    आणि रिपॉझिटरीजशी जोडलेले नाही, मॉड्यूल्स URL द्वारे किंवा फाईल मार्गाद्वारे संबोधित केले जातात आणि मॉड्यूल स्वतः कोणत्याही वेबसाइटवर ठेवता येतात;

  • Deno मॉड्यूल्स परिभाषित करण्यासाठी "package.json" वापरत नाही;
  • API फरक, Deno मधील सर्व असिंक्रोनस क्रिया वचन देतात;
  • Deno ला फाइल्स, नेटवर्क आणि पर्यावरण व्हेरिएबल्ससाठी सर्व आवश्यक परवानग्यांची स्पष्ट व्याख्या आवश्यक आहे;
  • हँडलर्सना प्रदान न केलेल्या सर्व त्रुटी अर्जाच्या समाप्तीस कारणीभूत ठरतात;
  • В Deno применяется система модулей ECMAScript и не поддерживается require().

स्त्रोत: opennet.ru

एक टिप्पणी जोडा