Giới thiệu các công cụ hiện có trên web nhờ WebAssembly.
WebAssembly cho phép nhà phát triển mang chức năng hiệu suất mới đến web từ các ngôn ngữ khác. Trong vài năm qua, các nhà phát triển đã thực sự tận dụng những khả năng này. Bài đăng này chỉ giới thiệu một số công cụ mới mà bạn có thể hưởng lợi, một phần là nhờ WebAssembly.
Các công cụ và thư viện bạn có thể sử dụng ngay
Không để bạn chờ lâu, hãy cùng tìm hiểu những nội dung thú vị :D
SQLite
Cổng SQLite hoàn chỉnh này mang đến cho bạn một hệ thống quản lý cơ sở dữ liệu quan hệ, nhẹ và được nhúng. Để tìm hiểu thêm, hãy đọc bài đăng trên blog này giới thiệu về cổng tuyệt vời này và cách sử dụng cổng đó.
FFmpeg.wasm
FFmpeg là một dự án phần mềm nguồn mở và miễn phí, bao gồm một bộ thư viện và chương trình để xử lý video, âm thanh cũng như các tệp và luồng đa phương tiện khác. Bạn có thể tìm thấy phiên bản biên dịch wasm tại đây (kho lưu trữ GitHub) cho phép bạn thực hiện tất cả chức năng này ngay trong trình duyệt.
Universal Scene Description (USD)
Universal Scene Description (USD) là một khung cho dữ liệu đồ hoạ máy tính 3D tập trung vào việc cộng tác, chỉnh sửa không phá huỷ và cho phép nhiều quan điểm và ý kiến về dữ liệu đồ hoạ. Đây là một tiêu chuẩn ngành được các công ty như Pixar, Autodesk, Nvidia và nhiều công ty khác hỗ trợ. Hiện tại, dịch vụ hỗ trợ web của họ vẫn còn ở giai đoạn đầu, nhưng Autodesk đã phát hành công khai trình xem USD dựa trên web mà bạn có thể xem tại đây.
CanvasKit
CanvasKit là Skia, công cụ kết xuất của Chrome và Android, được biên dịch trực tiếp thành WebAssembly. Với API này, bạn có thể truy cập vào API JavaScript đơn giản để khai thác hầu hết sức mạnh của công cụ kết xuất Skia. Chức năng này bao gồm kết xuất phức tạp, tạo hình văn bản, ảnh động, vẽ bằng bút cảm ứng và nhiều chức năng khác. Hãy xem gói npm và hướng dẫn bắt đầu nhanh.
TensorFlow.js
TensorFlow.js mang sức mạnh của TensorFlow trực tiếp vào trình duyệt bằng một API JavaScript đơn giản. Trong phần nội dung, công cụ này tối ưu hoá các mô hình trên cả GPU và CPU (bao gồm cả các hoạt động tối ưu hoá SIMD) để tối đa hoá hiệu suất. Bạn có thể xem hướng dẫn bắt đầu sử dụng hoặc xem trực tiếp một số bản minh hoạ của họ.
OpenCV
OpenCV là một tiêu chuẩn ngành về các hàm lập trình chủ yếu dành cho thị giác máy tính theo thời gian thực. Có một gói npm dễ sử dụng tại đây và đối với người dùng Emscripten, cũng có hướng dẫn chi tiết để tạo bản dựng đầy đủ. Để xem cách SIMD và luồng cải thiện hiệu suất của các khối lượng công việc này, bạn có thể xem phần này của cuộc trò chuyện tại Hội nghị thượng đỉnh dành cho nhà phát triển Chrome về WebAssembly hiện đại.
Cocos
Cocos là một công cụ phát triển trò chơi mạnh mẽ và phổ biến, cho phép nhà phát triển tạo trò chơi có hỗ trợ đa nền tảng, bao gồm cả web. Unity sẽ gia nhập danh sách dài các công cụ phát triển trò chơi hỗ trợ xuất web thông qua wasm. Để bắt đầu, hãy chuyển sang trình chỉnh sửa Cocos và làm theo hướng dẫn này.
Kết luận
Ngoài những ví dụ cụ thể này, bạn còn có thể hào hứng với tiềm năng của WebAssembly trong việc thay đổi tốc độ phát triển chức năng web mới. Chrome thậm chí còn thiết lập Quỹ ứng dụng web nâng cao để giúp nhà phát triển tài trợ cho công việc của họ nhằm cải tiến chức năng web cho tất cả nhà phát triển!
Hình ảnh chính trên Pexels, của Ann Marie Kennon.