تصور کنید میخواهید یک سند پیچیده آفیس را در وب باز کنید، اما هیچ فایلی به سرور ارسال نمیشود و همه چیز در لحظه و با دقت بالا نمایش داده میشود. این تجربه اکنون با کتابخانه @silurus/ooxml ممکن شده است که با تکیه بر موتور زبان Rust و تکنولوژی WebAssembly (WASM) — شبیه به نصب یک نرمافزار دسکتاپ سریع و سبک مستقیماً درون مرورگر — فایلهای OOXML را تحلیل کرده و آنها را با استفاده از APIهای گرافیکی Canvas 2D رسم میکند.
طبق مستندات منتشر شده در ۱ سپتامبر ۲۰۲۶، این کتابخانه تمام بار پردازشی را به سمت کاربر (Client-side) منتقل میکند. در حالی که اکثر نمایشدهندههای وب برای تبدیل فایل به PDF یا HTML به یک سرور پشتیبان نیاز دارند یا از iframeهای سنگین استفاده میکنند، این ابزار امنیت دادهها را با نگه داشتن آنها در محیط مرورگر تضمین میکند. همانطور که در بررسیهای پیشین ما دربارهی امنیت دادهها در محیطهای وب اشاره کردیم، حذف واسطههای سروری، یکی از موثرترین راهها برای کاهش نشت اطلاعات است.
@silurus/ooxml بر اساس استانداردهای ECMA-376 و ISO 29500 طراحی شده و قابلیتهای زیر را ارائه میدهد:
- DOCX: پشتیبانی از چیدمانهای صفحهبندی شده، جداول پیچیده با سلولهای ادغامشده و تایپوگرافی زبانهای شرق آسیا (CJK).
- XLSX: مدیریت دفاتر کار با چندین شیت، پانلهای ثابت (Frozen Panes)، فرمولهای ذخیرهشده و قالببندی شرطی.
- PPTX: رندرینگ اسلاید مسترها، متون SmartArt، سایهزنیهای سهبعدی و فایلهای صوتی/ویدیویی جاسازی شده.
به نقل از توسعهدهندگان پروژه، این کتابخانه علاوه بر نمایشدهندههای آماده، APIهای سطح پایین را نیز در اختیار برنامهنویسان قرار میدهد تا بتوانند سیستمهای ناوبری سفارشی یا اسکرول مجازی برای اسناد حجیم بسازند. همچنین قابلیتهای اختیاری برای رمزگشایی TIFF و پشتیبانی از DrawingML جهت نمایش نمودارهای پیشرفته اضافه شده است.
این چرخش به سمت رندرینگ مبتنی بر WASM به این معناست که پیشنمایش اسناد سریعتر و خصوصیتر میشوند. با حذف سرور از چرخه پردازش، تأخیر (Latency) کاهش یافته و ریسکهای امنیتی مربوط به آپلود اسناد حساس به سرورهای تبدیل فایل بهطور کلی از بین میرود.
گام بعدی شما
- اگر توسعهدهنده هستید، نمونههای زنده رندرینگ را در سایت silurus.dev بررسی کنید تا رفتار فرمتهای مختلف را در مرورگر ببینید.
- برای پروژههایی که حریم خصوصی دادهها اولویت دارد، جایگزینی تبدیلکنندههای سروری با این کتابخانه را ارزیابی کنید.
- قابلیت اسکرول مجازی (Virtualized Scrolling) را برای بهینهسازی نمایش اسناد بسیار حجیم در وب پیادهسازی کنید.
اما داستان بهینهسازی سرعت در مرورگرها به اینجا ختم نمیشود؛ برای درک عمیقتر از قدرت WASM در پردازشهای سنگین، تحلیل ما دربارهی موتورهای اجرای جدید را بخوانید.




گفتگو