Hacker News

Nā memo no ke kākau ʻana iā Wasm-based Wasm

Nā Manaʻo

18 min read Via notes.brooklynzelenka.com

Mewayz Team

Editorial Team

Hacker News

Ka Teritori Uncharted of WebAssembly

Ma ka ʻāina e ulu mau nei o ka hoʻomohala pūnaewele, ua puka mai kahi ʻenehana hou ikaika, e hoʻohiki ana e wāwahi i nā pale ma waena o ka hoʻokō ʻana i ka noi maoli a me ka honua holoʻokoʻa o ka pūnaewele. ʻO kēia ʻenehana he WebAssembly, a i ʻole WASM. No nā mea hoʻomohala maʻa i ka honua ikaika o JavaScript, hiki i ke kākau ʻana no WASM ke manaʻo e like me ke kahakaha ʻana i kahi palena hou. He hoʻololi ia mai ka unuhi ʻana i nā code i ka wā holo i ka hoʻokō ʻana i nā binaries wikiwiki i hoʻonohonoho mua ʻia, kokoke i ka ʻōiwi maoli i ka polokalamu kele pūnaewele. ʻOiai e wehe ana kēia i nā mea hiki ʻole no nā noi hoʻokō e like me nā pāʻani, hoʻoponopono wikiō, a me nā polokalamu CAD, pono pū kekahi i kahi hiʻohiʻona hou i ka coding no ka pūnaewele. ʻO nā paepae e like me Mewayz, ka mea e manaʻo nei e hoʻolako i kahi ʻōnaehana hana modular no nā noi pāʻoihana paʻakikī, ua kūpono loa i ka hoʻohana ʻana i ka mana o WASM, e ʻae ai i ka hana ʻana i nā modula ikaika a me nā hana kiʻekiʻe i hiki ʻole ke noʻonoʻo mua ʻia i loko o kahi polokalamu kele pūnaewele.

Ke koho ʻana i kāu Ala Hoʻohui ʻia

ʻO ka hana mua ma ke kākau ʻana i ka WASM ʻo ke koho ʻana i kahi ʻōlelo a me ke kaulahao mea hana. ʻAʻole like me JavaScript, ʻaʻole ʻoe e kākau i ka code WASM ma ka lima; akā, kākau ʻoe i ke code ma kahi ʻōlelo i kākoʻo ʻia a hōʻuluʻulu iā ia i ka format binary WASM. ʻO ka wahi hoʻomaka maʻamau ʻo C, C++, a i ʻole Rust, ʻoiai lākou e hāʻawi ana i ka mana maikaʻi ma luna o ka hoʻomanaʻo a hoʻohui maikaʻi iā WASM. No ka laʻana, hiki i ka Emscripten toolchain ke hōʻuluʻulu i ka code C/C++, ʻoiai ʻo Rust ke kākoʻo papa mua no WASM me kāna mea hana ponoʻī. He mea koʻikoʻi kēia koho, no ka mea, ʻo ia ke kuhikuhi i kāu kaʻina hana hoʻomohala, nā hale waihona puke i loaʻa iā ʻoe, a pehea ʻoe e hoʻokele ai i ka luʻi kūʻokoʻa o ka hoʻomanaʻo.

  • C/C++ me Emscripten: He kaulahao kanaka makua kūpono no ka lawe ʻana i nā hale waihona puke maoli a me nā noi i ka pūnaewele.
  • Rust and wasm-pack: He ʻōlelo hou a palekana e hōʻuluʻulu maikaʻi loa iā WASM, me nā mea paahana maikaʻi loa no ka hana ʻana i nā hoʻopaʻa JavaScript.
  • AssemblyScript: He ʻōlelo e like me TypeScript i hoʻolālā kūikawā ʻia no WASM, e hāʻawi ana i kahi ʻano aʻo mālie no nā mea hoʻomohala pūnaewele.

Make i ke Alahaka: WASM a me JavaScript Interoperability

ʻAʻole noho kaʻawale kahi module WASM. Wehe ʻia kona mana maoli i ka wā e launa pū ai me ka kaiaola JavaScript e kū nei. Hana ʻia kēia pilina ma o kahi API i wehewehe maikaʻi ʻia. Loaʻa i ka module WASM kona hoʻomanaʻo laina ponoʻī, kahi ʻano paita pili i kaʻawale loa mai ka puʻu hoʻomanaʻo JavaScript. No ka hoʻouna ʻana i ka ʻikepili i hope a i waho, pono ʻoe e heluhelu a kākau i kēia wahi hoʻomanaʻo like. No ka laʻana, no ka hoʻoili ʻana i kahi kaula mai JavaScript i kahi hana WASM, e hoʻokaʻawale mua ʻoe i ka hakahaka ma ka hoʻomanaʻo WASM, e kākau i nā byte o ke kaula i loko o kēlā hakahaka, a laila e hāʻawi i ke kuhikuhi (ka helu hoʻomanaʻo) i ka hana WASM. He mea paʻakikī paha kēia, akā ʻo ia ke kī i ka hana kiʻekiʻe. Hiki i nā pahu hana a me nā mea hana e like me Mewayz ke hoʻokaʻawale i ka hapa nui o kēia paʻakikī, e hāʻawi ana i nā API maʻemaʻe e hiki ai i kāu mau modula loiloi ʻoihana, i kākau ʻia ma WASM, e kamaʻilio maʻalahi me nā ʻāpana UI i kākau ʻia ma JavaScript.

"WebAssembly ʻaʻole ia he pani no JavaScript, akā he hoa ikaika loa. ʻAe ia i nā mea hoʻomohala e holo i nā ʻāpana koʻikoʻi o kā lākou noi ma kahi kokoke i ka wikiwiki maoli, ma ka ʻaoʻao o kā lākou code JS e kū nei."

Debugging a me ka noʻonoʻo hana

He ʻike ʻokoʻa ka wehe ʻana i ka code WASM i hōʻuluʻulu ʻia mai ka wehe ʻana i ka JavaScript. Ma kahi o ka ʻike ʻana i kāu code kumu kumu ma nā mea hana hoʻomohala o ka polokalamu kele pūnaewele, e ʻike ʻoe i ka haʻahaʻa haʻahaʻa haʻahaʻa haʻahaʻa haʻahaʻa kikokikona o WASM (WAT). ʻOiai ke hoʻomaikaʻi nei nā mea kūʻai pūnaewele i ke kākoʻo palapala kumu, ʻaʻole i maʻalahi ke kaʻina hana e like me JavaScript. No laila, pono ka hoʻāʻo a me ka hoʻopaʻa ʻana i kāu ʻōlelo kumu (e laʻa, C++ a i ʻole Rust). Ma ke alo o ka hana, ʻoiai wikiwiki ʻo WASM, ʻaʻole ia he kilokilo. ʻO ka hoʻoiho mua ʻana a me ka manawa hōʻuluʻulu o ka WASM module he kumukūʻai pono e noʻonoʻo ʻia. No ka ʻike mea hoʻohana maikaʻi loa, ʻo nā hoʻolālā e like me ke kahe ʻana o ka compilation (ka hoʻopili ʻana i ka module i ka wā e hoʻoiho ai) a me ka caching he mea nui. ʻIke ʻia ka uku hoʻokō i nā hana lōʻihi a me nā hana koʻikoʻi i ka helu ʻana, i kūlike me nā pono o nā paepae ʻoihana koʻikoʻi.

Ke kūkulu ʻana i ka wā e hiki mai ana me Mewayz a me WASM

I ka ulu ʻana o nā noi pūnaewele i ka paʻakikī e hoʻokūkū i kā lākou mau hoa pākaukau, ʻo ka pono o ka hoʻopili paʻa ʻana a me ka hana kiʻekiʻe i ka polokalamu kele pūnaewele e lilo i mea nui. Hāʻawi ʻo WebAssembly i ke kumu no kēia hanauna hou o nā noi. No kahi OS pāʻoihana modular e like me Mewayz, ʻo WASM kahi mea hoʻololi pāʻani. Hiki iā ia ke hana i nā modules kaʻawale, hana kiʻekiʻe no nā hana e like me ka nānā ʻana i ka ʻikepili paʻakikī, nā hana cryptographic, a i ʻole ka hoʻolilo ʻana i nā ʻenekini. Hiki ke hoʻouka ʻia kēia mau modula ma ke koi, e hōʻoia ana i ka māmā o ke kahua kumu i ka hāʻawi ʻana i ka mana o ka ʻoihana inā pono. ʻO ke kākau ʻana i ka WASM he huakaʻi i loko o kahi hoʻokō ʻoi aku ka hoʻokō, pae ʻōnaehana i ka hoʻomohala ʻana i ka pūnaewele, a he huakaʻi ia e kūlike pono me ka manaʻo nui o ka hoʻokumu ʻana i kahi ʻōnaehana ʻoihana modular a ikaika no ka pūnaewele.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Nīnau pinepine

Ka Teritori Uncharted of WebAssembly

Ma ka ʻāina e ulu mau nei o ka hoʻomohala pūnaewele, ua puka mai kahi ʻenehana hou ikaika, e hoʻohiki ana e wāwahi i nā pale ma waena o ka hoʻokō ʻana i ka noi maoli a me ka honua holoʻokoʻa o ka pūnaewele. ʻO kēia ʻenehana he WebAssembly, a i ʻole WASM. No nā mea hoʻomohala maʻa i ka honua ikaika o JavaScript, hiki i ke kākau ʻana no WASM ke manaʻo e like me ke kahakaha ʻana i kahi palena hou. He hoʻololi ia mai ka unuhi ʻana i nā code i ka wā holo i ka hoʻokō ʻana i nā binaries wikiwiki i hoʻonohonoho mua ʻia, kokoke i ka ʻōiwi maoli i ka polokalamu kele pūnaewele. ʻOiai e wehe ana kēia i nā mea hiki ʻole no nā noi hoʻokō e like me nā pāʻani, hoʻoponopono wikiō, a me nā polokalamu CAD, pono pū kekahi i kahi hiʻohiʻona hou i ka coding no ka pūnaewele. ʻO nā paepae e like me Mewayz, ka mea e manaʻo nei e hoʻolako i kahi ʻōnaehana hana modular no nā noi pāʻoihana paʻakikī, ua kūpono loa i ka hoʻohana ʻana i ka mana o WASM, e ʻae ai i ka hana ʻana i nā modula ikaika a me nā hana kiʻekiʻe i hiki ʻole ke noʻonoʻo mua ʻia i loko o kahi polokalamu kele pūnaewele.

Ke koho ʻana i kāu ala hōʻuluʻulu

ʻO ka hana mua ma ke kākau ʻana i ka WASM ʻo ke koho ʻana i kahi ʻōlelo a me ke kaulahao mea hana. ʻAʻole like me JavaScript, ʻaʻole ʻoe e kākau i ka code WASM ma ka lima; akā, kākau ʻoe i ke code ma kahi ʻōlelo i kākoʻo ʻia a hōʻuluʻulu iā ia i ka format binary WASM. ʻO ka wahi hoʻomaka maʻamau ʻo C, C++, a i ʻole Rust, ʻoiai lākou e hāʻawi ana i ka mana maikaʻi ma luna o ka hoʻomanaʻo a hoʻohui maikaʻi iā WASM. No ka laʻana, hiki i ka Emscripten toolchain ke hōʻuluʻulu i ka code C/C++, ʻoiai ʻo Rust ke kākoʻo papa mua no WASM me kāna mea hana ponoʻī. He mea koʻikoʻi kēia koho, no ka mea, ʻo ia ke kuhikuhi i kāu kaʻina hana hoʻomohala, nā hale waihona puke i loaʻa iā ʻoe, a pehea ʻoe e hoʻokele ai i ka luʻi kūʻokoʻa o ka hoʻomanaʻo.

Make i ka Alahaka: WASM a me JavaScript Interoperability

ʻAʻole noho kaʻawale kahi module WASM. Wehe ʻia kona mana maoli i ka wā e launa pū ai me ka kaiaola JavaScript e kū nei. Hana ʻia kēia pilina ma o kahi API i wehewehe maikaʻi ʻia. Loaʻa i ka module WASM kona hoʻomanaʻo laina ponoʻī, kahi ʻano paita pili i kaʻawale loa mai ka puʻu hoʻomanaʻo JavaScript. No ka hoʻouna ʻana i ka ʻikepili i hope a i waho, pono ʻoe e heluhelu a kākau i kēia wahi hoʻomanaʻo like. No ka laʻana, no ka hoʻoili ʻana i kahi kaula mai JavaScript i kahi hana WASM, e hoʻokaʻawale mua ʻoe i ka hakahaka ma ka hoʻomanaʻo WASM, e kākau i nā byte o ke kaula i loko o kēlā hakahaka, a laila e hāʻawi i ke kuhikuhi (ka helu hoʻomanaʻo) i ka hana WASM. He mea paʻakikī paha kēia, akā ʻo ia ke kī i ka hana kiʻekiʻe. Hiki i nā pahu hana a me nā mea hana e like me Mewayz ke hoʻokaʻawale i ka hapa nui o kēia paʻakikī, e hāʻawi ana i nā API maʻemaʻe e hiki ai i kāu mau modula loiloi ʻoihana, i kākau ʻia ma WASM, e kamaʻilio maʻalahi me nā ʻāpana UI i kākau ʻia ma JavaScript.

Debugging a me ka noʻonoʻo hana

He ʻike ʻokoʻa ka wehe ʻana i ka code WASM i hōʻuluʻulu ʻia mai ka wehe ʻana i ka JavaScript. Ma kahi o ka ʻike ʻana i kāu code kumu kumu ma nā mea hana hoʻomohala o ka polokalamu kele pūnaewele, e ʻike ʻoe i ka haʻahaʻa haʻahaʻa haʻahaʻa haʻahaʻa haʻahaʻa kikokikona o WASM (WAT). ʻOiai ke hoʻomaikaʻi nei nā mea kūʻai pūnaewele i ke kākoʻo palapala kumu, ʻaʻole i maʻalahi ke kaʻina hana e like me JavaScript. No laila, pono ka hoʻāʻo a me ka hoʻopaʻa ʻana i kāu ʻōlelo kumu (e laʻa, C++ a i ʻole Rust). Ma ke alo o ka hana, ʻoiai wikiwiki ʻo WASM, ʻaʻole ia he kilokilo. ʻO ka hoʻoiho mua ʻana a me ka manawa hōʻuluʻulu o ka WASM module he kumukūʻai pono e noʻonoʻo ʻia. No ka ʻike mea hoʻohana maikaʻi loa, ʻo nā hoʻolālā e like me ke kahe ʻana o ka compilation (ka hoʻopili ʻana i ka module i ka wā e hoʻoiho ai) a me ka caching he mea nui. ʻIke ʻia ka uku hoʻokō i nā hana lōʻihi a me nā hana koʻikoʻi i ka helu ʻana, i kūlike me nā pono o nā paepae ʻoihana koʻikoʻi.

Ke kūkulu ʻana i ka wā e hiki mai ana me Mewayz a me WASM

I ka ulu ʻana o nā noi pūnaewele i ka paʻakikī e hoʻokūkū i kā lākou mau hoa pākaukau, ʻo ka pono o ka hoʻopili paʻa ʻana a me ka hana kiʻekiʻe i ka polokalamu kele pūnaewele e lilo i mea nui. Hāʻawi ʻo WebAssembly i ke kumu no kēia hanauna hou o nā noi. No kahi OS pāʻoihana modular e like me Mewayz, ʻo WASM kahi mea hoʻololi pāʻani. Hiki iā ia ke hana i nā modules kaʻawale, hana kiʻekiʻe no nā hana e like me ka nānā ʻana i ka ʻikepili paʻakikī, nā hana cryptographic, a i ʻole ka hoʻolilo ʻana i nā ʻenekini. Hiki ke hoʻouka ʻia kēia mau modula ma ke koi, e hōʻoia ana i ka māmā o ke kahua kumu i ka hāʻawi ʻana i ka mana o ka ʻoihana inā pono. ʻO ke kākau ʻana i ka WASM he huakaʻi i loko o kahi hoʻokō ʻoi aku ka hoʻokō, pae ʻōnaehana i ka hoʻomohala ʻana i ka pūnaewele, a he huakaʻi ia e kūlike pono me ka manaʻo nui o ka hoʻokumu ʻana i kahi ʻōnaehana ʻoihana modular a ikaika no ka pūnaewele.

Kūkulu i kāu OS ʻoihana i kēia lā

Mai nā mea kūʻokoʻa a hiki i nā keʻena, hoʻohana ʻo Mewayz i nā ʻoihana 138,000+ me 208 mau modula i hoʻohui ʻia. Hoʻomaka manuahi, hoʻomaikaʻi i kou wā e ulu ai.

Hana moʻokāki manuahi →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime