Tonse tikudziwa kuti JavaScript idayamba m'masiku oyambilira a mapulogalamu ndipo opanga akhala akugwiritsa ntchito kwa zaka zambiri. Koma, malo a JavaScript nthawi zina amatha kumva ngati njira yoti ayendetse.
Madivelopa nthawi zambiri amayimitsidwa ndi zosankha komanso kusinthanitsa chifukwa pali mitundu yambiri yogwiritsira ntchito, malaibulale, ndi ma frameworks omwe alipo.
Kufunika kwa malo othamanga omwe siwofulumira komanso othandiza kwa omanga ndi imodzi mwazovuta kwambiri.
Bun 1.0, nthawi yosinthira JavaScript, ikufuna kusintha momwe timapangira ndi kugawa mapulogalamu a JavaScript.
Bun imapereka kuphatikizika kwapadera kwa magwiridwe antchito ndi magwiridwe antchito popeza idamangidwa kuchokera pansi kupita mmwamba mwachangu komanso moyenera.
Si nthawi ina yothamanga; ndi bokosi lathunthu kuphatikiza bundler, wothamanga woyeserera, ndi kasamalidwe ka phukusi.
Ndiye n'chifukwa chiyani muyenera kupereka chisamaliro cha Bun m'dera lotanganidwa chotero?
Bun akuyamba ndi kuthana ndi zina mwazovuta kwambiri zomwe opanga amakumana nazo, monga kusintha kwa module komanso malamulo osokonekera ozungulira CommonJS ndi ESM.
Zimapereka chitukuko chosavuta komanso chodziwikiratu pokonza zovutazi.
Kuphatikiza apo, Bun idapangidwa kuti izigwira bwino ntchito, ndipo imachita bwino kuposa omwe akupikisana nawo odziwika bwino monga Node.js ndi Deno yokhala ndi mawonekedwe ake odabwitsa a HTTP.
Kuphatikiza apo, itha kugwiritsidwa ntchito ngati chotsitsa cha Node.js, chomwe chimathandiza magulu kuti asinthe mosavuta.
Komabe, kugogomezera kwa Bun pazochitika zodziwika bwino (DX) ndiye mtsutso wokhutiritsa kwambiri kuti uwombere.
Nthawi yonse ya polojekiti yanu, kuyambira pachitukuko mpaka kuyesa mpaka kutumizidwa, ndikofunikira, osati kungopanga ma code.
Bun akulonjeza kuti athetsa njira zogawanika zomwe nthawi zambiri zimavutitsa chitukuko cha JavaScript popereka bokosi lophatikizana.
Chifukwa chake, mu positi iyi, tiwona bwino Bun 1.0, zofunikira zake, momwe mungagwiritsire ntchito, ndi zina zambiri.
kumvetsa Ntchito 1.0
Bun 1.0 ndi nthawi yosinthira JavaScript yomwe imagwira ntchito ngati chida chothandizira oyambitsa.
Bun imapitilira kupitilira ndikungochita khodi yanu pophatikiza bundler, othamanga oyesa, ndi kasamalidwe ka phukusi mwachindunji muzachilengedwe zake.
Imakupatsirani ntchito yomwe ingafanane ndi kukhala ndi mpeni waku Swiss Army pama projekiti anu a JavaScript. Cholinga chake ndi kupita mofulumira—mwachangu kwambiri.
Adapangidwa kuti azithamanga komanso kukulitsa magwiridwe antchito amtundu wawo kudzera mu kukhazikitsa kwake mu Zig. Imamangidwa pa JavaScriptCore, injini yomwe imayendetsa Safari.
Tsopano, mwina mukufunsa momwe Bun amasiyanirana ndi zida monga Node.js ndi Deno. Tiyeni tiyambe pa izo tsopano.
Cholinga chake chachikulu ndikulowa m'malo mwa Node.js, kuphatikiza kuyenderana ndi njira yosinthira ma module a Node ndi ma module omangidwa ngati "fs" ndi "njira."
Chifukwa cha izi, opanga amatha kusintha mapulojekiti awo a Node.js kukhala Bun osatulutsa thukuta. Kuchita kwa Bun, komabe, ndipamene kumawala.
Ndi njira yabwino kwambiri pamapulogalamu apamwamba kwambiri chifukwa imayendetsa zopempha za HTTP bwino kuposa Node.js ndi Deno.
Njira ya Bun pazochitika zamapulogalamu (DX) ndi kusiyana kwina. Bun imapereka izi mwachilengedwe, mosiyana ndi Node.js ndi Deno, yomwe imapereka zida zogawanika zomwe zimafunikira mayankho a chipani chachitatu pakuwongolera ndi kuyesa phukusi.
Madivelopa amatha kuyang'ana kwambiri pama code komanso ochepera pa kasinthidwe chifukwa cha DX yolumikizana iyi, yomwe imachotsa kufunika kophatikiza zida zingapo ndi malaibulale.
Ndilo yankho lathunthu lomwe limalimbana ndi magwiridwe antchito komanso kugwiritsa ntchito, ndikukhazikitsa kapamwamba kamene JavaScript imatha kukhala nthawi yothamanga m'malo momangokhalira nthawi ina mu gawo la JavaScript.
Makhalidwe Abwino
1. Kuthamanga
Bun 1.0 ndiyofulumira kwambiri ikafika pa liwiro. Bun imatengera kukhathamiritsa kwa magwiridwe antchito pang'onopang'ono powonjezera liwiro lakwawo kudzera pa Zig ku injini ya JavaScriptCore, yomwe idapangidwira kale kuthamanga.
Ziwerengerozi zimadzilankhula zokha: molingana ndi ma benchmarks.
Bun imayendetsa zopempha 66,706 za HTTP pa sekondi iliyonse, kusiya Node.js ndi Deno kumbuyo ndi zopempha 13,967 ndi 32,921 pamphindikati, motsatira.
Uku sikungowonjezera pang'ono pakuchita; ndikudumpha kwachulukidwe komwe kungasinthe kwambiri mapulogalamu adziko lapansi, makamaka omwe amafunikira kutulutsa kwakukulu komanso kuchedwa kochepa.
2. Ma API Okongola
Bun 1.0 imapereka mndandanda wa ma API okongola komanso okometsedwa kwambiri omwe amathandizira zochitika zanthawi zonse kuphatikiza pachangu.
Bun wakuphimba ngati mukuyambitsa seva ya HTTP, kuwerenga ndi kulemba mafayilo, kapena kubisa mawu achinsinsi.
Ma API adapangidwa kuti akhale osavuta koma ogwira mtima, kuchotsa kufunikira kwa verbose code kapena malaibulale ena pazochitika zofunika kwambiri.
Mwachitsanzo, kuyitana Bun.serve()
kukhazikitsa seva ya HTTP kungakupangitseni kuti muyambe kugwira ntchito nthawi yomweyo. Bun ndi wodziwika bwino chifukwa chogogomezera kuphweka komanso kuchita bwino, zomwe zimapangitsa kuti ikhale yofulumira komanso yosavuta kupanga.
3. Zochitika Zogwirizanitsa Zomangamanga
Cholinga cha Bun 1.0 pakupereka chitukuko chosasinthika (DX) ndi chomwe chimasiyanitsa. Bun imaphatikizapo woyang'anira phukusi, wothamanga, ndi bundler, mosiyana ndi nthawi zina zothamanga zomwe zimapereka zida zogawanika.
Zotsatira zake, mumamasulidwa ku zovuta zogwiritsa ntchito zida zosiyanasiyana kapena kukhazikitsa mayankho a gulu lachitatu kuti mugwire ntchito mogwirizana.
Kuchokera m'bokosi, zonse zomwe mukufuna zilipo. Kuphatikiza pa kugwirizana, woyang'anira phukusi ndi wofulumira kuposa npm, pnpm, ndi ulusi.
Kuphatikiza pakuyesa mayeso anu mwachangu, wothamanga amaphatikiza mawu amtundu wa Jest, zomwe zimapangitsa kuti zikhale zosavuta kusintha osasintha khodi yanu.
Kuyika kwa Bun 1.0
Kuyambira ndi Bun 1.0 ndi njira yosavuta yomwe imapangidwira kuti ikuthandizeni kuthamanga mwachangu. Bun imatha kuthandizira machitidwe onse, kuphatikiza macOS, Linux, ngakhale Windows Subsystem ya Linux (WSL). Kuthamanga mzere umodzi wotsatira script kumamaliza ndondomeko yoyika. Momwe mungakhalire Bun 1.0 ndi motere:
Zonse zatheka! Muyenera kulemba chiganizo chimodzi kuti muyambe kuyang'ana chilengedwe cha Bun. Kudzipatulira kwa Bun pakupereka chidziwitso chokhazikika chamapulogalamu kuyambira pachiyambi kumawoneka mu kuphweka kwa kukhazikitsa.
Ubwino wogwiritsa ntchito Bun 1.0
Bun 1.0 imasintha kwathunthu masewerawa malinga ndi magwiridwe antchito apamwamba a seva. Ndilo njira yabwino kwambiri yogwiritsira ntchito pomwe kuthamanga ndi kutsika kwafupi kumakhala kofunikira chifukwa cha kuthekera kwake kukonza kuchuluka kwa zopempha za HTTP pamphindikati.
Njira yomwe imakhala yovuta kwambiri pakuwongolera kudalira imapangidwa kukhala yosavuta ndi Bun, kotero sizongokhudza magwiridwe antchito.
Kudalira kwa polojekiti yanu kumatha kuyendetsedwa mosavuta ndi woyang'anira phukusi lakwawo, lomwe ndi lachangu kuposa zosankha wamba monga npm ndi Yarn.
Thandizo lapamwamba la TypeScript la Bun ndi gawo lina lomwe limapambana. Ngati ndinu okonda TypeScript, mungakonde momwe Bun amakulolani kuchita .ts
ndi .tsx
mafayilo osasintha anu tsconfig.json
mipangidwe.
Zotsatira zake, kachitidwe kanu kachitukuko kadzakhala kosinthika komanso kothandiza ndipo sikudzafunikanso ma transpiler ena kapena kuyika.
sitingathe
Bun 1.0 ili ndi maubwino ambiri, koma ndikofunikira kuzindikira pomwe ingagwere.
Chobweza chimodzi chingakhale kuyambitsa kwake kwaposachedwa kwa JavaScript, zomwe zikutanthauza kuti ilibe chithandizo champhamvu chamagulu kapena laibulale yomwe ochita nawo mpikisano monga Node.js ndi Deno ali nawo.
Komanso, ngakhale Bun amayesetsa kuti alowe m'malo mwa Node.js, pakhoza kukhala zochitika zina zam'mphepete kapena ma modules a Node.js omwe sagwirizana kwathunthu. Izi zitha kupangitsa kuti zikhale zovuta kwa opanga kusintha mapulogalamu ovuta, akale a Node.js kupita ku Bun.
Kutsiliza
Pomaliza, Bun 1.0 ikuwoneka kuti ndi nthawi yosangalatsa ya JavaScript, kuphatikiza liwiro, kuphweka, ndi bokosi lazinthu zopanga mapulogalamu.
Ndi njira yodziwikiratu chifukwa cha kuthekera kwake pakuwongolera magwiridwe antchito apamwamba a seva, komanso njira yake yosavuta yoyendetsera kudalira komanso kuyanjana kwa TypeScript koyamba.
Bun imapereka njira yolandirika kwa opanga omwe atopa ndikuwongolera zida zambiri kapena kufunafuna nthawi yothamanga yomwe ili yothandiza kwambiri.
Mapangidwe ake ndi magwiridwe antchito ake akuwonetsa kudzipereka kwake pakuwongolera zomwe akupanga pakukhazikitsa ndi kutumiza.
Siyani Mumakonda