Ua ʻike mākou a pau ua hoʻomaka ʻo JavaScript i nā lā mua o ka hoʻonohonoho ʻana a ua hoʻohana nā mea hoʻomohala iā ia no nā makahiki. Akā, manaʻo paha ke kaiapuni JavaScript i kekahi manawa he maze ke hoʻokele.
Hoʻopau pinepine ʻia nā mea hoʻomohala e nā koho a me nā kālepa ʻana no ka mea he nui nā manawa holo like ʻole, nā hale waihona puke, a me nā frameworks i loaʻa.
ʻO ke koi no kahi kaiapuni runtime ʻaʻole wikiwiki wale nō akā kōkua pū kekahi i nā mea hoʻomohala kekahi o nā pilikia koʻikoʻi.
Ke ʻimi nei ʻo Bun 1.0, kahi manawa holo JavaScript kipi, e hoʻololi i ke ʻano o kā mākou hana ʻana a hoʻolaha i nā noi JavaScript.
Hāʻawi ʻo Bun i kahi hui kūikawā o ka hana a me ka hoʻohana ʻana mai ka mea i kūkulu ʻia mai lalo i luna no ka wikiwiki a me ka pono.
ʻAʻole ia he manawa holo ʻē aʻe; he pahu hana piha me ka pūʻolo, ka mea holo hoʻāʻo, a me ka hoʻokele pūʻolo.
No laila, no ke aha ʻoe e hāʻawi ai iā Bun i ka nānā ʻana i kahi wahi paʻa?
Hoʻomaka ʻo Bun ma ke kamaʻilio ʻana i kekahi o nā pilikia hoʻonāukiuki a nā mea hoʻomohala e hālāwai ai, e like me ka lunacy hoʻonā modula a me nā hoʻoponopono hoʻoponopono i kekahi manawa a puni CommonJS a me ESM.
Hāʻawi ia i kahi ʻike hoʻomohala maʻalahi a intuitive ma ka deconstructing i kēia paʻakikī.
Hoʻohui ʻia, ua hoʻolālā ʻia ʻo Bun no ka hana maikaʻi loa, a ua ʻoi aku ia ma mua o nā mea hoʻokūkū kaulana e like me Node.js a me Deno me kāna mau hiʻohiʻona noi noi HTTP kupaianaha.
Eia hou, hiki ke hoʻohana ʻia ma ke ʻano he kulu-i pani no Node.js, e kōkua ana i nā hui e hoʻololi maʻalahi.
Eia nō naʻe, ʻo ka manaʻo nui o Bun i kahi ʻike hoʻomohala cogent (DX) hiki ke hoʻopaʻapaʻa ʻoi loa ka manaʻo e hāʻawi iā ia i kahi pana.
ʻO ke ola holoʻokoʻa o kāu papahana, mai ka hoʻomohala ʻana i ka hoʻāʻo ʻana a hiki i ka hoʻolaha ʻana, he mea nui, ʻaʻole wale ka hana o ka hana code.
Hoʻohiki ʻo Bun e hoʻopau i nā kaʻina hana ʻāpana e hoʻopilikia pinepine i ka hoʻomohala ʻana i ka JavaScript ma o ka hoʻolako ʻana i kahi pahu hana hoʻohui.
No laila, ma kēia pou, e nānā pono kākou i ka Bun 1.0, kona mau hiʻohiʻona nui, pehea e hoʻohana ai, a me nā mea hou aku.
hoomaopopo Bun 1.0
ʻO ka Bun 1.0 kahi manawa holo JavaScript kipi e hana ana ma ke ʻano he mea hoʻomohala.
Hele ʻo Bun ma mua o ka hoʻokō wale ʻana i kāu code ma ka hoʻohui ʻana i kahi pūʻulu, mea holo hoʻāʻo, a me ka hoʻokele pūʻolo pololei i loko o kāna kaiaola.
Hāʻawi ia i kahi lawelawe e like me ka loaʻa ʻana o ka pahi Swiss Army no kāu mau papahana JavaScript. Manaʻo ʻia e hele wikiwiki—wikiwiki loa.
Ua hoʻolālā ʻia no ka wikiwiki a me ka hoʻonui ʻana i ka hana maoli-wikiwiki ma o kāna hoʻokō ʻana ma Zig. Kūkulu ʻia ia ma JavaScriptCore, ka ʻenekini e hoʻomalu iā Safari.
I kēia manawa, e nīnau paha ʻoe pehea ka ʻokoʻa o Bun mai nā mea hana e like me Node.js a me Deno. E hoʻomaka kākou i kēia manawa.
ʻO ka pahuhopu nui ʻo ia ka lawelawe ʻana ma ke ʻano he hāʻule-i pani no Node.js, me ka hoʻohālikelike ʻana me ke ʻano hoʻonā ʻano module a Node a me nā modules i kūkulu ʻia e like me "fs" a me "path."
Ma muli o kēia, hiki i nā mea hoʻomohala ke hoʻololi i kā lākou mau papahana Node.js i ka Bun me ka ʻole o ka uha ʻana i ka hou. ʻO ka hana a Bun naʻe, kahi e ʻā maoli ai.
He koho maikaʻi loa ia no nā noi hana kiʻekiʻe no ka mea ʻoi aku ka maikaʻi o nā noi HTTP ma mua o Node.js a me Deno.
ʻO ke ala o Bun i ka ʻike hoʻomohala (DX) kahi ʻokoʻa ʻē aʻe. Hāʻawi ʻo Bun i kēia mau mana ma ke ʻano maoli, ʻaʻole like me Node.js a me Deno, e hāʻawi ana i nā hāmeʻa ʻāpana e pono ai i nā ʻaoʻao ʻekolu no ka hoʻokele ʻana a me ka hoʻāʻo ʻana.
Hiki i nā mea hoʻomohala ke noʻonoʻo nui aʻe i ka code a me ka liʻiliʻi ma ka hoʻonohonoho ʻana ma muli o kēia DX koʻikoʻi, kahi e hoʻopau ai i ka pono e hui pū i nā mea hana a me nā hale waihona puke.
He hopena piha ia e hoʻoponopono ai i ka hana a me ka hoʻohana ʻana, e hoʻonohonoho i kahi pā hou no ka mea e hiki ai i ka wā holo JavaScript ma mua o kahi manawa holo ʻē aʻe ma ka māhele JavaScript congested.
Nā hiʻohiʻona maʻamau
1. Hue
He wikiwiki loa ka Bun 1.0 i ka wikiwiki. Lawe ʻo Bun i ka hoʻonui ʻana i ka hana ma o ka hoʻohui ʻana i ka hiki ke wikiwiki maoli ma o Zig i ka mīkini JavaScriptCore, i hoʻolālā ʻia no ka wikiwiki.
'Ōlelo nā kiʻi no lākou iho: e like me nā benchmarks.
Hana ʻo Bun i 66,706 mau noi HTTP i kēlā me kēia kekona, e waiho ana iā Node.js a me Deno me 13,967 a me 32,921 mau noi i kēlā me kēia kekona.
ʻAʻole kēia he hoʻonui iki i ka hana; he lele nui ia e hiki ke hoʻololi nui i nā noi honua maoli, ʻoi aku ka nui o nā mea e koi ana i ka puka kiʻekiʻe a me ka latency haʻahaʻa.
2. Nā API nani
Hāʻawi ʻo Bun 1.0 i kahi hōʻiliʻili o nā API nani a maikaʻi loa e hoʻomaʻamaʻa i nā hana maʻamau me ka wikiwiki.
Ua uhi ʻo Bun iā ʻoe inā ʻoe e hoʻomaka ana i kahi kikowaena HTTP, heluhelu a kākau i nā faila, a i ʻole hashing i kahi ʻōlelo huna.
Hoʻolālā ʻia nā API i mea maʻalahi akā maikaʻi, e hoʻopau ana i ka pono o ka verbose code a i ʻole nā hale waihona puke ʻē aʻe no nā hana kumu.
No ka laʻana, kelepona Bun.serve()
e hoʻomaka i kahi kikowaena HTTP hiki iā ʻoe ke ala a holo i ka manawa. Kūleʻa ʻo Bun ma muli o kona manaʻo nui i ka maʻalahi a me ka maikaʻi, ʻaʻole ia he wikiwiki wale nō akā he mea hoʻomohala maikaʻi loa.
3. ʻIke Hoʻomohala Cohesive
ʻO ka manaʻo o Bun 1.0 i ka hāʻawi ʻana i kahi ʻike hoʻomohala ʻole (DX) ʻo ia ka mea e hoʻokaʻawale ai. Loaʻa i ka Bun kahi luna pūʻolo maoli, mea holo hoʻāʻo, a me ka pūʻulu, ʻokoʻa me nā manawa holo ʻē aʻe e hāʻawi ana i nā mea hana ʻāpana.
ʻO ka hopena, ua hoʻokuʻu ʻia ʻoe mai ke kaumaha o ka juggling i nā mea hana like ʻole a i ʻole ka hoʻonohonoho ʻana i nā hoʻonā ʻaoʻao ʻekolu e hana like me kekahi.
Ma waho o ka pahu, aia nā mea a pau āu e makemake ai. Ma waho aʻe o ka hoʻohālikelike ʻana, ʻoi aku ka wikiwiki o ka luna pūʻolo ma mua o ka npm, pnpm, a me ka yarn.
Ma waho aʻe o ka holo wikiwiki ʻana i kāu mau hoʻāʻo ʻana, loaʻa i ka mea holo hoʻāʻo ka syntax-style Jest, e maʻalahi ke hoʻololi me ka hoʻololi ʻole i kāu code.
Hoʻokomo i ka Bun 1.0
ʻO ka hoʻomaka me ka Bun 1.0 kahi hana maʻalahi i manaʻo ʻia e hoʻāla a holo wikiwiki. Hiki iā Bun ke kākoʻo i nā ʻōnaehana hana āpau, me ka macOS, Linux, a me Windows Subsystem no Linux (WSL). ʻO ka holo ʻana i kahi palapala laina kauoha e hoʻopau i ke kaʻina hana. Pehea e hoʻouka ai i ka Bun 1.0 penei:
Pau nā mea a pau! Pono ʻoe e kākau i hoʻokahi ʻōlelo no ka hoʻomaka ʻana e ʻimi i ka honua Bun. ʻO ka hoʻolaʻa ʻana o Bun i ka hāʻawi ʻana i kahi ʻike hoʻomohala maʻalahi mai ka hoʻomaka ʻana i ʻike ʻia ma ka maʻalahi o ka hoʻonohonoho ʻana.
Nā pōmaikaʻi o ka hoʻohana ʻana i ka Bun 1.0
Hoʻololi loa ʻo Bun 1.0 i ka pāʻani ma ke ʻano o nā polokalamu ʻaoʻao kikowaena hana kiʻekiʻe. ʻO ia ke koho kūpono no nā noi kahi e pono ai ka wikiwiki a me ka latency haʻahaʻa ma muli o kona hiki ke hoʻoponopono i kahi helu nui o nā noi HTTP i kekona.
ʻO ke kaʻina hana maʻamau o ka hoʻokele hilinaʻi maʻalahi e Bun, no laila, ʻaʻole ia e pili ana i ka hana maʻamau.
Hiki ke hoʻokele maʻalahi ʻia nā hilinaʻi o kāu papahana me kāna luna pūʻolo maoli, ʻoi aku ka wikiwiki ma mua o nā koho maʻamau e like me npm a me Yarn.
ʻO ke kākoʻo TypeScript kiʻekiʻe o Bun kahi wahi ʻē aʻe i ʻoi aku ka maikaʻi. Inā makemake ʻoe i ka TypeScript, makemake ʻoe i ka ʻae ʻana o Bun iā ʻoe e hoʻokō .ts
a .tsx
faila me ka hoʻololi ʻole i kāu tsconfig.json
nā hoʻonohonoho.
ʻO ka hopena, ʻoi aku ka maʻalahi a me ka maikaʻi o kāu kaʻina hana hoʻomohala a ʻaʻole e koi i nā transpiler a i ʻole nā hoʻonohonoho.
hoʻokau
Nui nā pōmaikaʻi o Bun 1.0, akā he mea nui nō hoʻi e ʻike i kahi e hiki ai ke hāʻule.
ʻO kekahi drawback, ʻo ia ka hoʻolauna hou ʻana i ke kaiapuni JavaScript, ʻo ia hoʻi, ʻaʻole i loaʻa iā ia ke kākoʻo koʻikoʻi o ke kaiāulu a i ʻole kaiaola waihona puke i loaʻa i nā mea hoʻokūkū kahiko e like me Node.js a me Deno.
Eia kekahi, ʻoiai ke hoʻoikaika nei ʻo Bun e lilo i mea pani pololei no Node.js, aia kekahi mau kūlana ʻaoʻao a i ʻole nā modula Node.js i kūpono ʻole. He mea paʻakikī kēia i nā mea hoʻomohala e hoʻololi i nā polokalamu Node.js kahiko i Bun.
Panina
I ka hopena, hōʻike ʻo Bun 1.0 i kahi manawa holo JavaScript hoihoi, hoʻohui i ka wikiwiki, maʻalahi, a me kahi pahu hana hoʻomohala piha.
He koho koʻikoʻi ia ma muli o kona mākaukau no ka hoʻokele ʻana i nā noi ʻaoʻao server-ʻaoʻao kiʻekiʻe, a me kāna ala maʻalahi i ka hoʻokele hilinaʻi a me ka hoʻohālikelike ʻana o TypeScript.
Hāʻawi ʻo Bun i kahi koho hoʻokipa no nā mea hoʻomohala luhi i ka hoʻokele ʻana i nā mea hana he nui a i ʻole e ʻimi ana i kahi manawa holo i ʻoi aku ka maikaʻi.
Hōʻike kona hoʻolālā a me kāna hana i kona hoʻolaʻa ʻana i ka hoʻomaikaʻi ʻana i ka ʻike mea hoʻomohala i ka wā o ka hoʻokomo ʻana a me ka hoʻolaha ʻana.
Waiho i ka Reply