αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžšαžšαž”αžŸαŸ‹ Facebook αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ Hermes JavaScript

αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ JavaScript αžŸαŸ’αžšαžΆαž›β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαž—αž–β€‹αž”αžΎαž€β€‹αž…αŸ†αž β€‹αžšαž”αžŸαŸ‹ Facebook Hermesαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ αž”αŸ’αžšαžαž·αž€αž˜αŸ’αž˜αžŠαžΎαž˜ αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Android αŸ” Hermes αž‚αžΆαŸ†αž‘αŸ’αžš αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ αž“αŸ…αž€αŸ’αž“αž»αž„ React Native αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ 0.60.2 αž“αŸ…αžαŸ’αž„αŸƒαž“αŸαŸ‡αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž™αžΌαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ JavaScript ដើម αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ” αž€αžΌαžŠ αžŸαžšαžŸαŸαžšαžŠαŸ„αž™ αž“αŸ…αž€αŸ’αž“αž»αž„ C ++ αž“αž·αž„αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ MIT αŸ”

αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž‚αž»αžŽαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Hermes αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž€αžΆαžšαžαž™αž…αž»αŸ‡αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αž€αžΆαžšαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ V8 αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž–αŸαž›αž…αŸ’αžšαžΎαž“αž”αŸ†αž•αž»αžαž‚αžΊαž‡αžΆαžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸƒαž€αžΆαžšαž‰αŸ‚αž€αž€αžΌαžŠαž”αŸ’αžšαž—αž– αž“αž·αž„αž…αž„αž€αŸ’αžšαž„αžœαžΆαž—αŸ’αž›αžΆαž˜αŸ—αŸ” Hermes αž“αžΆαŸ†αž‡αŸ†αž αžΆαž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‘αŸ…αž€αžΆαž“αŸ‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒ bytecode αž”αž„αŸ’αžšαž½αž˜ αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ SemiSpace αžŠαŸ‚αž›αž…αŸ‚αž€αž…αžΆαž™αž”αŸ’αž›αž»αž€αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ (αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš) αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž“αž·αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž”αŸ’αž›αž»αž€ αžαŸ’αžšαž‘αž”αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ„αŸ‡αž›αŸ‚αž„αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ„αž™αž˜αž·αž“αž‘αŸ€αž„αž‘αžΆαžαŸ‹αŸ” αžŸαŸ’αž€αŸαž“αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž‚αŸ†αž“αžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ”

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš JavaScript αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆαžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αžŠαŸ†αž”αžΌαž„ αž’αžαŸ’αžαž”αž‘αž”αŸ’αžšαž—αž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‰αŸ‚αž€ αž αžΎαž™αžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αž“αŸƒαž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž (Hermes IR) αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžαŸ†αžŽαžΆαž„ αžŸαŸŠαžΈαŸ” αžŸαŸŠαžΈαŸ” ស៊ី (αž€αž·αž…αŸ’αž…αž€αžΆαžšαžαŸ‚αž˜αž½αž™αž‹αž·αžαž·αžœαž“αŸ’αž) αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‹αž·αžαž·αžœαž“αŸ’αžαž†αŸ’αž–αŸ„αŸ‡αž‘αŸ…αž˜αž»αž αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž€αžΌαžŠαž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αž”αž‹αž˜αž‘αŸ…αž‡αžΆαžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž˜αž»αž“ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž“αžΌαžœαž’αžαŸ’αžαž“αŸαž™αžŠαžΎαž˜αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž›αŸαžαž€αžΌαžŠαž”αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ„αž™ αž•αŸ’αž“αŸ‚αž€αž“αŸƒαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš ECMAScript 2015 JavaScript (αž‚αŸ„αž›αžŠαŸ…αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαžœαžΆαž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰) αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ React Native αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αŸ” Hermes αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αž“αŸƒ eval() αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸαž…αž€αŸ’αžαžΈαžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸ αž€αžΆαžšαž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„ (Reflect αž“αž·αž„ Proxy), Intl API αž“αž·αž„αž‘αž„αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„ RegExpαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€ Hermes αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ React Native αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸ "enableHermes: true" αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αŸ” αžœαžΆαž€αŸαž’αžΆαž…αž”αž„αŸ’αž€αžΎαž Hermes αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” CLI αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž―αž€αžŸαžΆαžš JavaScript αž”αŸ†αž–αžΆαž“αž–αžΈαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ” αžšαž”αŸ€αž”αž…αž„αž€αŸ’αžšαž„αžαŸ’αž‡αž·αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ‚αž€αŸ†αž αž»αžŸ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž˜αž·αž“αž…αž„αž€αŸ’αžšαž„ JavaScript αžšαžΆαž›αŸ‹αž–αŸαž›αž€αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž bytecode αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž›αžΎαž§αž”αž€αžšαžŽαŸαŸ”

αž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡ Facebook αž˜αž·αž“αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž› Hermes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Node.js αž“αž·αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸ αžŠαŸ„αž™αž•αŸ’αžαŸ„αžαžαŸ‚αž›αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ (αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„ AOT αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ JIT αž‚αžΊαž›αŸ’αž’αž”αŸ†αž•αž»αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžŠαŸ‚αž›αž˜αžΆαž“ RAM αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹ αž“αž·αž„ Flash αž™αžΊαž)αŸ” αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αž‹αž˜αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™αž”αž»αž‚αŸ’αž‚αž›αž·αž€ Microsoft αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž±αŸ’αž™αžŠαžΉαž„αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ Hermes αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Microsoft Office αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 1.1 αžœαž·αž“αžΆαž‘αžΈαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ RAM 21.5MB αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ V8 αžœαžΆαžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž› 1.4 αžœαž·αž“αžΆαž‘αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž αžΎαž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž‚αžΊ 30MB αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αŸ– αž αŸ’αžœαŸαžŸαž”αŸŠαž»αž€ αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž— αž›αž‘αŸ’αž’αž•αž›αžαŸαžŸαŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αŸ” αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ Hermes αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ MatterMost αž–αŸαž›αžœαŸαž›αžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžš (TTI, Time To Interact) αž”αžΆαž“αžαž™αž…αž»αŸ‡αž–αžΈ 4.30 αž‘αŸ… 2.01 αžœαž·αž“αžΆαž‘αžΈ αž‘αŸ†αž αŸ†αž“αŸƒαž€αž‰αŸ’αž…αž”αŸ‹ APK αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αžΈ 41 αž‘αŸ… 22 MB αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž–αžΈ 185 αž‘αŸ… 136 MB

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹