தற்போதையநிலையில் ஜாவாஉரைநிரல் மேம்பாட்டிற்கு புதியசெயல்வேகம் தேவைப்படுகிறது, அதனை நிறைவுசெய்திடுவதற்காக இந்த Bun எனும் கட்டற்ற பயன்பாடானது மின்னல் வேக செயல்திறனையும், சொந்த TypeScript ஆதரவினையும் , நெறிப்படுத்தப்பட்ட பணிப்பாய்வுகளையும்ன் வழங்குகிறது. ஆனால் இன்னும் அதற்கான மேலும் கூடுதலான பணிகளும் நடைபெற்று வருகின்றன.
இந்த Bun.ஆனது ஜாவாஉரைநிரல் மேம்பாட்டில் விரைவான , எப்போதும் உருவாகின்ற அகண்மையில், ஒரு புதிய, நம்பிக்கைக்குரிய செயலியாக சமீபத்தில் அறிமுகமாகியுள்ளது: இந்த Bun.ஆனது ஜாவாஉரைநிரலில் , TypeScript பயன்பாடுகள் கட்டமைக்கப்பட்ட, பரிசோதனை , பயன்படுத்தப்படும் வழிமுறையை மாற்றுவதற்கு தயாராக உள்ளது என்றவாறு அனைத்து பணிகளுக்கும் ஒரு கருவித் தொகுப்பாக அமைந்துள்ளது. இது ஒரு இயக்க நேர சூழலுக்கு அப்பாற்பட்டது – இது ஒரு தொகுப்பு மேலாளர், ஒரு உள்ளிணைந்தவர் , ஒரு இயக்கமாதிரியாளவர் ஆகிய அனைத்து பாத்திரங்களையும் கொண்டவொரு ஒருங்கிணைந்த தொகுப்பாக இணைக்கிறது.
மேம்படுத்துநர்களுக்கான மென்மையான , திறமையான பணிப்பாய்வுகளின் சகாப்தத்தை உருவாக்கி, வளர்ச்சி செயல்முறையை எளிதாக்குவதே இந்தBun இன் முதன்மையான நோக்கமாகும். இதன் படைப்பாளிகள் இதனுடைய செயல் மிகவிரைவாகஅமையுமாறும் , அதனை நாம்சரியாக அறிந்து கொள்ளுமாறான தீர்வை வழங்குவதை நோக்கமாகக் கொண்டுள்ளனர், அதனோடு நவீன வளர்ச்சி நடைமுறைகளுடன் மிகவும் நெருக்கமாக இணைந்து செயல்படுமாறு கட்டமைத்துள்ளனர். அவ்வாறு செய்வதன் மூலம், இந்த Bun ஆனது Node.js க்கு ஒரு கட்டாய மாற்றாகச் செயல்பட வாய்ப்பாக அமைகின்றது, இது நீண்ட காலமாக சிறந்த செயல்திறன்,பல்துறை சமூக ஆதரவைத் தேடுகின்ற மேம்படுத்துநர்களுக்கான நல்வாய்ப்பாக விளங்குகின்றது.
Bun ஐ மேலும் ஆய்வுசெய்திடும்போது, அதன் முக்கிய வசதிவாய்ப்புகள், JavaScript சூழல் அமைப்பில் அதன் சாத்தியமான தாக்கம், தற்போதைய இணையத்திலும் . மற்ற பயன்பாடுகளிலும் மேம்பாட்டில் வளர்ந்து வருகின்ற கோரிக்கைகளை எவ்வாறு பூர்த்தி செய்வது என்பதை நோக்கமாகக் கொண்டுள்ளது .
Bunஆனது ஜாவாஉரைநிரலின் இயக்க நேர வரலாற்றில் ஒரு புதிய வரவாக திகழ்கின்றது
பொதுவாக இந்த ஜாவாஉரைநிரல் மேம்பாட்டின் உலகம் எப்போதும் வளரந்து முன்னேறி கொண்டே வருகின்றது என்ற செய்தி நாமனைவரும அறிந்ததுதன், அதனோடு Node.js போன்ற நன்கு நிறுவுகைசெய்யப்பட்ட கருவிகளின் முன்னிலையில் கூட, புதுமைக்கும் முன்னேற்றத்திற்கும் எப்போதும் இடமுண்டு என்பதே இதன் அடிப்படைசெய்தியாகும். இந்த Bun ஆனது மேம்படுத்துநர் சமூகத்தில் பெரும் சலசலப்பை உருவாக்கி யுள்ளது. ஆனால் அதன் முன்னோடியிலிருந்து இதை வேறுபடுத்துவது எது, ஏன் உருவாக்கப்பட்டு வெளியிடப்பட்டது? என்பதற்கான இந்த 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 ஐப் புரிந்துகொள்வோம். Bunஇல் செயல் திட்டத்தை உருவாக்க, நாம் init எனும் கட்டளையை பின்வருமாறு பயன்படுத்திடுத.
mkdir Sk-bun
cd Sk-bun
bun init
இங்கே’Sk-bun’ என்ற பெயரில் ஒரு கோப்பகத்தை உருவாக்கி, அதில் init எனும் கட்டளையைவரி இயக்கப்படுகின்றது. இது அடிப்படையில் நம்முடைய செயல்திட்டம் தொடர்பான பல கேள்விகளைக் கேட்கும் ஒரு அமைப்பின் கட்டளை வரியாகும். நுழைவுப் புள்ளிக்கு பெயரிடும் போது (இது நாம் இயக்கப் போகும் முக்கிய கோப்பு), TypeScript, JavaScript ஆகியவற்றிற்கான .ts , .js ஆகிய இரண்டையும் Bun ஏற்றுக்கொள்கிறது. எடுத்துக்காட்டில், index.js ஐப் பயன்படுத்திகொள்ளப்படுகின்றது, செயல்திட்டத்தை ஜாவாஉரைநிரல் செயல்திட்டமாக மாற்றியமைக்கப்படுகின்றது. index.js இல் குறிமுறைவரிகளைத் திறக்கும்போது, JS இல் எழுதப்பட்ட ஒரு எளிய Hello world’ இற்கான நிரலைக் காணலாம்
Bun இன் சொந்த செயலிகளைப் பயன்படுத்தி நேரடியாக ஒரு HTTP சேவையகத்தை நிரலாக்கம் செய்வதைப் போன்று எளிமையாக நாமே நிரலாக்கம்ஒன்றினை செய்திடலாம்
— console.log(“Hello via Bun!”);
1+ Bun.serve({
2+ fetch(request) {
3+ return new Response(“Hello Sk!”);
4+ },
5+ })
இதைச் செயல்படுத்த, பின்வருமாறான கட்டளைவரியைதட்டச்சு செய்க:
bun run index.js
இதன் முடிவைகாண localhost:3000 க்குச் செல்க.
run எனும் கட்டளையை மீண்டும் இயக்குவதற்குப் பதிலாக, உடனடியாக மறுபதிவேற்றம் செய்வதற்கான வாய்ப்பினையும் இந்தBun வழங்குகிறது, இதனால் கோப்பில் ஏதேனும் மாற்றங்கள் செய்திருந்தால்உடனடியாக புதுப்பிக்கப்படுகின்றது
bun –hot index.js
Bun ஆனது மிகவிரைவான செயல்வேகம்கொண்டது, எனவே ிதை பரிசோதிக்க வேண்டியிருக்கின்றது. JS இல் எளிய ‘Hello world’எனும் செயல்திட்டத்தை பரிசோதனையாகப் பயன்படுத்தி சரிபார்த்திடலாம். மேலும், Nodeஇற்கு எதிராக Bun இன் செயல்திறனை தரப்படுத்த ஒரு hyperfine கட்டளை வரி கருவியைப் பயன்படுத்திகொள்ளலாம்.
Bun ஆனது Node.ஐ விட கிட்டத்தட்ட ஐந்து மடங்கு விரைவாக செயல்படுவதில் ஆச்சரியம் எதுவுமில்லை. கூடுதலாக, Bun இன் தொகுப்பு மேலாளர் Node இன் npm ஐ விட 30 மடங்கு விரைவாக நிறுவுகைசெய்கிறது.
எனவே நாம் Bunஇற்கு செல்ல வேண்டுமா? என்பதை முடிவுசெய்துகொள்க
Bun ஆனது கணிசமான வாக்குறுதியைவழங்கினாலும், இதற்கும் குறிப்பிட்ட செயல்வரம்புகள் , பரிசீலனைகள் இல்லாமல் இல்லை.இந்த Bun தொடர்பான முதன்மையான கவலைகளில் ஒன்று அதன் நிலைத்தன்மையாகும். தற்போது இது முதிர்ச்சியடையாது வளர்ந்து வருகி்ன்றவொரு புதிய தொழில்நுட்பமாக, இது இன்னும் இருந்துவருவதால், அவ்வப்போது உறுதியற்ற தன்மையை இது வெளிப்படுத்தலாம். இது சில மேம்படுத்துநர்கள் தங்கள் செயல்திட்டங்களுக்கு வலுவான , நம்பகமான இயக்க நேர சூழல்களை நாடுவதால், பரவலான அடிப்படையில் அதை ஏற்றுக்கொள்வதைத் தடுக்கலாம். மேலும், தற்போதுள்ள Node.js தொகுப்புகளுடன் Bun இன் இணக்கத்தன்மை தடையற்றதாக இல்லை. Node.js சூழல் அமைப்பில் உள்ள தொகுப்புகளின் விரிவான முழு இணக்கத் தன்மையை அடைவதில் இது தடைகளை எதிர்கொள்கிறது. இணக்கத்தன்மை சிக்கல்களை சந்திக்காமல் தடையின்றி Bun க்கு மாற விரும்பும் மேம்படுத்துநர்களுக்கு இது ஒரு தடையாக உள்ளது. Bun இன் மற்றொரு வளர்ந்து வரும் வசதி விண்டோ அடிப்படையிலான அமைப்புகளுக்கான அதன் ஆதரவு இல்லாமையாகும். தற்போது, மற்ற இயங்குதளங்களுக்கு வழங்குவது போன்ற இணக்கத்தன்மை, செயல்திறனை Windows பயனர்களுக்கு வழங்காமல் இருக்கலாம். இது முதன்மையாக Windows சூழலில் பணிபுரியும் மேம்படுத்துநர்களுக்கான கருத்தமைவாகும்.
ஜாவாஉரைநிரல் காட்சிக்கு அதன் சமீபத்திய அறிமுகம் கொடுக்கப்பட்டால், Node.js , Deno போன்ற முன்கூட்டியே நிறுவுகைசெய்யப்பட்ட சகாக்களுடன் ஒப்பிடும்போது Bunஆனது இன்னும் பரவலான ஏற்றுக்கொள்ளுதலைப் பெறவில்லை. இதன் விளைவாக, நிரூபிக்கப்பட்ட நம்பகத்தன்மை, பரந்த தொழில்துறை ஏற்றுக்கொள்ளுதலைக் கோருகின்ற பயன்பாடுகளுக்கான முதல் தேர்வாக இது இருக்காது. இருப்பினும், அதன் திறன் நம்பிக்கைக்குரியது. இந்த Bun ஆனது கட்டற்ற கட்டணமற்ற கரவியாகும் மேலும் விவரங்களுக்கு
github.com/oven-sh/bun எனும் இணையதளமுகவரிக்கு செல்க.