Node.js இன் ஆசிரியர் பாதுகாப்பான JavaScript இயங்குதளமான Deno 1.0 ஐ வழங்கினார்

இரண்டு வருட வளர்ச்சிக்குப் பிறகு வழங்கப்பட்டது முதல் பெரிய வெளியீடு டெனோ 1.0, ஜாவாஸ்கிரிப்ட் மற்றும் டைப்ஸ்கிரிப்டில் உள்ள பயன்பாடுகளை தனியாக செயல்படுத்துவதற்கான ஒரு தளம், இது சர்வரில் இயங்கும் ஹேண்ட்லர்களை உருவாக்க பயன்படுகிறது. தளத்தை ரியான் டால் உருவாக்கியுள்ளார் (ரியான் டால்), Node.js ஐ உருவாக்கியவர். Node.js ஐப் போலவே, டெனோவும் ஜாவாஸ்கிரிப்ட் இயந்திரத்தைப் பயன்படுத்துகிறது V8, இது Chromium அடிப்படையிலான உலாவிகளிலும் பயன்படுத்தப்படுகிறது. அதே நேரத்தில், Deno Node.js இன் ஃபோர்க் அல்ல, ஆனால் புதிதாக உருவாக்கப்பட்ட ஒரு புதிய திட்டமாகும். திட்டக் குறியீடு வழங்கியது MIT உரிமத்தின் கீழ். கூட்டங்கள் தயார் Linux, Windows மற்றும் macOS க்கு.

குறிப்பிடத்தக்க பதிப்பு எண் டெனோ நேம்ஸ்பேஸில் உள்ள APIகளின் உறுதிப்படுத்தலுடன் தொடர்புடையது, இது OS உடனான பயன்பாடுகளின் தொடர்புக்கு பொறுப்பாகும். இதுவரை இருக்கும் மென்பொருள் இடைமுகங்கள் நிலைப்படுத்தப்படவில்லை, முன்னிருப்பாக மறைக்கப்பட்டு, "--unstable" பயன்முறையில் இயங்கும் போது மட்டுமே கிடைக்கும். புதிய பதிப்புகள் உருவாகும்போது, ​​அத்தகைய APIகள் படிப்படியாக நிலையானதாக மாறும். செட் டைம்அவுட்() மற்றும் ஃபெட்ச்() போன்ற பொதுவான செயல்பாடுகளை உள்ளடக்கிய உலகளாவிய நேம்ஸ்பேஸில் உள்ள ஏபிஐ, வழக்கமான இணைய உலாவிகளின் ஏபிஐக்கு முடிந்தவரை நெருக்கமாக உள்ளது மற்றும் உலாவிகளுக்கான இணைய தரநிலைகளின்படி உருவாக்கப்படுகிறது. ரஸ்ட் வழங்கிய APIகள், பிளாட்ஃபார்ம் குறியீட்டில் நேரடியாகப் பயன்படுத்தப்படுகின்றன, அத்துடன் டெனோ இயக்க நேரத்திற்கான செருகுநிரல்களை உருவாக்குவதற்கான இடைமுகமும் இன்னும் உறுதிப்படுத்தப்படவில்லை மற்றும் தொடர்ந்து உருவாக்கப்படுகின்றன.

புதிய ஜாவாஸ்கிரிப்ட் இயங்குதளத்தை உருவாக்குவதற்கான முக்கிய நோக்கங்கள் கருத்தியல் பிழைகளை அகற்றுவதற்கான விருப்பமாகும், ஒப்புக்கொண்டார் Node.js கட்டமைப்பில், மேலும் பயனர்களுக்கு மிகவும் பாதுகாப்பான சூழலை வழங்குகிறது. பாதுகாப்பை மேம்படுத்த, V8 இன்ஜின் ரஸ்டில் எழுதப்பட்டுள்ளது, இது குறைந்த-நிலை நினைவக கையாளுதலில் இருந்து எழும் பல பாதிப்புகளை தவிர்க்கிறது. தடையற்ற பயன்முறையில் கோரிக்கைகளைச் செயல்படுத்த இயங்குதளம் பயன்படுத்தப்படுகிறது அத்தகைய ஒரு, ரஸ்டிலும் எழுதப்பட்டுள்ளது. டோக்கியோ உங்களை நிகழ்வு-உந்துதல் கட்டமைப்பின் அடிப்படையில் உயர்-செயல்திறன் பயன்பாடுகளை உருவாக்க அனுமதிக்கிறது, மல்டி-த்ரெடிங் மற்றும் செயலாக்க நெட்வொர்க் கோரிக்கைகளை ஒத்திசைவற்ற முறையில் ஆதரிக்கிறது.

முக்கிய அம்சங்கள் டெனோ:

  • பாதுகாப்பு சார்ந்த இயல்புநிலை உள்ளமைவு. கோப்பு அணுகல், நெட்வொர்க்கிங் மற்றும் சூழல் மாறிகளுக்கான அணுகல் ஆகியவை இயல்பாகவே முடக்கப்பட்டு, வெளிப்படையாக இயக்கப்பட்டிருக்க வேண்டும். தனிமைப்படுத்தப்பட்ட சாண்ட்பாக்ஸ் சூழல்களில் இயல்பாக இயங்கும் பயன்பாடுகள் மற்றும் வெளிப்படையான அனுமதிகளை வழங்காமல் கணினி திறன்களை அணுக முடியாது;
  • ஜாவாஸ்கிரிப்ட்டைத் தாண்டிய டைப்ஸ்கிரிப்ட்டுக்கான உள்ளமைக்கப்பட்ட ஆதரவு. நிலையான டைப்ஸ்கிரிப்ட் கம்பைலர் வகைகளைச் சரிபார்ப்பதற்கும் ஜாவாஸ்கிரிப்டை உருவாக்குவதற்கும் பயன்படுத்தப்படுகிறது, இது V8 இல் ஜாவாஸ்கிரிப்ட் பாகுபடுத்துதலுடன் ஒப்பிடும்போது செயல்திறன் வெற்றிக்கு வழிவகுக்கிறது. எதிர்காலத்தில், டைப்ஸ்கிரிப்ட் வகைச் சரிபார்ப்பு முறையை எங்களுடைய சொந்தச் செயலாக்கத்தைத் தயாரிக்க நாங்கள் திட்டமிட்டுள்ளோம், இது டைப்ஸ்கிரிப்ட் செயலாக்க செயல்திறனை அளவின்படி மேம்படுத்தும்;
  • இயக்க நேரம் ஒரு தனியான இயங்கக்கூடிய கோப்பு வடிவத்தில் வருகிறது ("டெனோ"). டெனோவைப் பயன்படுத்தி பயன்பாடுகளை இயக்க இது போதுமானது பதிவிறக்கம் அதன் இயங்குதளத்திற்கு ஒரு இயங்கக்கூடிய கோப்பு உள்ளது, சுமார் 20 எம்பி அளவு உள்ளது, இது வெளிப்புற சார்புகள் இல்லை மற்றும் கணினியில் எந்த சிறப்பு நிறுவலும் தேவையில்லை. மேலும், டெனோ என்பது ஒரு ஒற்றைப் பயன்பாடு அல்ல, இது ரஸ்டில் உள்ள க்ரேட் தொகுப்புகளின் தொகுப்பாகும் (டெனோ_கோர், துருப்பிடித்த_v8), இது தனித்தனியாக பயன்படுத்தப்படலாம்;
  • நிரலைத் தொடங்கும் போது, ​​அதே போல் தொகுதிகளை ஏற்றவும், நீங்கள் URL முகவரியைப் பயன்படுத்தலாம். எடுத்துக்காட்டாக, welcome.js நிரலை இயக்க, “deno https://deno.land/std/examples/welcome.js” என்ற கட்டளையைப் பயன்படுத்தலாம். வெளிப்புற ஆதாரங்களில் இருந்து குறியீடு பதிவிறக்கம் செய்யப்பட்டு உள்ளூர் கணினியில் தேக்ககப்படுத்தப்படுகிறது, ஆனால் தானாகவே புதுப்பிக்கப்படாது (புதுப்பிப்பதற்கு "--ரீலோட்" கொடியுடன் பயன்பாட்டை வெளிப்படையாக இயக்க வேண்டும்);
  • பயன்பாடுகளில் HTTP வழியாக நெட்வொர்க் கோரிக்கைகளின் திறமையான செயலாக்கம்; உயர் செயல்திறன் கொண்ட நெட்வொர்க் பயன்பாடுகளை உருவாக்குவதற்கு இந்த தளம் வடிவமைக்கப்பட்டுள்ளது;
  • டெனோ மற்றும் வழக்கமான இணைய உலாவியில் செயல்படுத்தக்கூடிய உலகளாவிய வலை பயன்பாடுகளை உருவாக்கும் திறன்;
  • கிடைக்கும் தொகுதிகளின் நிலையான தொகுப்பு, இதன் பயன்பாட்டிற்கு வெளிப்புற சார்புகளுடன் பிணைப்பு தேவையில்லை. நிலையான சேகரிப்பில் இருந்து தொகுதிகள் கூடுதல் தணிக்கை மற்றும் இணக்கத்தன்மை சோதனைக்கு உட்பட்டுள்ளன;
  • இயக்க நேரத்துடன் கூடுதலாக, டெனோ இயங்குதளம் ஒரு தொகுப்பு மேலாளராகவும் செயல்படுகிறது மற்றும் குறியீட்டின் உள்ளே உள்ள URL மூலம் தொகுதிகளை அணுக உங்களை அனுமதிக்கிறது. எடுத்துக்காட்டாக, ஒரு தொகுதியை ஏற்றுவதற்கு, "https://deno.land/std/log/mod.ts" இலிருந்து பதிவாக "இறக்குமதி *" குறியீட்டில் குறிப்பிடலாம். URL வழியாக வெளிப்புற சேவையகங்களிலிருந்து பதிவிறக்கம் செய்யப்பட்ட கோப்புகள் தற்காலிகமாக சேமிக்கப்படும். URL இல் உள்ள பதிப்பு எண்களைக் குறிப்பிடுவதன் மூலம் தொகுதி பதிப்புகளுக்கான பிணைப்பு தீர்மானிக்கப்படுகிறது, எடுத்துக்காட்டாக, “https://unpkg.com/[மின்னஞ்சல் பாதுகாக்கப்பட்டது]/dist/liltest.js";
  • கட்டமைப்பில் ஒரு ஒருங்கிணைந்த சார்பு ஆய்வு அமைப்பு ("டெனோ தகவல்" கட்டளை) மற்றும் குறியீடு வடிவமைப்பிற்கான பயன்பாடு (டெனோ எஃப்எம்டி) ஆகியவை அடங்கும்;
  • அனைத்து பயன்பாட்டு ஸ்கிரிப்ட்களையும் ஒரு ஜாவாஸ்கிரிப்ட் கோப்பாக இணைக்கலாம்.

Node.js இலிருந்து வேறுபாடுகள்:

  • டெனோ npm தொகுப்பு மேலாளரைப் பயன்படுத்துவதில்லை
    மற்றும் களஞ்சியங்களுடன் பிணைக்கப்படவில்லை, தொகுதிகள் ஒரு URL அல்லது ஒரு கோப்பு பாதை மூலம் உரையாற்றப்படுகின்றன, மேலும் தொகுதிகள் எந்த வலைத்தளத்திலும் வைக்கப்படலாம்;
  • தொகுதிகளை வரையறுக்க டெனோ "package.json" ஐப் பயன்படுத்தவில்லை;
  • ஏபிஐ வேறுபாடு, டெனோவில் உள்ள அனைத்து ஒத்திசைவற்ற செயல்களும் வாக்குறுதியை அளிக்கின்றன;
  • டெனோவிற்கு கோப்புகள், நெட்வொர்க் மற்றும் சூழல் மாறிகளுக்கு தேவையான அனைத்து அனுமதிகளின் வெளிப்படையான வரையறை தேவைப்படுகிறது;
  • கையாளுபவர்களுடன் வழங்கப்படாத அனைத்து பிழைகளும் விண்ணப்பத்தை நிறுத்துவதற்கு வழிவகுக்கும்;
  • டெனோ ECMAScript தொகுதி அமைப்பைப் பயன்படுத்துகிறது மற்றும் தேவை();
  • டெனோவின் உள்ளமைக்கப்பட்ட HTTP சேவையகம் டைப்ஸ்கிரிப்ட்டில் எழுதப்பட்டு சொந்த TCP சாக்கெட்டுகளின் மேல் இயங்குகிறது, அதே நேரத்தில் Node.js HTTP சேவையகம் C இல் எழுதப்பட்டு ஜாவாஸ்கிரிப்ட்டுக்கான பிணைப்புகளை வழங்குகிறது. டெனோவின் டெவலப்பர்கள் முழு TCP சாக்கெட் லேயரையும் மேம்படுத்துவதிலும் மேலும் பொதுவான இடைமுகத்தை வழங்குவதிலும் கவனம் செலுத்தியுள்ளனர். டெனோ HTTP சேவையகம் குறைந்த செயல்திறனை வழங்குகிறது ஆனால் கணிக்கக்கூடிய குறைந்த தாமதத்திற்கு உத்தரவாதம் அளிக்கிறது. எடுத்துக்காட்டாக, சோதனையில், டெனோ HTTP சேவையகத்தை அடிப்படையாகக் கொண்ட ஒரு எளிய பயன்பாடு அதிகபட்சமாக 25 மில்லி விநாடிகள் தாமதத்துடன் வினாடிக்கு 1.3 ஆயிரம் கோரிக்கைகளைச் செயல்படுத்த முடிந்தது. Node.js இல், இதேபோன்ற பயன்பாடு வினாடிக்கு 34 ஆயிரம் கோரிக்கைகளை செயலாக்கியது, ஆனால் தாமதங்கள் 2 மற்றும் 300 மில்லி விநாடிகள் வரை இருந்தன.
  • Deno Node.js (NPM)க்கான தொகுப்புகளுடன் இணங்கவில்லை, ஆனால் தனியாக உருவாக்கப்படுகிறது இடை அடுக்கு நிலையான Node.js நூலகத்துடன் இணக்கத்தன்மைக்காக, அது உருவாகும்போது, ​​Node.jsக்காக எழுதப்பட்ட அதிகமான பயன்பாடுகள் டெனோவில் இயங்கும்.
  • ஆதாரம்: opennet.ru

கருத்தைச் சேர்