ืืืงืจืื ืืืื ืืืจืกืืืช ืกืื ืคืืจื, ืืืื ืืืจืกืืืช ืงืืืคืืจื ืื ืืกื ืืืืื ืืืืื ืืืจืกืืืช ืืงืกืก ืืืืกืืื ืืคืืชื ืืืื RLBox, ืืฉืจ ืืืื ืืฉืืฉ ืืฉืืืช ืืืืื ื ืืกืคืช ืืืกืืืช ื ืงืืืืช ืชืืจืคื ืืกืคืจืืืช ืคืื ืงืฆืืืช. RLBox ื ืืขื ืืคืชืืจ ืืช ืืขืืืช ืืืืืื ืฉื ืกืคืจืืืช ืฆื ืฉืืืฉื ืื ืืืืื ืืช ืฉืืื ื ืืฉืืืืช ืืคืชืืื, ืื ื ืงืืืืช ืืชืืจืคื ืฉืืื ืขืืืืืช ืืกืื ืืช ืืคืจืืืงื ืืจืืฉื.
ืืืจืช ืืืืืื ืืชืื ื ืช ืืฉืชืืฉ ื-RLBox ื-Linux build ืฉื Firefox 74 ืื-macOS build ืฉื Firefox 75 ืืื ืืืืื ืืช ืืืฆืืข ืืกืคืจืืื ืืจึธืคึดืื, ืืืจืื ืขื ืขืืืื ืืืคื ืื. ืขื ืืืช, RLBox ืืื ื ืกืคืฆืืคื ืืคืืืจืคืืงืก ืื ืืชื ืืืฉืชืืฉ ืื ืืื ืืืืื ืื ืกืคืจืืื ืืคืจืืืงืืื ืฉืจืืจืืชืืื. ืืชืคืชืืืืืช RLBox ืืชืคืฉืืืช ืชืืช ืจืืฉืืื MIT. RLBox ืชืืื ืืจืืข ืืคืืืคืืจืืืช ืืื ืืงืก ื-macOS, ืืืฉืจ ืชืืืืช Windows ืฆืคืืื ืืืืืจ ืืืชืจ.
ืื ืื ืื ืืขืืืื ืฉื RLBox ืืกืชืืืช ืืืืืืจ ืฉื ืงืื C/C++ ืฉื ืกืคืจืืื ืืืืืืช ืืงืื WebAssembly ืืจืื ื ืืืื, ืฉืชืืื ื ืืืืจ ืืื ืืืืืื WebAssembly, ืฉืืืจืฉืืืช ืฉืื ืืืืืจืืช ืจืง ืืืืก ืืืืืื ืื (ืืืืืื, ืกืคืจืื ืืขืืืื ืืืจืืืืช ืื ืืืืื ืืคืชืื ืฉืงืข ืจืฉืช ืื ืงืืืฅ) . ืืืจืช ืงืื C/C++ ื-WebAssembly ืืชืืฆืขืช ืืืืฆืขืืช wasi-sdk.
ืืืืฆืืข ืืฉืืจ, ืืืืื WebAssembly ืืืจืื ืืงืื ืืืื ื ืืืืฆืขืืช ืืืืจ Lucet ืืคืืขื ื"ื ื ื-ืชืืืื" ื ืคืจื ืืืืื ืืฉืืจ ืืืืจืื ืืืคืืืงืฆืื. ืืืืจ Lucet ืืืืกืก ืขื ืืืชื ืงืื ืืื ืื ืืข JIT ืื ืืฃ ืื ืืฃ, ืืฉืืฉ ื-Firefox ืืืืฆืืข WebAssembly.
ืืืืืื ืืืืจืื ืคืืขื ืืืืืจ ืืืืจืื ื ืคืจื ืืืื ืื ืืืฉื ืืฉืืจ ืืจืื ืืืชืืืืช. ืื ืื ืืฆืืช ืคืืืขืืช ืืกืคืจืืื, ืืชืืงืฃ ืืืื ืืืืื ืืื ืืืื ืืืฉืช ืืืืืจื ืืืืจืื ืฉื ืืชืืืื ืืจืืฉื ืื ืืืขืืืจ ืฉืืืื ืืืืฅ ืืกืืืื ืืืืืืืช.
ืจืื ืืจืื ืืืืื ืืกืืคืงืช ืืืคืชืืื API, ืืืืคืฉืจ ืื ืืืชืงืฉืจ ืืคืื ืงืฆืืืช ืกืคืจืืื ืืืฆื ืืืืื. ืืืคืื WebAssembly ืืืขื ืฉืืื ื ืืืจืฉืื ืืฉืืืื ื ืืกืคืื ืืืืื ืืจืืงืฆืื ืืืชื ืืื ื ืืืืืช ืืืจืื ืืงืจืืืช ืคืื ืงืฆืืืช ืจืืืืืช (ืคืื ืงืฆืืืช ืืกืคืจืืื ืืืืฆืขืืช ืืฆืืจื ืฉื ืงืื ืืงืืจื, ืืขืืืืืช ืชืงืืจื ืืชืขืืจืจืืช ืจืง ืืขืช ืืขืชืงื ืืืืืงืช ื ืชืื ืื ืืืืื ืืื ืืจืืงืฆืื ืขื ืืกืืืื ืืืืืืืช). ืื ื ืืชื ืืงืจืื ืืฉืืจืืช ืืคืื ืงืฆืืืช ืกืคืจืืื ืืืืืืืช ืืืฉ ืืืฉืช ืืืืื ืืืืฆืขืืช
layer invoke_sandbox_function().
ืืชืืจื, ืื ืืฉ ืฆืืจื ืืงืจืื ืืคืื ืงืฆืืืช ืืืฆืื ืืืช ืืืกืคืจืืื, ืืฉ ืืืืืืจ ืืช ืืคืื ืงืฆืืืช ืืืื ืืืคืืจืฉ ืืืืฆืขืืช ืฉืืืช register_callback (ืืืจืืจืช ืืืื, RLBox ืืกืคืง ืืืฉื ืืคืื ืงืฆืืืช ืกืคืจืืื ืจืืืื). ืืื ืืืืืื ืืืืืืช ืืืืจืื, ืืืืื ืืืฆืืข ืงืื ืืื ื ืืกืคืืง ืืืืจืฉ ืื ืืืืงื ืฉื ืืจืื ืื ืชืื ืื ืืืืืืจืื.
ืขืจืืื ืฉื ืืฆืจื ืืกืืืื ืืืืืืช ืืกืืื ืื ืืื ืืืื ืื ืืืืืืืื ืืฉืืืืฉ ืกืืื ืื ื ืืืขืื ืื"ื ืืงืื" ืื ืืืจืฉืื ืืืืืช ืืืขืชืงื ืืืืืจืื ืืืคืืืงืฆืื.
ืืื ื ืืงืื, ื ืืกืืื ืืืฉืชืืฉ ืื ืชืื ืื ื ืืืขืื ืืืงืฉืจ ืืืืจืฉ ื ืชืื ืื ืจืืืืื (ืืืืืคื) ืืืื ืืืฆืืจืช ืฉืืืืืช ืืืื ืืืืืืจ. ืืจืืืื ืืื ืฉื ืคืื ืงืฆืืืช ืงืื ืืช, ืขืจืื ืืืืจื ืืืื ืื ืืืขืืจืื ืืืืฆืขืืช ืืขืชืงื ืืื ืืืืจืื ืืชืืืื ืืืืืจืื ืืจืื ืืื. ืขืืืจ ืืขืจืื ื ืชืื ืื ืืืืืื, ืืืืจืื ืืืงืฆื ืืกืืืื ืืืืืืช ืืืฆืืืข ืืฉืืจ ืฉื ืืจืื ืืื ืืืืืจ ืืชืืืื ืืจืืฉื.
ืืงืืจ: OpenNet.ru