ஜாவாஉரைநிரல் மேம்பாட்டிற்கு அதிகசெயல்வேகம் தேவைப்படுகிறது, இந்நிலையில் Bunஎன்பது மின்னல் வேக செயல்திறனையும், சொந்த TypeScript ஆதரவினையும் , நெறிப்படுத்தப்பட்ட பணிப்பாய்வுகளையும் வழங்குவதற்காக அறிமுகப்படுத்தப்பட்டுள்ளது. ஆனால் அதில்இன்னும் கூடுதலான வசதி வாய்ப்புகளுக்காக மேம்படுத்திடுதற்கான பணிகள் நடைபெற்று வருகின்றன.
இந்த Bun.ஆனது ஜாவாஉரைநிரல் மேம்பாட்டின் விரைவான , எப்போதும் உருவாகின்ற அகண்மையில், ஒரு புதிய, நம்பிக்கைக்குரிய செயலியாக சமீபத்தில் அறிமுகமாகிவுள்ளது: இந்த Bun.ஆனது ஜாவாஉரைநிரலில் , TypeScript பயன்பாடுகள் கட்டமைக்கப்பட்ட, பரிசோதனை , பயன்படுத்தப்படுகின்ற வழிமுறையை மாற்றுவதற்கு தயாராக இருப்பது என்றவாறு அனைத்து பணிகளுக்கும் ஒரே கருவித்தொகுப்பு என்றவாறு உள்ளது. இது ஒரு இயக்க நேர சூழலுக்கு அப்பாற்பட்டது – இது ஒரு தொகுப்பு மேலாளர், ஒரு உள்ளிணைப்பாளர் , ஒரு இயக்கமாதிரியாளர் ஆகிய பாத்திரங்களின் ஒருங்கிணைந்த தொகுப்பாக இணைந்து செயல்படுகிறது.
மேம்படுத்துநர்களுக்கான மென்மையான , திறமையான பணிப்பாய்வுகளின் சகாப்தத்தை உருவாக்கி, நிரலாக்கவளர்ச்சி செயல்முறையை எளிதாக்குவதே இந்தBun இன் முதன்மை நோக்கமாகும். அதன் படைப்பாளிகள் விரைவான , அறிந்து கொள்ளு மாறான தீர்வை வழங்குவதை நோக்கமாகக் கொண்டுள்ளனர், ஆனால் நவீன வளர்ச்சி நடைமுறைகளுடன் மிகவும் நெருக்கமாக இணைந்திடுமாறு செய்துள்ளனர். அவ்வாறு செய்வதன் மூலம், Node.js க்கு ஒரு கட்டாய மாற்றாகச் செயல்பட Bun விரும்புகிறது, இது நீண்ட காலமாக சிறந்த செயல்திறன், வலுவான பல்துறைசமூக ஆதரவைத் தேடுகின்ற மேம்படுத்து நர்களுக்கான வாய்ப்பாக உள்ளது.
Bun ஐ மேலும் ஆய்வுசெய்திடும்போது, அதன் முக்கிய வசதிவாய்ப்புகள், JavaScript சூழல் அமைப்பில் அதன் சாத்தியமான தாக்கம், இன்றைய இணைய பயன்பாடு ,. மற்ற பயன்பாடு ஆகியவற்றினுடைய மேம்பாட்டில் வளர்ந்து வருகின்ற கோரிக்கைகளை எவ்வாறு பூர்த்தி செய்வது என்பதை நோக்கமாகக் கொண்டுள்ளது என இப்போது ஆராய்வோம்.
ஜாவாஉரைநிரலின் இயக்க நேர வரலாற்றில் ஒரு புதிய அத்தியாயமாக இந்த Bun அமைந்துள்ளது
ஜாவாஉரைநிரல் மேம்பாட்டின் உலகம் எப்போதும் முன்னேறி கொண்டே வருகிறது, மேலும் Node.js போன்ற நன்கு நிறுவுகைசெய்யப்பட்ட கருவிகளின் முன்னிலையில் கூட, புதுமைக்கும் முன்னேற்றத்திற்கும் எப்போதும் இடமுண்டு. இந்த Bun ஆனது மேம்படுத்துநர் சமூகத்தில் பெரும் சலசலப்பை உருவாக்கி யுள்ளது. ஆனால் அதன் முன்னோடியிலிருந்து அதை வேறுபடுத்துவது எது, அது ஏன் உருவாக்கப்பட்டது?என்பதற்கான Bun மேம்படுத்துநர்களின் கூற்றுகள் பின்வருமாறு.
பொதிகளில் ஒரு துளையிடுதல் செய்யும் செயல்திறன்: இது உருவாக்குகின்ற முக்கிய உந்துதல்களில் ஒன்று சிறந்த செயல்திறனை அடைவதாகும். விரைவான துவக்க நேரங்களுக்கு உகந்ததாக JavaScript உள்ளக இயந்திரத்தை மேம்படுத்துவதன் மூலம், Bunஆனது Node.js ஐ விட சிறப்பாக செயல்படுவதாக அறியப்படுகிறது. குறிப்பிட்ட சூழ்நிலைகளில், இது அதன் முன்னோடியை விட பத்து மடங்கு விரைவானதாக இருக்கின்றது குறிப்பிடத்தக்க செயல்திறன் மேம்பாட்டை நிரூபித்துள்ளது. இதுசிறிய சாதனையன்று, மேலும் மின்னல்வேக இயக்கநேர பட்டறிவினை வழங்குவதில் இதனுடைய அர்ப்பணிப்பை அடிக்கோடிட்டுக் காட்டுகிறது.
நெறிப்படுத்தப்பட்ட வளர்ச்சிக்கான ஒரு விரிவான கருவித்தொகுப்பு: இந்த Bun ஆனது ஒரு இயக்க நேரம் மட்டுமல்லாமல் வளர்ச்சி செயல்முறையின் அனைத்து வசதிவாய்ப்புகளையும் உள்ளடக்கிய ஒரு விரிவான கருவித் தொகுப்பாகும். package manager, bundler, , test runner ஆகியவற்றை உள்ளடக்கிய அனைத்து கருவிகளும் ஒரேஇடத்தில்எனும் அணுகுமுறையை இது வழங்குகிறது. இந்த ஒருங்கிணைந்த தீர்வுஆனது நிரலாக்க வளர்ச்சியை எளிதாக்குகிறது, நெறிப்படுத்துகிறது, பல்வேறு கருவிகளையும், செயல்முறைகளையும் ஏமாற்றும் தேவையை அறவே நீக்குகிறது. நவீன வலைமேம்பாட்டிற்கும், பயன்பாட்டு மேம்பாட்டிற்கும் திறமையான பணிப்பாய்வு முக்கியமானது என்பதை இந்தBun இன் மேம்படுத்துநர்கள் ஏற்புகைசெய்துள்ளனர்.
TypeScript இன் சொந்தஆதரவு: இந்த Bunஐ Node.js இலிருந்து வேறுபடுத்துகின்ற வொரு தனித்துவமான வசதி TypeScript(TS)இற்கான அதன் சொந்த ஆதரவாகும். மூன்றாம் தரப்பு transpilers கள் அல்லது சிக்கலான உள்ளமைவுகள் தேவைப்படுகின்ற Node.js போன்றில்லாமல், இது TypeScript(TS)ஐ சொந்தபயன் பாடாகத் தழுவுகிறது. TypeScript(TS) உடன் பணிபுரிகின்ற மேம்படுத்துநர்கள், சிக்கலான கூடுதல் அடுக்குகள் இல்லாமல், தடையின்றி, திறமையாகச் செய்ய முடியும் என்பதே இதன் பொருள்.
.jsx , .tsx ஆகிய கோப்பமைவுகளுடன் சாத்தியமானசெயல்களை விரிவுபடுத்துதல்: Bun இன் மற்றொரு குறிப்பிடத்தக்க வசதியாகும் இது .jsx ,.tsx ஆகியவகை கோப்புகளுக்கான ஆதரவாகும். இந்த வதியானது இதனை(Bun) சொந்தமாக HTML, markupஐ ஆகியவற்றினை எளிதாக JavaScript ஆக மாற்றுவதற்கு உதவுகிறது, இது Node.js இல் உடனடியாக கிடைக்காத செயல்பாடாகும்.
நினைவக நிர்வாகசெயல்திறன்: Node.js ஆனது அதன் குறைந்தபட்ச நினைவக தடம் அறியப்பட்டாலும், Bun ஆனது நினைவக செயல்திறனை ஒரு படி மேலே கொண்டு சென்றுள்ளது. இது இன்னும் கூடுதல்நினைவாற்றல் திறன் கொண்டதாக வடிவமைக்கப்பட்டுள்ளது, உகந்த வளப் பயன்பாட்டைக் கோருகின்ற மேம்படுத்துநர்களின் தேவைகளைப் பூர்த்தி செய்கிறது.
இயங்குதன்மையும் இணக்கத்தன்மையும்: இந்த(Bun)ஆனது Node.js உடன் தடையற்ற இணக்கத்தன்மையை நோக்கமாகக் கொண்டுள்ளது, ஒன்றிலிருந்து மற்றொன்றுக்கு மாற்றத்தை முடிந்தவரை மென்மையாக்குகிறது. இது மேம்படுத்துநர்கள் தங்களுடைய தற்போதைய பணிப்பாய்வுகள் அல்லது Node.js-அடிப்படையிலான செயல்திட்டங்களில் இடையூறு விளைவிக்காமல் Bun உடன் இணைந்து பரிசோதனை செய்யவும் பரிமாறிகொள்ளவும் அனுமதிக்கிறது.
JS செயல்திட்டத்திற்கான ‘Baking’ ’
Bun உடன் தொடங்குவது ‘bun init’ எனும்கட்டளையை இயக்குவது போல் எளிது. இந்த கட்டளை ஒரு வெற்று செயல்திட்டத்தை சாரக்கட்யாக செய்கிறது, மேம்படுத்துநர்களுக்கு அடுத்தநிலைக்குசெல்ல தயாராக இருக்கின்ற சூழலை வழங்குகிறது. இருப்பினும், அதற்கு முன், நாம் Bun ஐ நிறுவுகைசெய்திட வேண்டும்அல்லவா.
Linux/macOS/WSL இல் Bun ஐ நிறுவுகைசெய்திட curl ஐப் பயன்படுத்தலாம்:
curl -fsSL bun.sh/install | bash
இதுDocker image;உம் கொண்டுள்ளது; அதைப் பயன்படுத்த, வெறுமனே பின்வருமாறான கட்டளைவரிகளை இயக்கிடுக:
docker pull oven/bun
docker run –rm –init –ulimit memlock=-1:-1 oven/bun
மிகமுக்கியமாக, அதன் போட்டியாளரான npmஐப் பயன்படுத்தி கூட நிறுவுகை செய்திடலாம் அதற்கான கட்டளைவரிபின்வருமாறு:
npm install -g bun
விண்டோ பயனராக இருந்தால், இந்தக் கட்டுரையை எழுதும் போது, இது runtime மட்டுமே கொண்ட விண்டோவிற்கான பரிசோதனைக் கட்டமைப்பை கொண்டுள்ளது என்பதை நினைவில் கொள்க. இருப்பினும், இது எதிர்காலத்தில் மாறக்கூடும் என எதிர்பார்க்கப்படுகிறது.
பின்வருமாறான கட்டளைவரியைப் பயன்படுத்தி இதனைநிறுவுகை செய்வதை சரிபார்க்கலாம்:
bun –version
ஒரு எளிய HTTP வலை சேவையகத்தை Bun இல் எழுதுதல்
ஒரு எளிய HTTP இணைய சேவையகத்தை எழுதுவதன் மூலம் Bun ஐப் புரிந்துகொள்வோம். Bunஇன் செயல்திட்டத்தை உருவாக்க, நாம் init எனும் கட்டளைவரிகளை பின்வருமாறு பயன்படுத்துகிறோம்.
mkdir SK-bun
cd SK-bun
bun init
இங்கு ‘SK-bun’ என்ற பெயரில் ஒரு கோப்பகத்தை உருவாக்கி, அதில் init எனும் கட்டளைவரி இயக்கப்படுகின்றது. இது அடிப்படையில் நம்முடைய செயல் திட்டம் தொடர்பான பல கேள்விகளைக் கேட்கும் ஒரு அமைவு கட்டளைவரியாகும். நுழைவுப் புள்ளிக்கு பெயரிடும் போது (இது நாம் இயக்கப் போகும் முக்கிய கோப்பு), TypeScript , JavaScript ஆகியவற்றிற்கான .ts, .js ஆகிய இரண்டுவகையையும் bun ஆனது ஏற்றுக்கொள்கிறது. எடுத்துக்காட்டில், index.js ஐப் பயன்படுத்தப்படு கின்றது, இந்த செயல் திட்டத்தை ஜாவாஉரைநிரல் செயல்திட்டமாக மாற்றப்படுகின்றது
ஒரு HTTP சேவையகத்தை எழுதுவது Bun இன் சொந்த செயலிகளைப் பயன்படுத்தி நேரடியாக. இதைப் போன்ற எளிமையான வேறொன்றைகூட நாம் எழுதலாம்
— console.log(“Hello via Bun!”);
1+ Bun.serve({
2+ fetch(request) {
3+ return new Response(“Hello ‘SK readers!”);
4+ },
5+ })
இதைச் செயல்படுத்த, பின்வருமாறுதட்டச்சு செய்க:
bun run index.js
தொடா்ந்து localhost:3000 எனும்முகவரிக்கு சென்று இதன்முடிவுகளை காண்க.
run எனும் கட்டளையை மீண்டும் இயக்குவதற்குப் பதிலாக, மிகவிரைவாக மறுபதிவேற்றத்திற்கான வாய்ப்பினையும் Bun வழங்குகிறது, இதனால் கோப்பில் ஏதேனும் மாற்றங்கள் தேவையெனில்உடனடியாக புதுப்பிக்கப்படுகின்றது.
bun –hot index.js
Bun , Nodeஆகியவற்றிற்கானதிறனைமதிப்பிடுதல்
Bunஆனதுமிகவிரைவாக செயல்படக்கூடியது, எனவே,அதன் செயலைபரிசோதிக்க வேண்டியிருக்கின்றது. JS இல் எளிய ‘hello world’ எனும் செயல்திட்டத்தை பரிசோதனை செய்திடலாம். மேலும், நாம் அதனோடு Nodeஇற்குஎதிராக Bun இன் செயல்திறனை தரப்படுத்த ஒரு hyperfine கட்டளை கருவியைப் பயன்படுத்திடலாம்
Bunஆனது Nodeஐ விட கிட்டத்தட்ட ஐந்து மடங்கு விரைவாக செயல்படுவதில் ஆச்சரியம் எதுவுமில்லை. கூடுதலாக, Bun இன் தொகுப்பு மேலாளர் Node இன் npm ஐ விட 30 மடங்கு வேகமாக நிறுவுகைசெய்கிறது.
எனவே நாம் Nodeஇற்குசெல்ல வேண்டுமா?
Bun ஆனது கணிசமான வாக்குறுதிகளை வழங்கினாலும், அதற்கான வரம்புகள் , பரிசீலனைகள் இல்லாமல் இல்லை. இதுதொடர்பான முதன்மையான கவலைகளில் ஒன்று அதன் நிலைத்தன்மையாகும். வளர்ந்து வரும் தொழில்நுட்பமாக, இதுஇருப்பதால் இன்னும் முதிர்ச்சியடையுமுன், அவ்வப்போது உறுதியற்ற தன்மையை இதுவெளிப்படுத்தலாம். இது சில மேம்படுத்துநர்கள் தங்கள் செயல்திட்டங்களுக்கு வலுவான , நம்பகமான இயக்க நேர சூழல்களை நாடுவதால், பரவலான அடிப்படையில் அதை ஏற்றுக்கொள்வதைத் தடுக்கலாம். மேலும், தற்போதுள்ள Node.js தகவமைவுகளுடன் Bun இன் இணக்கத்தன்மை தடையற்றதாக இல்லை. Node.js சூழல் அமைப்பில் உள்ள தகவமைவுகளின் விரிவான வரிசையுடன் முழு இணக்கத்தன்மையை அடைவதில் இது பல்வேறு தடைகளை எதிர்கொள்கிறது. இணக்கத்தன்மை சிக்கல்களை சந்திக்காமல் தடையின்றி Bun க்கு மாற விரும்பும் மேம்படுத்துநர்களுக்கு இது ஒரு தடையாக உள்ளது. Bun இன் மற்றொரு வளர்ந்து வரும் வசதி விண்டோ அடிப்படையிலான அமைப்புகளுக்கான அதன் ஆதரவாகும். தற்போது, மற்ற இயங்குதளங்களுக்கு வழங்குவது போன்ற இணக்கத்தன்மை, செயல்திறனை Windows பயனர்களுக்கு வழங்காமல் இருக்கலாம். இது முதன்மையாக Windows சூழலில் பணிபுரியும் மேம்படுத்துநர்களுக்கான கருத்தாகும்.
ஜாவாஉரைநிரல் காட்சிக்கு அதன் சமீபத்திய அறிமுகம் கொடுக்கப்பட்டால், Node.js , Deno போன்ற முன்கூட்டியே நிறுவுகைசெய்யப்பட்ட சகாக்களுடன் ஒப்பிடும்போது Bun ஆனது இன்னும் பரவலாக ஏற்றுக்கொள்ளலைப் பெறவில்லை. இதன் விளைவாக, நிரூபிக்கப்பட்ட நம்பகத்தன்மை, பரந்த தொழில்துறை ஏற்றுக்கொள்ளலைக் கோரும் பயன்பாடுகளுக்கான முதல் தேர்வாக இது இருக்காது. இருப்பினும், அதன் திறன் நம்பிக்கைக்குரியது. திறமூலமான Bun இன் வளர்ச்சியை அதன் GitHub களஞ்சியத்தில் github.com/oven-sh/bun எனும் முகவரியில் காணலாம்.
மேலும் விவரங்களுக்கும் பதிவிறக்கம்செய்து பயன்படுத்தி கொள்ளவும் bun.sh/எனும் இணையதளமுகவரிக்கு செல்க..