Wasmer 3.0, WebAssembly அடிப்படையில் பயன்பாடுகளை உருவாக்குவதற்கான கருவித்தொகுப்பு உள்ளது

Wasmer திட்டத்தின் மூன்றாவது பெரிய வெளியீடு அறிமுகப்படுத்தப்பட்டது, இது WebAssembly தொகுதிகளை இயக்குவதற்கான இயக்க நேரத்தை உருவாக்குகிறது, இது பல்வேறு இயக்க முறைமைகளில் இயங்கக்கூடிய உலகளாவிய பயன்பாடுகளை உருவாக்கவும், அத்துடன் நம்பத்தகாத குறியீட்டை தனிமையில் செயல்படுத்தவும் பயன்படுகிறது. திட்டக் குறியீடு ரஸ்டில் எழுதப்பட்டு எம்ஐடி உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

வெவ்வேறு தளங்களில் ஒரு பயன்பாட்டை இயக்கும் திறன், குறியீட்டை குறைந்த-நிலை WebAssembly இடைநிலைக் குறியீட்டில் தொகுப்பதன் மூலம் வழங்கப்படுகிறது, இது எந்த OS இல் இயங்கலாம் அல்லது பிற நிரலாக்க மொழிகளில் உள்ள நிரல்களில் உட்பொதிக்கப்படலாம். நிரல்கள் WebAssembly சூடோகுறியீட்டை இயக்கும் இலகுரக கொள்கலன்கள். இந்த கொள்கலன்கள் இயக்க முறைமையுடன் இணைக்கப்படவில்லை மற்றும் எந்த நிரலாக்க மொழியிலும் முதலில் எழுதப்பட்ட குறியீட்டையும் சேர்க்கலாம். WebAssemblyக்கு தொகுக்க எம்ஸ்கிரிப்டன் கருவித்தொகுப்பைப் பயன்படுத்தலாம். WebAssemblyஐ தற்போதைய இயங்குதளத்தின் இயந்திரக் குறியீடாக மொழிபெயர்க்க, இது பல்வேறு தொகுத்தல் பின்தளங்கள் (Singlepass, Cranelift, LLVM) மற்றும் இயந்திரங்கள் (JIT அல்லது இயந்திரக் குறியீடு உருவாக்கத்தைப் பயன்படுத்தி) இணைப்பை ஆதரிக்கிறது.

பயன்பாடுகள் சாண்ட்பாக்ஸ் சூழலில் பிரதான அமைப்பிலிருந்து தனிமைப்படுத்தப்பட்டு, அறிவிக்கப்பட்ட செயல்பாடுகளுக்கு மட்டுமே அணுகலைக் கொண்டுள்ளன (திறன் நிர்வாகத்தின் அடிப்படையிலான பாதுகாப்பு பொறிமுறை - ஒவ்வொரு ஆதாரங்களுடனும் (கோப்புகள், கோப்பகங்கள், சாக்கெட்டுகள், கணினி அழைப்புகள் போன்றவை) செயல்களுக்கு, விண்ணப்பத்திற்கு உரிய அதிகாரங்கள் வழங்கப்பட வேண்டும்). WASI (WebAssembly System Interface) API ஐப் பயன்படுத்தி கணினியுடன் அணுகல் கட்டுப்பாடு மற்றும் தொடர்பு வழங்கப்படுகிறது, இது இயக்க முறைமையால் வழங்கப்படும் கோப்புகள், சாக்கெட்டுகள் மற்றும் பிற செயல்பாடுகளுடன் பணிபுரிய நிரலாக்க இடைமுகங்களை வழங்குகிறது.

நேட்டிவ் அசெம்பிளிகளுக்கு அருகாமையில் அப்ளிகேஷன் எக்ஸிகியூஷன் செயல்திறனை அடைய தளம் உங்களை அனுமதிக்கிறது. WebAssembly தொகுதிக்கான நேட்டிவ் ஆப்ஜெக்ட் இன்ஜினைப் பயன்படுத்தி, நீங்கள் இயந்திரக் குறியீட்டை உருவாக்கலாம் (முன்தொகுக்கப்பட்ட .so, .dylib மற்றும் .dll ஆப்ஜெக்ட் கோப்புகளை உருவாக்க “wasmer compile -native”), இதற்கு இயக்க குறைந்தபட்ச இயக்க நேரம் தேவைப்படுகிறது, ஆனால் அனைத்து சாண்ட்பாக்ஸ் தனிமைப்படுத்தலையும் தக்க வைத்துக் கொள்ளும். அம்சங்கள். உள்ளமைக்கப்பட்ட வாஸ்மருடன் முன்தொகுக்கப்பட்ட நிரல்களை வழங்குவது சாத்தியமாகும். துணை நிரல்களையும் நீட்டிப்புகளையும் உருவாக்க ரஸ்ட் ஏபிஐ மற்றும் வாஸ்ம்-சி-ஏபிஐ வழங்கப்படுகின்றன.

ஒரு WebAssembly கண்டெய்னரைத் தொடங்க, வெளிப்புற சார்புகள் இல்லாமல் (“curl https://get.wasmer.io -sSfL | sh”) வரும் இயக்க நேர அமைப்பில் Wasmer ஐ நிறுவி, தேவையான கோப்பை இயக்கவும் (“wasmer test.wasm” ) நிரல்கள் வழக்கமான WebAssembly தொகுதிகள் வடிவில் விநியோகிக்கப்படுகின்றன, அவை WAPM தொகுப்பு மேலாளரைப் பயன்படுத்தி நிர்வகிக்கப்படும். ரஸ்ட், C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir மற்றும் Java நிரல்களில் WebAssembly குறியீட்டை உட்பொதிக்க பயன்படும் நூலகமாகவும் Wasmer கிடைக்கிறது.

வாஸ்மர் 3.0 இல் முக்கிய மாற்றங்கள்:

  • எந்தவொரு இயங்குதளத்திற்கும் சொந்த இயங்கக்கூடிய கோப்புகளை உருவாக்கும் திறனைச் சேர்த்தது. "wasmer create-exe" கட்டளையானது, WebAssembly இடைநிலைக் குறியீட்டு கோப்பை Linux, Windows மற்றும் macOS இயங்குதளங்களுக்கான தன்னியக்க இயங்குதளங்களாக மாற்றுவதற்கு முற்றிலும் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது, அவை Wasmer ஐ நிறுவாமல் இயங்க முடியும்.
  • “wasmer run” கட்டளையைப் பயன்படுத்தி wapm.io கோப்பகத்தில் உள்ள WAPM தொகுப்புகளை துவக்க முடியும். எடுத்துக்காட்டாக, "wasmer run python/python"ஐ இயக்குவது, wapm.io களஞ்சியத்திலிருந்து பைதான் தொகுப்பைப் பதிவிறக்கி இயக்கும்.
  • Wasmer Rust API முற்றிலும் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது, நினைவகத்துடன் பணிபுரியும் பாணியை மாற்றுகிறது மற்றும் ஸ்டோர் கட்டமைப்பில் Wasm பொருட்களை பாதுகாப்பாக சேமிக்கும் திறனை வழங்குகிறது. ஒரு புதிய MemoryView அமைப்பு முன்மொழியப்பட்டது, இது ஒரு நேரியல் நினைவக பகுதிக்கு தரவைப் படிக்கவும் எழுதவும் அனுமதிக்கிறது.
  • ஒரு வலை உலாவியில் Wasmer ஐ இயக்கவும், Wasm-bindgen நூலகத்தைப் பயன்படுத்தி JavaScript இலிருந்து அதனுடன் தொடர்பு கொள்ளவும், wasmer-js கூறுகளின் தொகுப்பு செயல்படுத்தப்பட்டுள்ளது. அதன் திறன்களில், வழக்கமான இயக்க முறைமைகளில் வாஸ்மரை இயக்க வடிவமைக்கப்பட்ட வாஸ்மர்-எஸ்எஸ் கூறுகளுக்கு வாஸ்மர்-ஜேஎஸ் ஒத்திருக்கிறது.
  • என்ஜின்கள் எளிமைப்படுத்தப்பட்டுள்ளன. JIT, டைனமிக் மற்றும் ஸ்டேடிக் லிங்க்கிங் (Universal, Dylib, StaticLib) ஆகியவற்றிற்கான தனி இயந்திரங்களுக்குப் பதிலாக, ஒரு பொதுவான இயந்திரம் இப்போது வழங்கப்படுகிறது மற்றும் அளவுருக்களை அமைக்கும் மட்டத்தில் குறியீடு ஏற்றுதல் மற்றும் சேமிப்பது கட்டுப்படுத்தப்படுகிறது.
  • கலைப்பொருட்களை சீரழிக்க, rkyv கட்டமைப்பு பயன்படுத்தப்படுகிறது, இது பூஜ்ஜிய-நகல் பயன்முறையில் செயல்பாட்டை உறுதி செய்கிறது, அதாவது. கூடுதல் நினைவக ஒதுக்கீடு தேவையில்லை மற்றும் ஆரம்பத்தில் வழங்கப்பட்ட இடையகத்தைப் பயன்படுத்தி மட்டுமே டீரியலைசேஷன் செய்கிறது. rkyv இன் பயன்பாடு தொடக்க வேகத்தை கணிசமாக அதிகரித்துள்ளது.
  • சிங்கிள்பாஸ் சிங்கிள்-பாஸ் கம்பைலர் மேம்படுத்தப்பட்டுள்ளது, பல-மதிப்பு செயல்பாடுகளுக்கான ஆதரவைச் சேர்த்தது, மேம்பட்ட நம்பகத்தன்மை மற்றும் விதிவிலக்கு கையாளுதல் பிரேம்களுக்கான ஆதரவைச் சேர்த்தது.
  • WASI (WebAssembly System Interface) API இன் மேம்படுத்தப்பட்ட செயல்படுத்தல். கோப்பு முறைமையுடன் பணிபுரிவதற்கான WASI மென்பொருள் இடைமுகத்தில் உள்ள சிக்கல்கள் தீர்க்கப்பட்டுள்ளன. WAI (WebAssembly Interfaces) ஐப் பயன்படுத்தி உள் வகைகள் மறுவடிவமைப்பு செய்யப்பட்டுள்ளன, இது எதிர்காலத்தில் தொடர்ச்சியான புதிய அம்சங்களை செயல்படுத்தும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்