Peb txhua tus paub tias JavaScript tau pib thaum ntxov ntawm kev ua haujlwm thiab cov neeg tsim khoom tau siv nws ntau xyoo. Tab sis, qee zaum JavaScript ib puag ncig tej zaum yuav xav tias zoo li kev tshawb nrhiav.
Cov neeg tsim khoom feem ntau tuag tes tuag taw los ntawm kev xaiv thiab kev lag luam tawm vim tias muaj ntau yam sib txawv, cov tsev qiv ntawv, thiab cov txheej txheem muaj.
Qhov yuav tsum tau muaj rau lub sijhawm ua haujlwm ib puag ncig uas tsis yog nrawm nkaus xwb tab sis kuj tseem yuav pab tau rau cov neeg tsim khoom yog ib qho kev sib tw ceev tshaj plaws.
Bun 1.0, lub sijhawm hloov pauv ntawm JavaScript, nrhiav kev hloov pauv txoj hauv kev uas peb tsim thiab faib cov ntawv thov JavaScript.
Bun muab qhov tshwj xeeb fusion ntawm kev ua tau zoo thiab kev siv tau txij li nws tau tsim los ntawm hauv qab mus rau kev ceev thiab kev ua haujlwm.
Nws tsis yog lwm lub sijhawm ua haujlwm; nws yog ib lub cuab yeej ua tiav nrog rau cov bundler, xeem khiav, thiab kev tswj pob.
Yog li vim li cas koj thiaj li yuav tsum muab Bun rau hauv qhov chaw tsis khoom zoo li no?
Bun pib los ntawm kev hais txog qee qhov teeb meem ntxhov siab tshaj plaws uas cov neeg tsim khoom tau ntsib, xws li kev daws teeb meem kev daws teeb meem thiab qee zaum cov kev cai tsis sib haum xeeb ntawm CommonJS thiab ESM.
Nws muab qhov kev paub yooj yim dua thiab kev paub txog kev txhim kho los ntawm deconstructing no complexity.
Tsis tas li ntawd, Bun yog tsim los rau kev ua tau zoo heev, thiab nws ua tau zoo tshaj cov neeg sib tw zoo li Node.js thiab Deno nrog nws qhov zoo tshaj plaws HTTP thov ua cov yam ntxwv.
Tsis tas li ntawd, nws tuaj yeem siv los ua qhov hloov pauv rau Node.js, uas pab pawg ua kom hloov pauv tau yooj yim dua.
Txawm li cas los xij, Bun qhov tseem ceeb ntawm kev paub txog tus tsim tawm (DX) yog qhov kev sib cav zoo tshaj plaws los muab nws tua.
Lub neej tag nrho ntawm koj qhov project, los ntawm kev txhim kho mus rau kev sim mus rau kev xa tawm, yog qhov tseem ceeb, tsis yog qhov kev tsim cov cai.
Bun cog lus tias yuav tshem tawm cov txheej txheem fragmented uas nquag cuam tshuam rau JavaScript txoj kev loj hlob los ntawm kev muab ib lub cuab yeej ua ke.
Yog li, hauv tsab ntawv tshaj tawm no, peb yuav ua tib zoo saib ntawm Bun 1.0, nws cov yam ntxwv tseem ceeb, siv nws li cas, thiab ntau ntxiv.
Understanding Kev 1.0
Bun 1.0 yog qhov hloov pauv hloov pauv ntawm JavaScript runtime uas ua haujlwm raws li tus tsim tawm mus-rau cov cuab yeej.
Bun mus rau saum toj thiab dhau mus tsuas yog ua tiav koj cov cai los ntawm kev sib koom ua ke ntawm cov khoom siv, kev sib tw khiav, thiab kev tswj pob ncaj qha rau hauv nws cov ecosystem.
Nws muab cov kev pabcuam uas piv rau muaj riam phom Swiss Army rau koj cov haujlwm JavaScript. Nws yog npaj mus sai sai - sai heev.
Nws tau tsim los rau kev ceev thiab nthuav dav hauv haiv neeg-ceev ua haujlwm los ntawm nws qhov kev siv hauv Zig. Nws yog tsim los ntawm JavaScriptCore, lub cav uas tswj Safari.
Tam sim no, tej zaum koj yuav nug seb Bun txawv li cas ntawm cov cuab yeej xws li Node.js thiab Deno. Cia peb pib ntawm nws tam sim no.
Nws yog lub hom phiaj tseem ceeb yog los ua ib qho kev hloov pauv rau Node.js, suav nrog kev sib raug zoo nrog Node's module daws teeb meem txoj kev thiab cov modules built-in zoo li "fs" thiab "path."
Vim li no, cov neeg tsim khoom tuaj yeem hloov lawv cov haujlwm Node.js uas twb muaj lawm rau Bun yam tsis muaj hws. Bun qhov kev ua tau zoo, txawm li cas los xij, yog qhov uas nws ci ntsa iab.
Nws yog qhov kev xaiv zoo tshaj plaws rau kev ua haujlwm siab vim nws ua haujlwm HTTP thov zoo dua Node.js thiab Deno.
Bun txoj hauv kev rau kev tsim tawm (DX) yog lwm qhov sib txawv. Bun muaj cov peev txheej no ib txwm muaj, tsis zoo li Node.js thiab Deno, uas muaj cov khoom siv fragmented xav tau kev daws teeb meem thib peb rau kev tswj hwm pob thiab kev sim.
Cov neeg tsim khoom tuaj yeem mloog ntau dua ntawm cov lej thiab tsawg dua ntawm kev teeb tsa vim tias qhov sib txuam DX no, uas tshem tawm qhov xav tau los ua ke ntau yam cuab yeej thiab cov tsev qiv ntawv.
Nws yog ib qho kev daws teeb meem uas daws tau ob qho tib si kev ua tau zoo thiab kev siv tau, teeb tsa lub bar tshiab rau qhov twg JavaScript runtime tuaj yeem ua tau ntau dua li lwm lub sijhawm ua haujlwm hauv JavaScript sector.
Cov Nta Muaj
1. Kev ceev
Bun 1.0 yog qhov nrawm heev thaum nws los txog nrawm. Bun siv qhov kev ua tau zoo ib kauj ruam ntxiv los ntawm kev ntxiv cov peev txheej hauv zej zog los ntawm Zig rau JavaScriptCore lub cav, uas twb tau tsim los rau kev ceev.
Cov duab hais rau lawv tus kheej: raws li cov qauv ntsuas.
Bun ua rau lub siab-boggling 66,706 HTTP thov ib ob, tawm hauv Node.js thiab Deno zoo tom qab nrog 13,967 thiab 32,921 thov ib ob, feem.
Qhov no tsis yog kev txhawb nqa me ntsis hauv kev ua haujlwm; Nws yog quantum dhia uas tuaj yeem hloov pauv cov ntawv thov tiag tiag hauv ntiaj teb, tshwj xeeb yog cov uas xav tau cov khoom siv siab thiab qis latency.
2. Elegant APIs
Bun 1.0 muab cov ntawv sau ntawm APIs zoo nkauj thiab ua kom zoo tshaj plaws uas ua kom yooj yim cov haujlwm niaj hnub ntxiv rau kev ceev.
Bun muaj koj them seb koj tab tom tso HTTP server, nyeem ntawv thiab sau cov ntaub ntawv, lossis hashing tus password.
Cov APIs tau tsim los ua kom yooj yim tab sis siv tau, ua kom deb ntawm qhov xav tau ntawm verbose code lossis lwm lub tsev qiv ntawv rau cov haujlwm tseem ceeb.
Piv txwv li, hu Bun.serve()
tso tawm HTTP server tuaj yeem ua rau koj nce thiab khiav tsis muaj sijhawm. Bun sawv tawm vim nws qhov tseem ceeb ntawm kev yooj yim thiab kev ua tau zoo, uas ua rau nws tsis yog ceev tab sis kuj yog tus tsim tawm heev.
3. Cohesive Developer Experience
Bun 1.0's tsom ntsoov rau kev muab kev txhim kho seamless (DX) yog qhov ua rau nws sib nrug. Bun suav nrog tus thawj tswj hwm pob ib txwm muaj, tus neeg sib tw khiav, thiab cov pob khoom, sib piv rau lwm lub sijhawm ua haujlwm uas muaj cov khoom siv fragmented.
Yog li ntawd, koj tau dim ntawm lub nra ntawm juggling ntau yam cuab yeej lossis teeb tsa cov kev daws teeb meem thib peb kom ua haujlwm sib haum xeeb nrog ib leeg.
Tawm ntawm lub thawv, txhua yam koj xav tau yog tam sim no. Ntxiv rau qhov ua tau zoo, tus thawj tswj pob tau nrawm dua npm, pnpm, thiab xov paj.
Ntxiv nrog rau kev khiav koj qhov kev xeem sai dua, tus xeem khiav suav nrog Jest-style syntax, ua kom yooj yim hloov yam tsis hloov koj cov cai.
Installation ntawm Bun 1.0
Pib nrog Bun 1.0 yog cov txheej txheem yooj yim uas yog npaj los ua kom koj nce thiab khiav nrawm. Bun tuaj yeem txhawb nqa txhua qhov kev khiav haujlwm, suav nrog macOS, Linux, thiab txawm tias Windows Subsystem rau Linux (WSL). Khiav ib kab lus hais kom ua tiav cov txheej txheem installation. Yuav ua li cas rau nruab Bun 1.0 yog raws li hauv qab no:
Txhua yam ua tiav! Koj tsuas yog yuav tsum tau sau ib kab lus kom pib tshawb txog Bun ntug. Bun qhov kev mob siab rau kev xa cov kev tsim kho kom zoo los ntawm qhov pib yog pom hauv qhov yooj yim ntawm kev teeb tsa.
Qhov zoo ntawm kev siv Bun 1.0
Bun 1.0 hloov tag nrho cov kev ua si nyob rau hauv cov nqe lus ntawm high-performance server-sab daim ntaub ntawv. Nws yog qhov kev xaiv zoo tshaj plaws rau cov ntawv thov uas qhov ceev thiab qis latency yog qhov tseem ceeb vim tias nws lub peev xwm los ua cov lej ntawm HTTP thov ib ob.
Cov txheej txheem feem ntau nyuaj ntawm kev tswj hwm kev vam meej yog ua kom yooj yim los ntawm Bun, yog li nws tsis yog hais txog kev ua tau zoo.
Koj qhov project qhov kev cia siab tuaj yeem tswj tau yooj yim nrog nws tus thawj tswj hwm pob, uas yog nrawm dua li cov kev xaiv ntau dua li npm thiab xov paj.
Bun's top-notch TypeScript kev txhawb nqa yog lwm qhov chaw uas nws ua tau zoo. Yog tias koj yog tus nyiam TypeScript, koj yuav nyiam li cas Bun cia koj ua .ts
thiab .tsx
cov ntaub ntawv tsis hloov koj tsconfig.json
nqis.
Yog li ntawd, koj txoj kev txhim kho kev ua haujlwm yuav ua kom yooj yim dua thiab ua haujlwm tau zoo thiab yuav tsis xav tau cov transpilers lossis teeb tsa ntxiv.
Cov kev txwv
Bun 1.0 muaj ntau cov txiaj ntsig, tab sis nws tseem ceeb heev kom paub qhov twg nws tuaj yeem poob luv.
Ib qho tsis zoo yuav yog nws qhov kev taw qhia tsis ntev los no rau JavaScript ib puag ncig, uas txhais tau hais tias nws tseem tsis tau muaj lub zej zog muaj zog txhawb nqa lossis tsev qiv ntawv ecosystem uas muaj kev sib tw zoo li Node.js thiab Deno muaj.
Tsis tas li ntawd, txawm tias Bun siv zog los ua tus hloov pauv ncaj qha rau Node.js, tuaj yeem muaj qee qhov xwm txheej ntug lossis tshwj xeeb Node.js modules uas tsis sib xws. Qhov no tuaj yeem ua rau nws nyuaj rau cov neeg tsim khoom hloov pauv qhov nyuaj, qub Node.js apps rau Bun.
xaus
Hauv kev xaus, Bun 1.0 ua pov thawj los ua qhov zoo nkauj JavaScript runtime, sib txuas ceev, yooj yim, thiab cov cuab yeej tsim kho dav dav.
Nws yog qhov kev xaiv tseem ceeb vim nws qhov kev txawj ntse rau kev tswj hwm kev ua haujlwm siab ntawm server-sab daim ntawv thov, nrog rau nws txoj hauv kev yooj yim rau kev tswj hwm kev vam meej thiab thawj tus nqi TypeScript kev sib raug zoo.
Bun muab kev xaiv txais tos rau cov neeg tsim khoom nkees ntawm kev tswj ntau yam cuab yeej lossis nrhiav lub sijhawm ua haujlwm uas ua haujlwm tau zoo dua.
Nws tsim thiab kev ua haujlwm qhia tau tias nws mob siab rau kev txhim kho cov neeg tsim khoom kev paub thoob plaws hauv kev teeb tsa thiab kev xa tawm.
Sau ntawv cia Ncua