ویترینی از ابزارها که اکنون به لطف WebAssembly در وب موجود است.
WebAssembly به توسعه دهندگان این امکان را می دهد تا از زبان های دیگر عملکردهای جدید را به وب بیاورند. در طول چند سال گذشته توسعه دهندگان واقعاً از این امکانات استفاده کرده اند. این پست تنها تعدادی از ابزارهای جدید درخشان را نشان می دهد که می توانید از آنها بهره مند شوید، تا حدی به لطف WebAssembly.
ابزارها و کتابخانه هایی که اکنون می توانید استفاده کنید
بدون مقدمه، بیایید به چیزهای خوب بپردازیم :D
SQLite
این پورت کامل SQLite یک سیستم مدیریت پایگاه داده سبک وزن، تعبیه شده و رابطه ای را در دستان شما به ارمغان می آورد. برای کسب اطلاعات بیشتر این پست وبلاگ را بخوانید که این پورت باورنکردنی و نحوه استفاده از آن را نشان می دهد .
FFmpeg.wasm
FFmpeg یک پروژه نرمافزاری رایگان و متنباز است که از مجموعهای از کتابخانهها و برنامهها برای مدیریت فایلها و جریانهای چندرسانهای ویدئو، صدا و سایر فایلها تشکیل شده است. میتوانید یک نسخه کامپایلشده wam را در اینجا بیابید ( github repo ) که به شما امکان میدهد همه این عملکردها را مستقیماً در مرورگر انجام دهید.
توصیف صحنه جهانی (USD)
Universal Scene Description (USD) چارچوبی برای داده های گرافیکی کامپیوتری سه بعدی است که بر همکاری، ویرایش غیر مخرب، و امکان مشاهده و نظرات متعدد در مورد داده های گرافیکی تمرکز دارد. این یک استاندارد صنعتی است که توسط شرکت هایی مانند Pixar، Autodesk، Nvidia و بسیاری دیگر پشتیبانی می شود. هنوز روزهای اولیه برای پشتیبانی وب آنها است، اما Autodesk قبلاً یک نمایشگر USD مبتنی بر وب را باز کرده بود که می توانید اینجا ببینید .
CanvasKit
CanvasKit Skia، موتور رندر کروم و اندروید است که مستقیماً در WebAssembly کامپایل شده است. با استفاده از آن، دسترسی ساده جاوا اسکریپت API به تقریباً تمام قدرت موتور رندر Skia را دریافت می کنید. این عملکرد شامل رندر پیچیده، شکل دادن به متن، انیمیشن، جوهر و موارد دیگر است. بسته npm و راهنمای شروع سریع را بررسی کنید.
TensorFlow.js
TensorFlow.js قدرت TensorFlow را مستقیماً با یک API ساده جاوا اسکریپت به مرورگر می آورد. در زیر کاپوت، مدلها را هم در GPU و هم CPU (از جمله بهینهسازیهای SIMD) بهینه میکند تا عملکرد را به حداکثر برساند. می توانید راهنمای شروع کار را ببینید یا مستقیماً به برخی از دموهای آنها نگاه کنید.
OpenCV
OpenCV یک استاندارد صنعتی از توابع برنامه نویسی است که عمدتاً برای بینایی رایانه در زمان واقعی است. یک بسته npm با استفاده آسان در اینجا وجود دارد، و برای کاربران Emscripten نیز دستورالعمل های دقیقی برای انجام یک ساخت کامل وجود دارد. برای نگاهی به اینکه چگونه SIMD و رشتهها عملکرد این بارهای کاری را بهبود میبخشند، میتوانید این بخش از بحث Modern WebAssembly Chrome Dev Summit را تماشا کنید.
کوکوس
Cocos یک موتور بازی قدرتمند و محبوب است که توسعه دهندگان را قادر می سازد تا بازی هایی با پشتیبانی از پلتفرم های متقابل بسازند و این اکنون شامل وب می شود. این به لیست طولانی موتورهای بازی می پیوندد که صادرات وب را از طریق wasm امکان پذیر می کنند. برای شروع، وارد ویرایشگر Cocos شوید و این دستورالعمل ها را دنبال کنید.
نتیجه
علاوه بر این مثالهای خاص، از نظر پتانسیل WebAssembly برای تغییر سرعت عملکرد جدید وب، چیزهای زیادی برای هیجانانگیز شدن وجود دارد. Chrome حتی Advanced Web Apps Fund را راهاندازی کرده است که میتواند به توسعهدهندگان کمک کند تا کار خود را برای پیشبرد عملکرد وب در دسترس همه توسعهدهندگان تأمین مالی کنند!
تصویر قهرمان از Pexels توسط Ann Marie Kennon .