Wasmer 3.0, kayan aiki don gina aikace-aikacen tushen WebAssembly, yana samuwa

An gabatar da babban saki na uku na aikin Wasmer, wanda ke haɓaka lokacin aiki don aiwatar da na'urorin WebAssembly waɗanda za a iya amfani da su don ƙirƙirar aikace-aikacen duniya waɗanda za su iya aiki akan tsarin aiki daban-daban, da kuma aiwatar da lambar da ba a amince da su ba a ware. An rubuta lambar aikin a cikin Rust kuma ana rarraba a ƙarƙashin lasisin MIT.

Ana ba da ikon gudanar da aikace-aikacen guda ɗaya a kan dandamali daban-daban ta hanyar haɗa lamba zuwa ƙaramin matsakaicin lambar WebAssembly, wanda zai iya aiki akan kowace OS ko kuma a saka shi cikin shirye-shirye a cikin wasu yarukan shirye-shirye. Shirye-shiryen su ne kwantena masu nauyi waɗanda ke gudanar da pseudocode WebAssembly. Waɗannan kwantena ba su da alaƙa da tsarin aiki kuma suna iya haɗa lambar da aka rubuta ta asali a cikin kowane yaren shirye-shirye. Ana iya amfani da kayan aikin Emscripten don haɗawa zuwa WebAssembly. Don fassara WebAssembly zuwa lambar injin na dandamali na yanzu, yana goyan bayan haɗin haɗakarwa daban-daban na baya (Singlepass, Cranelift, LLVM) da injuna (ta amfani da JIT ko ƙirar lambar injin).

Aikace-aikacen sun keɓanta daga babban tsarin a cikin yanayin sandbox kuma suna da damar kawai zuwa ayyukan da aka ayyana (na'urar tsaro ta dogara da iya aiki - don ayyuka tare da kowane albarkatun (fayil, kundayen adireshi, soket, kiran tsarin, da sauransu), aikace-aikace dole ne a ba da ikon da suka dace). Ana ba da ikon samun dama da hulɗa tare da tsarin ta amfani da WASI (WebAssembly System Interface) API, wanda ke ba da hanyoyin sadarwa na shirye-shirye don aiki tare da fayiloli, kwasfa da sauran ayyukan da tsarin aiki ke bayarwa.

Dandalin yana ba ku damar cimma aikin aiwatar da aikace-aikacen kusa da majalisai na asali. Ta amfani da injin kayan abu na asali don Module na yanar gizo, zaku iya samar da lambar injin ("winder code-procultible", wanda ke buƙatar karancin kayan maye .Dll .DyLiB fasali. Yana yiwuwa a samar da shirye-shiryen da aka riga aka haɗa tare da ginanniyar Wasmer. Ana ba da Rust API da Wasm-C-API don ƙirƙirar kari da kari.

Don ƙaddamar da kwandon WebAssembly, kawai shigar da Wasmer a cikin tsarin runtime, wanda ke zuwa ba tare da dogaro na waje ba ("curl https://get.wasmer.io -sSfL | sh"), kuma gudanar da fayil ɗin da ake buƙata ("wasmer test.wasm" ). Ana rarraba shirye-shirye a cikin nau'ikan samfuran WebAssembly na yau da kullun, waɗanda za'a iya sarrafa su ta amfani da mai sarrafa fakitin WAPM. Hakanan ana samun Wasmer azaman ɗakin karatu wanda za'a iya amfani dashi don shigar da lambar yanar gizo cikin Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir, da shirye-shiryen Java.

Manyan canje-canje a Wasmer 3.0:

  • Ƙara ikon ƙirƙirar fayilolin aiwatarwa na asali don kowane dandamali. An sake tsara umarnin "wasmer create-exe" gabaɗaya don canza fayil ɗin lambar tsaka-tsaki na WebAssembly zuwa abubuwan aiwatar da kai don Linux, Windows, da dandamali na macOS waɗanda zasu iya gudana ba tare da shigar da Wasmer kanta ba.
  • Yana yiwuwa a ƙaddamar da fakitin WAPM da ke cikin wapm.io directory ta amfani da umarnin "wasmer run". Misali, gudanar da "wasmer run python/python" zai zazzage fakitin python daga ma'ajiyar wapm.io kuma a gudanar da shi.
  • An sake fasalin API ɗin Wasmer Rust gaba ɗaya, yana canza salon aiki tare da ƙwaƙwalwa da kuma ba da damar adana abubuwan Wasm cikin aminci a cikin tsarin Store. An gabatar da sabon tsarin MemoryView wanda zai ba da damar karantawa da rubuta bayanai zuwa wurin ƙwaƙwalwar ajiyar layi.
  • An aiwatar da wani tsari na abubuwan wasmer-js don gudanar da Wasmer a cikin mashigar yanar gizo da mu'amala da shi daga JavaScript ta amfani da laburaren wasm-bindgen. A cikin iyawar sa, wasmer-js yayi daidai da abubuwan wasmer-sys da aka ƙera don tafiyar da Wasmer akan tsarin aiki na yau da kullun.
  • An sauƙaƙa injiniyoyi. Madadin injunan daban don JIT, mai ƙarfi da haɗin kai (Universal, Dylib, StaticLib), injin gama gari yanzu ana ba da shi, kuma ana sarrafa lambar lodi da adanawa a matakin saiti.
  • Don kawar da kayan tarihi, ana amfani da tsarin rkyv, wanda ke tabbatar da aiki a yanayin kwafin sifili, watau. wanda baya buƙatar ƙarin ƙayyadaddun ƙwaƙwalwar ajiya kuma yana aiwatar da ɓata lokaci kawai ta amfani da buffer da aka bayar da farko. Amfani da rkyv ya haɓaka saurin farawa sosai.
  • An inganta na'ura mai tarawa ta Singlepass, ƙara tallafi don ayyuka masu ƙima da yawa, ingantaccen aminci, da ƙarin tallafi don keɓanta firamiyoyi.
  • Ingantattun aiwatar da WASI (WebAssembly System Interface) API. Matsaloli a cikin mu'amalar software na WASI don aiki tare da tsarin fayil an warware su. An sake tsara nau'ikan ciki ta amfani da WAI (Interfaces WebAssembly), wanda zai ba da damar sabbin abubuwa a gaba.

source: budenet.ru

Add a comment