MyPyC á á¡ááá developer ááŒá áºááá·áº Ethan Smith ááẠC code ááá¯á· Python modules á compiler áá áºáá¯ááŒá áºááá·áº Ethan Smith ááẠbrowser á¡ááœááºážááœáẠá¡áá¯ááºáá¯ááºááẠáááºá CPython áá¬áááœá²ááᯠáááºáá±á¬ááºááá¯ááºá á±ááá·áº CPython codebase (Python á á¡ááŒá±áá¶á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯) ááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž áááºááá¯ážááŒá±á¬ááºážááŒá±ááŒá¬áá²á·áááºá á¡ááᯠpatch áá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážáááŸááá²á á ááºážáá±ážááœá²ááᯠEmscripten compiler ááᯠá¡áá¯á¶ážááŒá¯á universal low-level intermediate code WebAssembly á¡ááŒá Ạáá±á¬ááºááœááºáá«áááºá
á¡ááá¯áá«áá¯ááºáááºážááᯠPython áááá¯ááááºáá¬áá¬á áá¬ážááá¯áááºáá®ážáá° Guido van Rossum á០á¡áááºááŒá¯áá²á·ááŒá®ážá browser ááœáẠáá¯á¶ážááá¯ááºáá±á¬ááºááá·áº á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážááŒá¯áá±á¬ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºáááºážáá»ááºááá¯áá¶á·ááá¯ážáá±ážááá·áº Python á¡áá±á¬ááºá¡áá¶á·ááᯠgithub.dev áááºáááºáá±á¬ááºááŸá¯ááœáẠáá±á«ááºážá ááºááá·áºááœááºážááẠá¡ááá¯ááŒá¯áá²á·áááºá Microsoft á០Jonathan Carter á github.dev ááœáẠPython áá¬áá¬á áá¬áž áá¶á·ááá¯ážááŸá¯ááŒáá·áº áááºááŸááá¯ááºáá±á¬ááºáá±áá±á¬ áá¯ááºáááºážááᯠáá¯ááºáá±á¬ááºáá±ááŒá±á¬ááºáž ááŒá±á¬ááŒá¬ážáá²á·áá±á¬áºáááºáž github.dev á¡ááœáẠáááºááŸá ááá°áá¬áá¯á¶á ᶠJupyter ááœááºáá»ááºááŸá¯áá±á¬ááºááẠPyodide ááá±á¬áá»áẠ(WebAssembly ááœáẠPython 3.9 runtime build) ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáááºá
ááœá±ážááœá±ážááœá²ááœáẠPython ááᯠweb browser áá
áºáá¯ááŸáá·áº áá»áááºáááºááŒááºážáááŒá¯áá² WebAssembly ááá¯ááºá
á¬ážááŒá¯ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠWASI (WebAssembly System Interface) áá¶á·ááá¯ážááŸá¯ááŒáá·áº Python ááᯠá
á¯á
ááºážááŒááºážááá¯ááºáᬠáá±á«ááºážá
ááºááá¯áááºáž ááœá±ážááœá±ážáá²á·áááºá WASI ááẠpthread API áá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááá¯ááá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áºááá¯áá²á·ááá¯á·áá±á¬á¡ááºá¹áá«áááºááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºáááºá¡áá¯ááºáá»á¬ážá
áœá¬ááá¯á¡ááºáááá·áºáááºááŒá
áºáá±á¬ááŒá±á¬áá·áº Python ááẠmultithreading ááá¯áááœáá·áºáá²áááºáá±á¬ááºááá¯ááºááŒááºážááá¯áááºááá·áºáá²á·áááºá
source: opennet.ru