Node.js 16.0 வெளியிடப்பட்டது, இது ஜாவாஸ்கிரிப்ட்டில் பிணைய பயன்பாடுகளை இயக்குவதற்கான தளமாகும். Node.js 16.0 நீண்ட கால ஆதரவு கிளையாக வகைப்படுத்தப்பட்டுள்ளது, ஆனால் இந்த நிலை உறுதிப்படுத்தப்பட்ட பிறகு அக்டோபரில் மட்டுமே ஒதுக்கப்படும். Node.js 16.0 ஏப்ரல் 2023 வரை ஆதரிக்கப்படும். Node.js 14.0 இன் முந்தைய LTS கிளையின் பராமரிப்பு ஏப்ரல் 2023 வரையிலும், கடைசி LTS கிளை 12.0க்கு முந்தைய ஆண்டு ஏப்ரல் 2022 வரையிலும் நீடிக்கும். 10.0 LTS கிளைக்கான ஆதரவு 10 நாட்களில் நிறுத்தப்படும்.
முக்கிய மேம்பாடுகள்:
- V8 இன்ஜின் பதிப்பு 9.0 (Node.js 15 பயன்படுத்தப்பட்ட வெளியீடு 8.6) க்கு புதுப்பிக்கப்பட்டது, இது வழக்கமான வெளிப்பாடுகளுக்கான "குறியீடுகள்" பண்பு போன்ற அம்சங்களை செயல்படுத்த அனுமதிக்கிறது (போட்டிகளின் குழுக்களின் தொடக்க மற்றும் இறுதி நிலைகளுடன் கூடிய வரிசையை உள்ளடக்கியது) , Node.js 16 இல் உள்ள அணுவியல் முறை .waitAsync (Atomics.wait இன் ஒத்திசைவு பதிப்பு), உயர்நிலை தொகுதிகளில் காத்திருப்பு முக்கிய சொல்லைப் பயன்படுத்துவதற்கான ஆதரவு. நிறைவேற்றப்பட்ட வாதங்களின் எண்ணிக்கை செயல்பாட்டில் வரையறுக்கப்பட்ட அளவுருக்களுடன் பொருந்தாத சூழ்நிலைகளில் செயல்பாட்டு அழைப்புகள் துரிதப்படுத்தப்பட்டுள்ளன.
- டைமர்ஸ் ப்ராமிசஸ் ஏபிஐ நிலைப்படுத்தப்பட்டது, இது util.promisify() ஐப் பயன்படுத்துவதற்கான தேவையை நீக்கும் ப்ராமிஸ் ஆப்ஜெக்ட்களை வெளியீடாக வழங்கும் டைமர்களுடன் பணிபுரிவதற்கான மாற்று செயல்பாடுகளை வழங்குகிறது. 'டைமர்கள்/வாக்குறுதிகள்' இலிருந்து {setTimeout} ஐ இறக்குமதி செய்யவும்; async function run() { காத்திரு setTimeout(5000); console.log('வணக்கம், உலகம்!'); } ஓடு();
- கிரிப்டோகிராஃபிக் ஹாஷ்களைக் கையாளுதல், டிஜிட்டல் கையொப்பங்களை உருவாக்குதல் மற்றும் சரிபார்த்தல், பல்வேறு குறியாக்க முறைகளைப் பயன்படுத்தி தரவை குறியாக்கம் செய்தல் மற்றும் டிகோடிங் செய்தல் மற்றும் கிரிப்டோகிராஃபிக் பாதுகாப்பை உருவாக்குதல் போன்ற வலை பயன்பாடுகளின் பக்கத்தில் அடிப்படை கிரிப்டோகிராஃபிக் செயல்பாடுகளைச் செய்ய வடிவமைக்கப்பட்ட Web Crypto API இன் சோதனைச் செயலாக்கம் சேர்க்கப்பட்டுள்ளது. சீரற்ற எண்கள். விசைகளை உருவாக்குவதற்கும் நிர்வகிப்பதற்கும் API செயல்பாடுகளை வழங்குகிறது.
- N-API (API for developing add-ons) பதிப்பு 8 க்கு புதுப்பிக்கப்பட்டது.
- தொகுப்பு மேலாளர் NPM 7.10 இன் புதிய வெளியீட்டிற்கு மாற்றம் செய்யப்பட்டுள்ளது.
- AbortController Web API ஐ அடிப்படையாகக் கொண்ட AbortController வகுப்பின் செயலாக்கத்தை உறுதிப்படுத்தியது மற்றும் தேர்ந்தெடுக்கப்பட்ட வாக்குறுதி அடிப்படையிலான APIகளில் சிக்னல்களை ரத்துசெய்ய அனுமதிக்கிறது.
- மூல வரைபட வடிவமைப்பின் மூன்றாவது பதிப்பிற்கான ஆதரவு, உருவாக்கப்பட்ட, செயலாக்கப்பட்ட அல்லது தொகுக்கப்பட்ட தொகுதிகளை அசல் மூலக் குறியீட்டுடன் ஒப்பிடப் பயன்படுகிறது, இது நிலைப்படுத்தப்பட்டுள்ளது.
- பாரம்பரிய வலை APIகளுடன் இணக்கத்தன்மைக்காக, buffer.atob(data) மற்றும் buffer.btoa(data) முறைகள் சேர்க்கப்பட்டுள்ளன.
- M1 ARM சிப் பொருத்தப்பட்ட புதிய ஆப்பிள் சாதனங்களுக்கான அசெம்பிளிகளின் உருவாக்கம் தொடங்கியது.
- லினக்ஸ் இயங்குதளத்தில், கம்பைலர் பதிப்பு தேவைகள் GCC 8.3க்கு உயர்த்தப்பட்டுள்ளன.
Node.js இயங்குதளமானது இணைய பயன்பாடுகளின் சர்வர் பக்க ஆதரவு மற்றும் சாதாரண கிளையன்ட் மற்றும் சர்வர் நெட்வொர்க் புரோகிராம்களை உருவாக்குவதற்கும் பயன்படுத்தப்படலாம் என்பதை நினைவில் கொள்வோம். Node.js க்கான பயன்பாடுகளின் செயல்பாட்டை விரிவுபடுத்த, தொகுதிகளின் ஒரு பெரிய தொகுப்பு தயார் செய்யப்பட்டுள்ளது, இதில் HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 சேவையகங்கள் மற்றும் கிளையன்ட்கள், ஒருங்கிணைப்புக்கான தொகுதிகள் ஆகியவற்றைச் செயல்படுத்துவதன் மூலம் தொகுதிகளைக் காணலாம். பல்வேறு இணைய கட்டமைப்புகள், WebSocket மற்றும் Ajax கையாளுபவர்கள், DBMSக்கான இணைப்பிகள் (MySQL, PostgreSQL, SQLite, MongoDB), டெம்ப்ளேட் என்ஜின்கள், CSS இன்ஜின்கள், கிரிப்டோகிராஃபிக் அல்காரிதம்கள் மற்றும் அங்கீகார அமைப்புகளின் செயலாக்கங்கள் (OAuth), XML பாகுபடுத்திகள்.
அதிக எண்ணிக்கையிலான இணை கோரிக்கைகளின் செயலாக்கத்தை உறுதிசெய்ய, Node.js ஒரு ஒத்திசைவற்ற குறியீடு செயல்படுத்தல் மாதிரியைத் தடுக்காத நிகழ்வு கையாளுதல் மற்றும் கால்பேக் ஹேண்ட்லர்களின் வரையறை ஆகியவற்றின் அடிப்படையில் பயன்படுத்துகிறது. மல்டிபிளெக்சிங் இணைப்புகளுக்கான ஆதரவு முறைகள் epoll, kqueue, /dev/poll மற்றும் தேர்ந்தெடுக்கும். இணைப்பு மல்டிபிளெக்சிங்கிற்கு, லிபுவ் லைப்ரரி பயன்படுத்தப்படுகிறது, இது யூனிக்ஸ் சிஸ்டங்களில் லிபெவ் மற்றும் விண்டோஸில் ஐஓசிபிக்கான துணை நிரலாகும். libeio நூலகம் ஒரு நூல் குளத்தை உருவாக்கப் பயன்படுகிறது, மேலும் c-ares ஒருங்கிணைக்கப்பட்டு DNS வினவல்களைத் தடுக்காத பயன்முறையில் செயல்படுத்தப்படுகிறது. தடுப்பை ஏற்படுத்தும் அனைத்து சிஸ்டம் அழைப்புகளும் த்ரெட் பூலுக்குள்ளேயே செயல்படுத்தப்படுகின்றன, பின்னர், சிக்னல் ஹேண்ட்லர்களைப் போல, பெயரிடப்படாத குழாய் (குழாய்) மூலம் தங்கள் வேலையின் முடிவை மாற்றும். ஜாவாஸ்கிரிப்ட் குறியீட்டை செயல்படுத்துவது கூகுள் உருவாக்கிய V8 இன்ஜினைப் பயன்படுத்துவதன் மூலம் வழங்கப்படுகிறது (மேலும், மைக்ரோசாப்ட் சக்ரா-கோர் எஞ்சினுடன் Node.js இன் பதிப்பை உருவாக்குகிறது).
அதன் மையத்தில், Node.js ஆனது Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks மற்றும் Tcl நிகழ்வு செயல்படுத்தல் ஆகியவற்றைப் போன்றது, ஆனால் Node.js இல் உள்ள நிகழ்வு லூப் டெவலப்பரிடம் இருந்து மறைக்கப்பட்டு, இயங்கும் இணையப் பயன்பாட்டில் நிகழ்வைக் கையாளுவதை ஒத்திருக்கிறது. உலாவியில். node.js க்கான பயன்பாடுகளை எழுதும் போது, நிகழ்வு-உந்துதல் நிரலாக்கத்தின் பிரத்தியேகங்களைக் கருத்தில் கொள்ள வேண்டும், எடுத்துக்காட்டாக, "var result = db.query("select..");" வேலை முடிவடையும் வரை காத்திருக்கும் மற்றும் முடிவுகளின் அடுத்தடுத்த செயலாக்கத்துடன், Node.js ஒத்திசைவற்ற செயல்பாட்டின் கொள்கையைப் பயன்படுத்துகிறது, அதாவது. குறியீடு "db.query("select..", செயல்பாடு (முடிவு) {முடிவு செயலாக்கம்});" என மாற்றப்படுகிறது, இதில் கட்டுப்பாடு உடனடியாக மேலும் குறியீட்டிற்கு அனுப்பப்படும், மேலும் தரவு வந்தவுடன் வினவல் முடிவு செயலாக்கப்படும்.
கூடுதலாக, அடுத்த தலைமுறை டெனோ இயங்குதளத்தை உருவாக்க Node.js உருவாக்கியவரால் நிறுவப்பட்ட டெனோ நிறுவனம் $4.9 மில்லியன் முதலீடுகளைப் பெற்றது என்பதைக் குறிப்பிடலாம். அதன் நோக்கத்தில், Deno Node.js ஐப் போன்றது, ஆனால் இது Node.js கட்டமைப்பில் செய்யப்பட்ட கருத்தியல் பிழைகளை அகற்ற முயற்சிக்கிறது மற்றும் பயனர்களுக்கு மிகவும் பாதுகாப்பான சூழலை வழங்குகிறது. டெனோவின் வணிகத் தீர்வுகள் முற்றிலும் திறந்த தயாரிப்புகளில் கட்டமைக்கப்படும் என்பது குறிப்பிடத்தக்கது, மேலும் டெனோ இயங்குதளத்திற்கு தனித்தனியான கட்டணச் செயல்பாட்டைக் கொண்ட ஓபன் கோர் மாதிரி ஏற்றுக்கொள்ள முடியாததாகக் கருதப்படுகிறது.
ஆதாரம்: opennet.ru