WebAssemblyã®ãªãã¢ã¡ã¢ãªä¿è·ãã¡ã€ã³ãšã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ã®è©³çްã解説ãã°ããŒãã«ãŠã§ãå šäœã§å®å šã§ä¿¡é Œæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã§ãã
WebAssemblyãªãã¢ã¡ã¢ãªä¿è·ãã¡ã€ã³ïŒã»ãã¥ãªãã£åŒ·åã®ããã®ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹
WebAssemblyïŒWasmïŒã¯ããŠã§ãäžããã³ãã以å€ã®å Žæã§ã®ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãšå±éæ¹æ³ã«é©åœããããããŸããããã®å¹çæ§ãç§»æ€æ§ãããã³ã»ãã¥ãªãã£æ©èœã«ããããŠã§ããã©ãŠã¶ãããšããžã³ã³ãã¥ãŒãã£ã³ã°ãŸã§ãå¹ åºãã¢ããªã±ãŒã·ã§ã³ã§ãŸããŸã人æ°ãé«ãŸã£ãŠããŸããWasmã®ã»ãã¥ãªãã£ã¢ãã«ã®èŠã¯ããã®ãªãã¢ã¡ã¢ãªã¢ãŒããã¯ãã£ãšã¡ã¢ãªä¿è·ãã¡ã€ã³ã®å®è£ ã§ãããã®ããã°æçš¿ã§ã¯ããããã®ãã¡ã€ã³ã®æŠå¿µãšãã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ãããå®å šã§å ç¢ãªå®è¡ç°å¢ã«ã©ã®ããã«è²¢ç®ãããã«ã€ããŠæ·±ãæãäžããŸãã
WebAssemblyã®ã¡ã¢ãªã¢ãã«ã®çè§£
ã¡ã¢ãªä¿è·ãã¡ã€ã³ã調æ»ããåã«ãWasmã®åºç€ãšãªãã¡ã¢ãªã¢ãã«ãææ¡ããããšãäžå¯æ¬ ã§ãããã€ãã£ãã¢ããªã±ãŒã·ã§ã³ãšã¯ç°ãªããWasmã¢ãžã¥ãŒã«ã¯ãµã³ãããã¯ã¹åãããç°å¢å ã§åäœããäž»ã«ãªãã¢ã¡ã¢ãªã¹ããŒã¹ã䜿çšããŸããããã¯ãWasmã¢ãžã¥ãŒã«ãåäžã®é£ç¶ãããã€ããããã¯ãä»ããŠã¡ã¢ãªã«ã¢ã¯ã»ã¹ããããšãæå³ããŸãã
- ãªãã¢ã¡ã¢ãªïŒWasmã¢ãžã¥ãŒã«ãã¢ã¯ã»ã¹ã§ããé£ç¶ããã¡ã¢ãªãããã¯ããã€ãã®ã·ãŒã±ã³ã¹ãšããŠç·šæãããŠããŸãã
- ã¡ã¢ãªããŒãžïŒãªãã¢ã¡ã¢ãªã¯éåžžãåºå®ãµã€ãºã®ããŒãžïŒéåžžã¯64KBïŒã«åå²ãããŸããããã«ããã管çãšå²ãåœãŠã容æã«ãªããŸãã
- ã¢ã¯ã»ã¹ïŒWasmã³ãŒãã¯ã`i32.load`ã`i64.store`ãªã©ã®åœä»€ã䜿çšããŠã¡ã¢ãªãšããåãããŸãããããã®åœä»€ã¯ãã¢ã¯ã»ã¹ãããããŒã¿ã®ã¢ãã¬ã¹ãšãµã€ãºãæå®ããŸãã
ãã®ãªãã¢ã¡ã¢ãªã¢ãã«ã¯ãéèŠãªéé¢å±€ãæäŸããŸããWasmã¢ãžã¥ãŒã«ã¯ãã¹ãã·ã¹ãã ã®ã¡ã¢ãªãšçŽæ¥ããåãããªãããããã¹ããŸãã¯ä»ã®ã¢ãžã¥ãŒã«ãç Žæãããããšã¯ãããŸããããã ãããªãã¢ã¡ã¢ãªèªäœã®åºæ¬çãªæ§é ã¯ãããšãã°ãå²ãåœãŠãããã¡ã¢ãªå ã®ä»»æã®ã¢ãã¬ã¹ãžã®èªã¿åããŸãã¯æžã蟌ã¿ãããã¢ãžã¥ãŒã«å ã®æªæã®ããã³ãŒãã«å¯Ÿããä¿è·ãæ¬è³ªçã«æäŸãããã®ã§ã¯ãããŸããã
ã¡ã¢ãªä¿è·ã®å¿ èŠæ§
ãªãã¢ã¡ã¢ãªã¢ãã«ã¯ã»ãã¥ãªãã£ã«åããéèŠãªã¹ãããã§ãããå®å šãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã远å ã®ä¿è·ææ®µããªãå ŽåãWasmã¢ãžã¥ãŒã«ã¯ãæœåšçã«ããèªäœå ã®è匱æ§ãæªçšããŠã次ã®ããšãè¡ãå¯èœæ§ããããŸãã
- ç¯å²å€ã®ã¡ã¢ãªãžã®ã¢ã¯ã»ã¹ïŒå²ãåœãŠãããã¹ããŒã¹å€ã®ã¡ã¢ãªé åãžã®èªã¿åããŸãã¯æžã蟌ã¿ã詊ã¿ãããŒã¿ç ŽæãŸãã¯æ å ±æŒãããåŒãèµ·ããå¯èœæ§ããããŸãã
- éèŠãªããŒã¿ã®ãªãŒããŒã©ã€ãïŒã¢ãžã¥ãŒã«ã®åäœãŸãã¯Wasmã©ã³ã¿ã€ã èªäœã«äžå¯æ¬ ãªããŒã¿æ§é ã倿ŽããŸãã
- ã¡ã¢ãªç Žæã®å°å ¥ïŒã¯ã©ãã·ã¥ãŸãã¯äºæããªãåäœãåŒãèµ·ãããããéå€§ãªæªçšã®å¯èœæ§ãéããŸãã
ãããã®ãªã¹ã¯ã軜æžããããã«ãWebAssemblyã¯ãã¡ã¢ãªä¿è·ãã¡ã€ã³ããéèŠãªã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ãªã©ãããã€ãã®ã¡ã«ããºã ãæ¡çšããŠããŸãããããã®æ©èœã¯ãWasmã¢ãžã¥ãŒã«ããªãã¢ã¡ã¢ãªã¹ããŒã¹å ã§å®è¡ã§ããã¢ã¯ã·ã§ã³ãå¶éããå šäœçãªã»ãã¥ãªãã£ãããã¡ã€ã«ã匷åããŸãã
ã¡ã¢ãªä¿è·ãã¡ã€ã³ã®ç޹ä»
WebAssemblyã®ã³ã³ããã¹ãã«ãããã¡ã¢ãªä¿è·ãã¡ã€ã³ãšã¯ãWasmã¢ãžã¥ãŒã«ã®ãªãã¢ã¡ã¢ãªã¹ããŒã¹å ã«å¢çãšã¢ã¯ã»ã¹å¶åŸ¡ã確ç«ããã¡ã«ããºã ãæããŸããã¢ãžã¥ãŒã«ã®ã³ãŒããæ¿èªãããã¡ã¢ãªé åã«ã®ã¿ã¢ã¯ã»ã¹ã§ããããã«ããã²ãŒãããŒããŒãšããŠæ©èœããŸãã
å®è£ ã®è©³çްã¯Wasmã©ã³ã¿ã€ã ãšåºç€ãšãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãŸãã¯ããŒããŠã§ã¢ã«ãã£ãŠç°ãªããŸãããåºæ¬çãªæŠå¿µã¯äžè²«ããŠããŸããã¡ã¢ãªä¿è·ãã¡ã€ã³ã«ã¯éåžžãæ¬¡ã®èŠçŽ ãå«ãŸããŸãã
- ã¡ã¢ãªã»ã°ã¡ã³ããŒã·ã§ã³ïŒãªãã¢ã¡ã¢ãªãè«çã»ã°ã¡ã³ããŸãã¯é åã«åå²ããŸãã
- ã¢ã¯ã»ã¹å¶åŸ¡ãªã¹ãïŒACLïŒïŒåã¡ã¢ãªã»ã°ã¡ã³ãã«é¢é£ä»ããããæš©éãå®çŸ©ããèš±å¯ãããæäœïŒèªã¿åããæžã蟌ã¿ãå®è¡ïŒãæå®ããŸãã
- ã©ã³ã¿ã€ã 匷å¶ïŒWasmã©ã³ã¿ã€ã ã¯ããããã®ã¢ã¯ã»ã¹å¶åŸ¡ãã©ã³ã¿ã€ã æã«ç©æ¥µçã«åŒ·å¶ããŸããåã¡ã¢ãªã¢ã¯ã»ã¹ã¯ACLã«å¯ŸããŠãã§ãã¯ãããæäœãæ¿èªãããŠãããã©ããã倿ããŸãã
å®¶ã®ã»ã¯ã·ã§ã³ã®åšãã®ä»®æ³ãã§ã³ã¹ã®ããã«èããŠãã ãããåã»ã¯ã·ã§ã³ïŒã¡ã¢ãªã»ã°ã¡ã³ãïŒã«ã¯ã誰ãå ¥ãããšãã§ããããäœãã§ãããã«é¢ããç¬èªã®ã«ãŒã«ã»ããããããŸããã©ã³ã¿ã€ã ã¯ã»ãã¥ãªãã£ã¬ãŒãã§ãããå éšã®äººã ãã«ãŒã«ã«åŸã£ãŠããããšãåžžã«ãã§ãã¯ããŠããŸãã
ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ã®è©³çް
ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ã¯ãWebAssemblyå ã®ã¡ã¢ãªä¿è·ã®éèŠãªåŽé¢ã§ããWasmã¢ãžã¥ãŒã«ããªãã¢ã¡ã¢ãªãšããåãããæ¹æ³ããã现ããå¶åŸ¡ã§ããŸããã¡ã¢ãªé åå šäœãžã®ã¢ã¯ã»ã¹ãåçŽã«èš±å¯ãŸãã¯æåŠãã代ããã«ãã»ã°ã¡ã³ãåãããã¢ã¯ã»ã¹ã«ãããã»ã°ã¡ã³ãã¬ãã«ã§ãã现ããæš©éãèšå®ã§ããŸãã
ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ã¯éåžžãæ¬¡ã®ããã«æ©èœããŸãã
- ã¡ã¢ãªã»ã°ã¡ã³ããŒã·ã§ã³ïŒãªãã¢ã¡ã¢ãªã¯è€æ°ã®ã»ã°ã¡ã³ãã«åå²ãããŸãããããã®ã»ã°ã¡ã³ãã¯ãµã€ãºãç°ãªããã¢ãžã¥ãŒã«ã®ããŒã¿æ§é ããã³æ©èœé åã«åãããŠé 眮ã§ããŸãã
- ã»ã°ã¡ã³ã屿§ïŒåã»ã°ã¡ã³ãã¯ããã®ç®çãšã¢ã¯ã»ã¹æš©ãå®çŸ©ãã屿§ã®ã»ããã«é¢é£ä»ããããŠããŸãã屿§ã®äŸãšããŠã¯ã次ã®ãã®ããããŸãã
- èªã¿åãå°çšïŒã»ã°ã¡ã³ãã¯èªã¿åãå°çšã§ãæžã蟌ã¿ã¯ã§ããŸããã宿°ããŒã¿ãŸãã¯ã³ãŒãã®æ ŒçŽã«åœ¹ç«ã¡ãŸãã
- æžã蟌ã¿å°çšïŒã»ã°ã¡ã³ãã¯æžã蟌ã¿å°çšã§ãèªã¿åãã¯ã§ããŸããïŒäžè¬çã§ã¯ãããŸãããã䜿çšã§ããŸãïŒã
- å®è¡å¯èœïŒã»ã°ã¡ã³ãã¯å®è¡å¯èœã³ãŒããä¿æã§ããŸããïŒã³ãŒãã€ã³ãžã§ã¯ã·ã§ã³ãé²ãã«ã¯ã远å ã®ã»ãã¥ãªãã£ãã§ãã¯ãå¿ èŠã§ãïŒã
- ããŒã¿ã»ã°ã¡ã³ãïŒåæåãŸãã¯åæåãããŠããªãããŒã¿ãæ ŒçŽããŸãã
- ã¢ã¯ã»ã¹ãã§ãã¯ïŒWasmã¢ãžã¥ãŒã«ãç¹å®ã®ã¡ã¢ãªã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããããšãããšãWasmã©ã³ã¿ã€ã ã¯æ¬¡ã®æé ãå®è¡ããŸãã
- ã¢ãã¬ã¹æ€èšŒïŒã¡ã¢ãªã¢ãã¬ã¹ãå²ãåœãŠããããªãã¢ã¡ã¢ãªã®ç¯å²å ã«ããããšã確èªããŸãã
- ã»ã°ã¡ã³ãæ€çŽ¢ïŒã¡ã¢ãªã¢ãã¬ã¹ãå±ããã»ã°ã¡ã³ããæ±ºå®ããŸãã
- æš©éãã§ãã¯ïŒã»ã°ã¡ã³ãã«é¢é£ä»ãããã屿§ãåç §ããŠãèŠæ±ãããæäœïŒèªã¿åããæžã蟌ã¿ãå®è¡ïŒãèš±å¯ãããŠãããã©ããã確èªããŸãã
- 匷å¶ïŒã¢ã¯ã»ã¹ãæ¿èªãããŠããªãå ŽåïŒã€ãŸããæš©éãã§ãã¯ã倱æããå ŽåïŒãWasmã©ã³ã¿ã€ã ã¯ãšã©ãŒïŒéåžžã¯ã¡ã¢ãªã¢ã¯ã»ã¹éåïŒãããªã¬ãŒããŸããããã«ãããæªæã®ããã³ãŒãã®ç¶è¡ã鲿¢ãããŸãã
äŸïŒéèååŒãåŠçããWasmã¢ãžã¥ãŒã«ãæ³åããŠã¿ãŠãã ãããã¡ã¢ãªã次ã®ã»ã°ã¡ã³ãã«åå²ããå¯èœæ§ããããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³ããŒã¿ã»ã°ã¡ã³ãïŒæ©å¯æ§ã®é«ããã©ã³ã¶ã¯ã·ã§ã³ã®è©³çŽ°ãæ ŒçŽããŸãããã®ã»ã°ã¡ã³ãã¯éåžžãæäœã«å¿ããŠèªã¿åãå°çšãŸãã¯æžã蟌ã¿å°çšãšããŠããŒã¯ãããŸãã
- ã³ãŒãã»ã°ã¡ã³ãïŒãã©ã³ã¶ã¯ã·ã§ã³ã®åŠçãæ åœããWasmã³ãŒããå«ãŸããŠããŸãããã®ã»ã°ã¡ã³ãã¯å®è¡å¯èœãšããŠããŒã¯ããå¿ èŠããããŸãã
- æ§æããŒã¿ã»ã°ã¡ã³ãïŒæ§æèšå®ãæ ŒçŽããŸããèšå®ã倿Žããªãå Žåã¯èªã¿åãå°çšã«ãæ§æå¯èœãªå Žåã¯èªã¿åã/æžã蟌ã¿ã«ããããšãã§ããŸãã
ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ãåããã¡ã¢ãªä¿è·ãã¡ã€ã³ãå®è£ ããããšã«ãããã·ã¹ãã ã¯ãããã®éèŠãªããŒã¿ããã³ã³ãŒãã»ã°ã¡ã³ããžã®ã¢ã¯ã»ã¹ãå³å¯ã«å¶åŸ¡ããã»ãã¥ãªãã£ãå€§å¹ ã«åäžãããããšãã§ããŸãã
å®éçãªæå³ãšäŸ
ã¡ã¢ãªä¿è·ãã¡ã€ã³ãšã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ã®é©çšã¯ãããŸããŸãªã·ããªãªã§éèŠãªã»ãã¥ãªãã£äžã®å©ç¹ãæäŸããŸãã
- ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ãµã³ãããã¯ã¹åïŒãŠã§ããã©ãŠã¶ã§ã¯ãWasmã¢ãžã¥ãŒã«ãã¯ã©ã€ã¢ã³ãåŽã®ã³ãŒãã®å®è¡ã«åºã䜿çšãããŠããŸããã»ã°ã¡ã³ãåãããã¢ã¯ã»ã¹ã«ãããæªæã®ããã¢ãžã¥ãŒã«ããã©ãŠã¶ã®å éšããŒã¿ãä»ã®ãŠã§ãããŒãžããŸãã¯ã·ã¹ãã ã®ä»ã®éšåã«ã¢ã¯ã»ã¹ããããæ¹ãããããããããšãã§ããªããªããŸãã
- ãšããžã³ã³ãã¥ãŒãã£ã³ã°ã»ãã¥ãªãã£ïŒãšããžããã€ã¹ã¯ãWasmã¢ãžã¥ãŒã«ãå®è¡ããŠããŒã«ã«ã§ããŒã¿ãåŠçããããšããããããŸããã¡ã¢ãªä¿è·ã¯ã䟵害ãããã¢ãžã¥ãŒã«ãããã€ã¹äžã®ä»ã®ã¢ããªã±ãŒã·ã§ã³ãŸãã¯æ©å¯ããŒã¿ã«å¹²æžããã®ãé²ãããã«äžå¯æ¬ ã§ããããšãã°ãIoTã²ãŒããŠã§ã€ã§ã¯ãæ¬ é¥ã®ããWasmã¢ãžã¥ãŒã«ãå®å šãªéä¿¡ã«å±ããããŒã¿ãèªã¿æžãã§ããªãããã«ããå¿ èŠããããŸãã
- ãµãŒããŒã¬ã¹é¢æ°ïŒãµãŒããŒã¬ã¹ãã©ãããã©ãŒã ã¯ãWasmã䜿çšããŠé¢æ°ãè¿ éãã€å¹ççã«å®è¡ããããšããããããŸããã»ã°ã¡ã³ãåãããã¢ã¯ã»ã¹ã¯ãå颿°ã®ã¡ã¢ãªã¹ããŒã¹ãéé¢ããä»ã®é¢æ°ããã®å¶çºçãŸãã¯æå³çãªå¹²æžãé²ãããã«å¿ èŠãªã³ã³ããŒãã³ãã§ãã
- ã¯ãã¹ãã©ãããã©ãŒã ãœãããŠã§ã¢éçºïŒã¯ãã¹ãã©ãããã©ãŒã ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããå Žåãéçºè ã¯Wasmã®ç§»æ€æ§ãšã»ãã¥ãªãã£æ©èœã掻çšã§ããŸããã¡ã¢ãªä¿è·ãã¡ã€ã³ã䜿çšããããšã«ãããç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã éã®æœåšçãªè匱æ§ã軜æžã§ããŸãã
äŸã®ã·ããªãªïŒãŠãŒã¶ãŒèªèšŒãåŠçããããã«èšèšãããWasmã¢ãžã¥ãŒã«ãæ€èšããŠãã ãããã¢ãžã¥ãŒã«ã«ã¯ããŠãŒã¶ãŒè³æ Œæ å ±ïŒãã¹ã¯ãŒããã»ãã¥ãªãã£ããŒã¯ã³ïŒãä¿æããã»ã°ã¡ã³ããããå ŽåããããŸããã¡ã¢ãªä¿è·ã䜿çšãããšããã®ã»ã°ã¡ã³ããèªã¿åãå°çšãšããŠããŒã¯ã§ããŸããããã«ãããã¢ãžã¥ãŒã«å ã®ä»ã®ã³ãŒãã«ãã°ãå«ãŸããŠããå Žåã§ããã¢ãžã¥ãŒã«ã誀ã£ãŠãŸãã¯æªæãæã£ãŠãã®ã»ã°ã¡ã³ãã«æžã蟌ãããšãé²ããŸããããã«ãã¢ãžã¥ãŒã«ã¯ãã®ç¹å®ã®ã¡ã¢ãªã»ã°ã¡ã³ãããã³ãŒããããŒããŸãã¯å®è¡ããããšãå¶éã§ããã»ãã¥ãªãã£ãããã«åŒ·åã§ããŸãã
ã°ããŒãã«ãªäŸïŒã°ããŒãã«ãªæ±ºæžåŠçã·ã¹ãã ãèããŠã¿ãŸãããããã®ãããªã·ã¹ãã ã§ã¯ãWasmã¢ãžã¥ãŒã«ã䜿çšããŠãæ©å¯æ§ã®é«ãéèããŒã¿ã®æå·åã埩å·åãªã©ã®æå·åæäœãå®è¡ã§ããŸããã¡ã¢ãªä¿è·ãã¡ã€ã³ã«ãããWasmã¢ãžã¥ãŒã«ãéé¢ãããæ¿èªãããŠããªãã³ãŒããèªã¿åããæžã蟌ã¿ããŸãã¯å®è¡ã§ããªããªãã顧客ã®éèããŒã¿ã䟵害ããå¯èœæ§ã®ãããããã¡ãªãŒããŒãããŒãã³ãŒãã€ã³ãžã§ã¯ã·ã§ã³æ»æãªã©ã®äžè¬çãªè匱æ§ããä¿è·ãããŸãã
ã¡ã¢ãªä¿è·ã®å®è£ ïŒèª²é¡ãšèæ ®äºé
ã¡ã¢ãªä¿è·ãã¡ã€ã³ãšã»ã°ã¡ã³ãåãããã¢ã¯ã»ã¹ã¯ãã»ãã¥ãªãã£äžã®å€§ããªå©ç¹ãæäŸããŸãããããããå®è£ ãããšãéçºè ãšã©ã³ã¿ã€ã å®è£ è ã察åŠããå¿ èŠã®ããç¹å®ã®èª²é¡ãçºçããŸãã
- ããã©ãŒãã³ã¹ãªãŒããŒãããïŒã¡ã¢ãªã¢ã¯ã»ã¹å¶åŸ¡ã«å¿ èŠãªã©ã³ã¿ã€ã ãã§ãã¯ã«ãããããããªããã©ãŒãã³ã¹ãªãŒããŒããããçºçããå¯èœæ§ããããŸããã©ã³ã¿ã€ã å®è£ è ã¯ããããã®ãã§ãã¯ãæé©åããŠãã¢ããªã±ãŒã·ã§ã³ã®é床ãžã®åœ±é¿ãæå°éã«æããå¿ èŠããããŸãã
- è€éãïŒã¡ã¢ãªã»ã°ã¡ã³ããšã¢ã¯ã»ã¹å¶åŸ¡ãªã¹ãã®ç®¡çã¯ãéçºããã»ã¹ã«è€éãã远å ããå¯èœæ§ããããŸããéçºè ã¯ãå¿ èŠãªã»ãã¥ãªãã£ä¿èšŒãå®çŸããããã«ãã¡ã¢ãªã¬ã€ã¢ãŠããšã»ã°ã¡ã³ãã®å²ãåœãŠãæ éã«èšèšããå¿ èŠããããŸãã
- ã©ã³ã¿ã€ã ã®äºææ§ïŒWasmã©ã³ã¿ã€ã ãç°ãªããšãé«åºŠãªã¡ã¢ãªä¿è·æ©èœã®ãµããŒãã¬ãã«ãç°ãªãå ŽåããããŸããéçºè ã¯ãã¿ãŒã²ããã©ã³ã¿ã€ã ç°å¢ã®äºææ§ãšæ©èœã»ãããèæ ®ããå¿ èŠããããŸãã
- æ»æå¯Ÿè±¡é åïŒã¡ã¢ãªä¿è·ã¡ã«ããºã èªäœãæ»æå¯Ÿè±¡é åãå°å ¥ããŸããã©ã³ã¿ã€ã å®è£ è ã¯ãã¢ã¯ã»ã¹å¶åŸ¡ãšã»ã°ã¡ã³ãã®å®è£ ãæ»æããå®å šã§ããããšã確èªããå¿ èŠããããŸããããã«ãããä¿è·ãåé¿ã§ããå¯èœæ§ããããŸãã
- ããŒã«ïŒã¡ã¢ãªä¿è·ãæå¹ã«ãªã£ãŠããWasmã¢ããªã±ãŒã·ã§ã³ããããã°ããã³ãããã¡ã€ãªã³ã°ããããã®å ç¢ãªããŒã«ãäžå¯æ¬ ã§ãããããã®ããŒã«ã¯ãéçºè ãã¡ã¢ãªã¢ã¯ã»ã¹éåãç¹å®ããã»ãã¥ãªãã£ã®è匱æ§ãåæããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæé©åããã®ã«åœ¹ç«ã¡ãŸãã
課é¡ã¯ãããŸãããã¡ã¢ãªä¿è·ã®å©ç¹ã¯ãç¹ã«ã»ãã¥ãªãã£ãéèŠãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæ¬ ç¹ãã¯ããã«äžåããŸãã
Wasmã¡ã¢ãªä¿è·ã®ãã¹ããã©ã¯ãã£ã¹
Wasmã®ã¡ã¢ãªä¿è·æ©èœã®å¹æãæå€§éã«é«ããããã«ãéçºè ãšå®è£ è ã¯æ¬¡ã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãå¿ èŠããããŸãã
- æå°ç¹æš©ã®ããã«èšèšããïŒåWasmã¢ãžã¥ãŒã«ã«å¿ èŠãªæå°éã®æš©éã®ã¿ãä»äžããŸãã絶察ã«å¿ èŠã§ãªãéããã¡ã¢ãªã»ã°ã¡ã³ããžã®èªã¿åããæžã蟌ã¿ããŸãã¯å®è¡ã¢ã¯ã»ã¹ãèš±å¯ããªãã§ãã ããã
- æ éãªã»ã°ã¡ã³ããŒã·ã§ã³ïŒã¢ãžã¥ãŒã«ã®æ©èœãšããŒã¿æ§é ã«åãããŠãã¡ã¢ãªã»ã°ã¡ã³ããæ éã«èšèšããŸããåã»ã°ã¡ã³ãã¯ãæç¢ºã«å®çŸ©ãããã¢ã¯ã»ã¹èŠä»¶ãæã€ããŒã¿ãŸãã¯ã³ãŒãã®è«çãŠãããã衚ãå¿ èŠããããŸãã
- 宿çãªç£æ»ïŒWasmã¢ãžã¥ãŒã«ãšã©ã³ã¿ã€ã ç°å¢ã®å®æçãªã»ãã¥ãªãã£ç£æ»ãå®è¡ããŠãæœåšçãªè匱æ§ãç¹å®ããã¡ã¢ãªä¿è·ã¡ã«ããºã ãé©åã«å®è£ ãããŠããããšã確èªããŸãã
- 確ç«ãããã©ã€ãã©ãªã䜿çšããïŒååã«åå³ãããWasmã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ïŒç¹ã«çµã¿èŸŒã¿ã®ã»ãã¥ãªãã£æ©èœãæäŸããã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ïŒãå©çšããŸãã
- ææ°ã®ç¶æ ã«ä¿ã€ïŒWasmã»ãã¥ãªãã£ã®ææ°ã®éçºç¶æ³ãåžžã«ææ¡ããæ°ããçºèŠãããè匱æ§ã«å¯ŸåŠããããã«ã©ã³ã¿ã€ã ãšã¢ãžã¥ãŒã«ãé©å®æŽæ°ããŸãã
- ãã¹ãïŒã¡ã¢ãªä¿è·ã¡ã«ããºã ãæå³ãããšããã«æ©èœããããã«ãã»ãã¥ãªãã£ãã¹ããå«ãWasmã¢ãžã¥ãŒã«ã培åºçã«ãã¹ãããŸãããã¡ãžã³ã°ããã®ä»ã®ãã¹ãææ³ãå©çšããŠãäºæããªãè匱æ§ãçºèŠããŸãã
- ã³ãŒãã¬ãã¥ãŒïŒWasmã¢ãžã¥ãŒã«ã³ãŒãããã¢ã¬ãã¥ãŒããŠãæœåšçãªã»ãã¥ãªãã£äžã®æ¬ é¥ãç¹å®ããã³ãŒããå®å šãªã³ãŒãã£ã³ã°æšæºã«æºæ ããŠããããšã確èªããŸãã
- ãµã³ãããã¯ã¹åïŒWasmã¢ãžã¥ãŒã«ããµã³ãããã¯ã¹åãããç°å¢å ã§å®è¡ãããã¢ãžã¥ãŒã«ããã¹ãã·ã¹ãã ããããã«éé¢ãããããã«ããŸãã
- èšæž¬ãšç£èŠïŒãã®ã³ã°ãšç£èŠãå®è£ ããŠãã¡ã¢ãªã¢ã¯ã»ã¹éåãäºæããªãåäœãããã³ãã®ä»ã®ã»ãã¥ãªãã£ã€ãã³ãã远跡ããŸãã
- ã©ã³ã¿ã€ã åºæã®æ©èœã䜿çšããïŒã¿ãŒã²ããWasmã©ã³ã¿ã€ã ç°å¢ã®é«åºŠãªæ©èœã掻çšããŠãã¢ã¯ã»ã¹å¶åŸ¡ãã©ã³ã¿ã€ã åé¢ãªã©ãã»ãã¥ãªãã£ãããã«åŒ·åããŸãã
WebAssemblyã¡ã¢ãªä¿è·ã®å°æ¥
WebAssemblyã¯æ¥éã«é²åããŠãããã¯ãããžãŒã§ããããã®ã»ãã¥ãªãã£æ©èœã¯ç¶ç¶çã«æ¹åãããŠããŸããã¡ã¢ãªä¿è·ã®å°æ¥ã®ååã«ã¯ã次ã®ãã®ãå«ãŸããå¯èœæ§ããããŸãã
- ãããã现ããå¶åŸ¡ïŒã¡ã¢ãªã»ã°ã¡ã³ããšã¢ã¯ã»ã¹æš©éãå®çŸ©ããã³ç®¡çããããã®ãããæŽç·Žãããã¡ã«ããºã ã
- ããŒããŠã§ã¢æ¯æŽåã»ãã¥ãªãã£ïŒã©ã³ã¿ã€ã ããã©ãŒãã³ã¹ãåäžãããã»ãã¥ãªãã£ã匷åããããã«ãã¡ã¢ãªä¿è·ãŠãããïŒMPUïŒãªã©ã®ããŒããŠã§ã¢ããŒã¹ã®ã»ãã¥ãªãã£æ©èœãšã®çµ±åã
- æšæºåïŒç§»æ€æ§ãšçžäºéçšæ§ãåäžãããããã«ãç°ãªãWasmã©ã³ã¿ã€ã éã§ã®ã¡ã¢ãªä¿è·æ©èœã®ãããªãæšæºåã
- 匷åãããããŒã«ïŒWasmã¢ãžã¥ãŒã«ã®ãããã°ãç£æ»ããã¹ãã®ããã®ããé«åºŠãªããŒã«ã®ç»å Žãããã«ãããéçºè ã¯å®å šãªã¢ããªã±ãŒã·ã§ã³ãããç°¡åã«æ§ç¯ããã³å±éã§ããããã«ãªããŸãã
- ã±ãŒãããªãã£ããŒã¹ã®ã»ãã¥ãªãã£ã®ãµããŒãïŒã±ãŒãããªãã£ãå©çšããŠãç¹å®ã®æäœãå®è¡ããã¢ãžã¥ãŒã«ã®æ©èœãå¶éããããå ç¢ãªã»ãã¥ãªãã£ãå®çŸã§ããŸãã
ãããã®é²æ©ã«ãããWebAssemblyã¯ããŠã§ããã©ãŠã¶ããè€éãªãœãããŠã§ã¢ã·ã¹ãã ãŸã§ãå¹ åºãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å®å šã§ä¿¡é Œæ§ã®é«ããã©ãããã©ãŒã ãšããŠã®å°äœãããã«ç¢ºåºãããã®ã«ããŸãããã¯ãããžãŒãã°ããŒãã«ã«é²åããã«ã€ããŠãã»ãã¥ãªãã£ã®åŒ·åãæéèŠèª²é¡ã«ãªããŸãã
çµè«
WebAssemblyã®ãªãã¢ã¡ã¢ãªã¢ãŒããã¯ãã£ã¯ãã¡ã¢ãªä¿è·ãã¡ã€ã³ããã³ã»ã°ã¡ã³ãåãããã¡ã¢ãªã¢ã¯ã»ã¹ãšçµã¿åãããããšã§ãå®å šã§ä¿¡é Œæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®åŒ·åãªåºç€ãæäŸããŸãããããã®æ©èœã¯ãã»ãã¥ãªãã£ãªã¹ã¯ã軜æžããæªæã®ããæ»æããä¿è·ããããã«äžå¯æ¬ ã§ãããããã®ã¡ã«ããºã ãçè§£ããé©åã«å®è£ ããããšã«ãããéçºè ã¯ãã°ããŒãã«ãŠã§ãããã³ããŸããŸãªã³ã³ãã¥ãŒãã£ã³ã°ç°å¢å šäœã«å®å šã«å±éã§ãããå ç¢ãªãµã³ãããã¯ã¹åãããWasmã¢ãžã¥ãŒã«ãäœæã§ããŸããWasmãæçãç¶ããã«ã€ããŠããã®ã»ãã¥ãªãã£æ©èœã¯åäžãç¶ããäžçäžã®éçºè ã«ãšã£ãŠè²ŽéãªããŒã«ã«ãªããŸãã