WebAssembly और TypeScript के साथ कार्य: A से Z तक — पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

WebAssembly और TypeScript का परिचय

\n

WebAssembly (Wasm) एक निम्न-स्तरीय बाइनरी निर्देश प्रारूप है जो ब्राउज़र में लगभग नेटिव गति से निष्पादित होता है। TypeScript, जो JavaScript का स्थैतिक रूप से टाइप किया गया सुपरसेट है, के साथ मिलकर डेवलपर्स को उच्च-प्रदर्शन वाले वेब एप्लिकेशन बनाने के लिए एक शक्तिशाली उपकरण मिलता है। इस लेख में हम WebAssembly और TypeScript के साथ कार्य के पूर्ण चक्र को समझेंगे: सिद्धांत से लेकर व्यावहारिक उदाहरणों तक।

\n

WebAssembly आपको C, C++, Rust और अन्य भाषाओं में लिखे कोड को ब्राउज़र में चलाने की अनुमति देता है। TypeScript, बदले में, सख्त टाइपिंग जोड़ता है और कोड की पठनीयता में सुधार करता है। साथ में, वे वीडियो प्रोसेसिंग, 3D ग्राफिक्स, क्रिप्टोग्राफी और अन्य संसाधन-गहन कार्यों के लिए नई संभावनाएं खोलते हैं।

\n\n

WebAssembly की मूल अवधारणाएँ

\n

WebAssembly क्या है?

\n

WebAssembly एक वर्चुअल मशीन है जिसमें बाइनरी निर्देश प्रारूप होता है। कोड .wasm फ़ाइलों में संकलित होता है, जो फिर ब्राउज़र में लोड और निष्पादित होता है। मुख्य लाभ:

\n
    \n
  • प्रदर्शन: नेटिव गति के करीब निष्पादन
  • \n
  • सुरक्षा: सैंडबॉक्स में पृथक निष्पादन
  • \n
  • पोर्टेबिलिटी: सभी आधुनिक ब्राउज़रों में काम करता है
  • \n
  • एकीकरण: JavaScript/TypeScript से आसानी से कॉल किया जा सकता है
  • \n
\n\n

WebAssembly प्रारूप

\n

दो मुख्य प्रारूप हैं:

\n
    \n
  • बाइनरी (.wasm): निष्पादन के लिए कॉम्पैक्ट बाइनरी प्रारूप
  • \n
  • टेक्स्ट (.wat): Wasm का मानव-पठनीय प्रतिनिधित्व
  • \n
\n

आमतौर पर डेवलपर्स .wasm फ़ाइलों के साथ काम करते हैं, जबकि टेक्स्ट प्रारूप डिबगिंग के लिए उपयोग किया जाता है।

\n\n

WebAssembly और TypeScript के साथ कार्य के लिए वातावरण सेटअप

\n

आवश्यक उपकरण

\n

शुरू करने के लिए आवश्यक:

\n
    \n
  • Node.js (संस्करण 16+)
  • \n
  • TypeScript कंपाइलर
  • \n
  • AssemblyScript (यदि TypeScript-जैसे सिंटैक्स में लिख रहे हैं)
  • \n
  • WebAssembly समर्थन वाला ब्राउज़र
  • \n
\n\n

AssemblyScript की स्थापना

\n

AssemblyScript एक भाषा है जो TypeScript-जैसे कोड को WebAssembly में संकलित करती है। स्थापना:

\n
npm init -y\nnpm install --save-dev assemblyscript\nnpx asinit .
\n

इसके बाद assembly/index.ts फ़ाइल और कॉन्फ़िगरेशन के साथ एक प्रोजेक्ट संरचना बनती है।

\n\n

AssemblyScript पर पहला मॉड्यूल लिखना

\n

assembly/index.ts फ़ाइल में एक सरल जोड़ फ़ंक्शन बनाएं:

\n
export function add(a: i32, b: i32): i32 {\n  return a + b;\n}
\n

i32 प्रकार पर ध्यान दें — यह AssemblyScript के लिए विशिष्ट 32-बिट पूर्णांक है।

\n\n

WebAssembly में संकलन

\n

संकलन के लिए कमांड चलाएं:

\n
npx asc assembly/index.ts -o build/optimized.wasm --optimize
\n

--optimize फ्लैग आकार और प्रदर्शन अनुकूलन को सक्षम करता है। आउटपुट में build/optimized.wasm फ़ाइल मिलती है।

\n\n

WebAssembly का TypeScript के साथ एकीकरण

\n

Wasm मॉड्यूल लोड करना

\n

Wasm फ़ंक्शन लोड और कॉल करने के लिए TypeScript फ़ाइल बनाएं:

\n
// wasm-loader.ts\nexport async function loadWasmModule(): Promise<WebAssembly.Module> {\n  const response = await fetch('build/optimized.wasm');\n  const bytes = await response.arrayBuffer();\n  return WebAssembly.compile(bytes);\n}\n\nexport async function instantiateModule(): Promise<WebAssembly.Instance> {\n  const module = await loadWasmModule();\n  const instance = await WebAssembly.instantiate(module);\n  return instance;\n}
\n\n

TypeScript से Wasm फ़ंक्शन कॉल करना

\n

अब मुख्य एप्लिकेशन फ़ाइल बनाएं:

\n
// main.ts\nimport { instantiateModule } from './wasm-loader';\n\nasync function main() {\n  try {\n    const instance = await instantiateModule();\n    const { add } = instanc                

ब्लॉग

पुस्तक अनुशंसाएँ