Wasmer 3.0 xuất hiện với các cải tiến về WASI, API, quản lý bộ nhớ, v.v.

thợ may

Wasmer là thời gian chạy WebAssugging nhanh và an toàn, cho phép các bộ chứa siêu nhẹ chạy ở mọi nơi: từ máy tính để bàn đến đám mây, thiết bị biên và thiết bị IoT

Sau gần 6 tháng kể từ lần phát hành trước, phiên bản mới của Wasmer 3.0 đã được phát hành, phiên bản chính thứ ba của dự án phát triển một thời gian chạy để thực thi các mô-đun WebAssugging có thể được sử dụng để tạo các ứng dụng phổ biến có thể chạy trên các hệ điều hành khác nhau, cũng như thực thi mã không đáng tin cậy.

La khả năng chạy cùng một ứng dụng trên các nền tảng khác nhau nó được cung cấp bằng cách biên dịch mã thành mã trung gian WebAssugging cấp thấp có thể chạy trên bất kỳ hệ điều hành nào hoặc được nhúng trong các chương trình bằng các ngôn ngữ lập trình khác. Các chương trình là các thùng chứa nhẹ chạy mã giả WebAssugging.

Các vùng chứa này không bị ràng buộc với hệ điều hành và có thể chứa mã ban đầu được viết bằng bất kỳ ngôn ngữ lập trình nào.

Để dịch WebAssembly sang mã máy nền tảng hiện tại, bạn hỗ trợ kết nối các phụ trợ xây dựng khác nhau (Singlepass, Cranelift, LLVM) và động cơ (sử dụng JIT hoặc tạo mã máy). Kiểm soát truy cập và tương tác với hệ thống được cung cấp bởi API WASI (Giao diện hệ thống WebAssugging), cung cấp giao diện lập trình để làm việc với tệp, ổ cắm và các chức năng khác do hệ điều hành cung cấp.

Nền tảng cho phép bạn đạt được hiệu suất thực thi ứng dụng gần với hiệu suất của các bản dựng gốc.

Những điểm mới chính của Wasmer 3.0

Trong phiên bản Wasmer 3.0 mới này, khả năng tạo các tệp thực thi gốc cho bất kỳ nền tảng nào. Lệnh "wasmer tạo-exe» đã được thiết kế lại hoàn toàn để chuyển đổi tệp mã trung gian WebAssembly thành các tệp thực thi độc lập cho các nền tảng Linux, Windows và macOS có thể chạy mà không cần cài đặt Wasmer.

Một điều mới lạ khác được trình bày là khả năng chạy các gói WAPM nằm trong thư mục wapm.io sử dụng lệnh "wasmer run". Ví dụ: thực thi "wasmer chạy python/python» sẽ tải xuống gói python từ kho lưu trữ wapm.io và chạy nó.

Wasmer Rust API đã được thiết kế lại hoàn toàn, thay đổi cách nó xử lý bộ nhớ và cung cấp khả năng lưu trữ các đối tượng Wasm một cách an toàn trong cấu trúc Store.

Cũng được nhấn mạnh trong phiên bản Wasmer 3.0 mới này là cải thiện triển khai API WASI (Giao diện hệ thống WebAssugging), ngoài việc sửa các sự cố trong API WASI để hoạt động với hệ thống tệp. Các loại bên trong đã được thiết kế lại bằng cách sử dụng WAI (Giao diện WebAssembly), điều này sẽ cho phép triển khai một loạt các chức năng mới trong tương lai.

Ngoài ra, các công cụ cũng đã được đơn giản hóa, vì thay vì các công cụ riêng biệt cho JIT, liên kết động và tĩnh (Universal, Dylib, StaticLib), hiện cung cấp một công cụ chung và tải và lưu mã được kiểm soát ở mức cài đặt tham số.

Để deserialize tạo phẩm, khung rkyv được sử dụng, cung cấp thao tác sao chép bằng XNUMX, tức là nó không yêu cầu cấp phát bộ nhớ bổ sung và thực hiện giải tuần tự hóa chỉ sử dụng bộ đệm được cung cấp ban đầu.

Của những thay đổi khác nổi bật so với phiên bản mới này:

  • Sử dụng rkyv tăng tốc độ khởi động đáng kể.
  • Trình biên dịch Singlepass đã được cải tiến để hỗ trợ các hàm đa giá trị, cải thiện độ tin cậy và thêm hỗ trợ cho các khung xử lý ngoại lệ.
  • Tập hợp các thành phần wasmer-js đã được triển khai để chạy Wasmer trong trình duyệt web và tương tác với nó từ JavaScript bằng thư viện wasm-bindgen.
  • Một cấu trúc mới đã được đề xuất. Bộ nhớ Xem cho phép đọc và ghi dữ liệu trong vùng bộ nhớ tuyến tính.

Cuối cùng, cần đề cập rằng các chương trình được phân phối dưới dạng các mô-đun WebAssembly thông thường, có thể được quản lý bằng trình quản lý gói WAPM. Wasmer cũng có sẵn dưới dạng thư viện có thể được sử dụng để nhúng mã WebAssembly vào các chương trình Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir và Java.

Mã của dự án được viết bằng Rust và được phân phối theo giấy phép MIT và bạn có thể kiểm tra thêm về nó, Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.