क्या यह सच है कि ब्राउज़र को हर बार पेज लोड होने के बाद वेबस्वाम लाइब्रेरी डाउनलोड करने की आवश्यकता होगी?
नहीं, ब्राउज़र फ़ाइलों को कैश कर सकते हैं। Blazor ऐप्स के लिए कॉमन CDN ट्रिक करेगा।
क्या यह प्रणाली, उदाहरण के लिए, प्रतिक्रिया / Vue, जावास्क्रिप्ट में संकलित की तुलना में काम करने के लिए तेज़ है?
ब्लेजर वेब असेंबली का उपयोग करता है, ऑन पेपर वेब असेंबली किसी भी जेएस लाइब्रेरी की तुलना में तेज़ होनी चाहिए, हालांकि सभी ब्राउज़रों में अभी तक एक परिपक्व वेब असेंबली पार्सर नहीं है। तो आप पा सकते हैं कि ब्राउज़र अब तक एक इष्टतम गति में वेब असेंबली नहीं चलाएंगे।
आप एक छोटा ब्लेज़र ऐप बना सकते हैं और इसे फ़ायरफ़ॉक्स, क्रोम या एज में चला सकते हैं। ज्यादातर मामलों में फ़ायरफ़ॉक्स क्रोम या एज की तुलना में बहुत तेज़ी से ब्लेज़र एप्लिकेशन चलाता है, जिसका अर्थ है कि ब्राउज़र निर्माताओं को अभी भी सुधार करने की आवश्यकता है, यहां तक कि फ़ायरफ़ॉक्स भी सुधार कर सकता है।
यदि आपके ऐप को DOM को अक्सर एक्सेस करने की आवश्यकता है, तो निश्चित रूप से वेब असेंबली / ब्लेज़र किसी भी JS पुस्तकालयों की तुलना में धीमा होगा क्योंकि वेब असेंबली सीधे Invokes का उपयोग किए बिना DOM तक पहुंच नहीं सकता है (जो इस समय धीमा है, कृपया मेरे ब्लेज़र बेंचमार्क को देखें) ।
फ़ायरफ़ॉक्स 10,000 पर RegisteredFunction.InvokeUnmarshalle
से खाली तरीकों पर कॉल करने में 250ms लगते हैं जबकि मेरे पीसी में क्रोम और किनारे की ज़रूरत 2400ms से अधिक है। ' शुद्ध जेएस में यह समान परिदृश्य के लिए 10 मिलीसे कम से कम होता है।
इसके अतिरिक्त, वर्तमान कार्यान्वयन ब्लेज़र का ब्राउज़र वेब असेंबली इंजन के शीर्ष पर अपना स्वयं का MSIL इंजन है, जिसका अर्थ है कि ब्लेज़र परियोजना को चलाने के लिए दो व्याख्याकार काम कर रहे हैं, जैसे दो अनुवादक एक के बजाय एक वार्तालाप की व्याख्या कर रहे हैं। वर्तमान में Microsoft AOT कंपाइलर पर काम कर रहा है, जो अभी रिलीज़ नहीं हुआ है। एक बार इसकी रिहाई ब्लेज़र वर्तमान कार्यान्वयन की तुलना में बहुत तेज़ होगी।
http://www.mono-project.com/news/2018/01/16/mono-static-webassembly-compilation/
हम सुरक्षित रूप से मान सकते हैं कि वेब असेंबली वेब डेवलपमेंट का भविष्य है, लेकिन फिलहाल हम ब्लेज़र के भविष्य के बारे में कुछ नहीं कह सकते। कागज़ पर ब्लेज़र किसी भी रूपरेखा से तेज़ हो सकता है, हालाँकि हमें सिद्धांतों को व्यावहारिक बनाने के लिए वेब असेंबली मेंटेनर, ब्राउज़र डेवलपर्स, माइक्रोसॉफ्ट और समुदायों से प्रतिबद्धता की आवश्यकता है।
अपडेट 10 जुलाई 2018
WebAssembly repos में नए प्रस्ताव हैं।
WebAssembly को सीधे डोम से हैंडल करना।
https://github.com/WebAssembly/proposals/issues/8
GC के साथ WebAssembly के लिए संदर्भ प्रकार। https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md
दो प्रस्तावों के ऊपर भविष्य में DOM और webassembly के बीच बहुत तेजी से बातचीत का मार्ग प्रशस्त होगा। IOW ब्लेज़र भविष्य में बहुत तेज़ होगा।
अपडेट 17 अक्टूबर 2018
फ़ायरफ़ॉक्स टीम जेएस -> डब्ल्यूएएसएम कॉल जेएस -> जेएस विधि कॉल के रूप में तेजी से पहुंचने में सक्षम थी। जब तक WebAssembly समर्थन की बात आती है, तब तक फ़ायरफ़ॉक्स किसी भी अन्य ब्राउज़रों से बहुत आगे है
https://hacks.mozilla.org/2018/10/calls-between-javascript-and-webassembly-are-finally-fast-%F0%9F%8E%89/