عن المشروع

Wasmer هي بيئة تشغيل وأداة سطر أوامر مبنية على WebAssembly لتشغيل التطبيقات داخل صناديق رمل سريعة وآمنة وخفيفة الوزن. يمكن تشغيل هذه الصناديق محليًا أو في السحابة أو في المتصفح، ويتم التحكم في الوصول إلى الملفات والشبكة والبيئة من قبل المستخدم. الخصائص الرئيسية المذكورة في ملف README: - آمنة افتراضيًا: الوصول إلى الملفات والشبكة والبيئة يتم التحكم فيه بشكل صريح. - خفيفة الوزن: بدء تشغيل سريع وبصمة ذاكرة صغيرة. - جاهزة للتشغيل: حزم مثل Python وJavaScript وBash وPHP وPostgreSQL وSQLite وFFmpeg متاحة من سجل Wasmer. - قابلة للتضمين: يمكن إضافة صناديق الرمل إلى التطبيقات عبر حزمة Wasmer SDK. البدء مع أداة سطر الأوامر: التثبيت على macOS أو Linux باستخدام `curl https://get.wasmer.io -sSfL | sh`؛ أما Windows فيستخدم PowerShell، كما يدعم Homebrew. مثال على أول تشغيل: `wasmer run python/python -- -c "print('Hello from Wasmer')"`. يتم تنزيل الحزم وتخزينها مؤقتًا للتشغيلات اللاحقة. الفاصل `--` يميز خيارات Wasmer عن وسائط البرنامج؛ `--volume` يمنح الوصول إلى دليل محلي و`--net` يتيح شبكة المضيف. تتوفر تجربة قائمة على المتصفح على wasmer.sh دون تثبيت. تتيح حزمة Wasmer SDK للمطورين إنشاء صناديق رمل واختيار الأدوات وتشغيل التعليمات البرمجية داخل تطبيقاتهم الخاصة. وهي متاحة للغات JavaScript/TypeScript (Node.js 20+) وPython (macOS وLinux، Intel وARM64) وRust (اعتماد على المصدر، النشر على crates.io معطل حاليًا) وSwift (Swift 6+، macOS 12+، iOS 27+). يستخدم التنفيذ في المتصفح نفس واجهة برمجة تطبيقات JavaScript مع ترويسات عزل عبر الأصل. حزمة SDK حالياً في مرحلة ألفا. تشمل قدرات SDK تشغيل الأوامر والتقاط المخرجات، وإدارة العمليات مع تدفق المخرجات، وقراءة وكتابة ملفات صندوق الرمل، والجمع بين اللغات والحزم في صندوق رمل واحد، وتشغيل الخدمات مع وصول صريح إلى الشبكة. تتضمن أمثلة الحزم Python وEdge.js وBash وPHP وPGlite وSQLite وFFmpeg. يحتوي هذا المستودع على بيئة تشغيل Wasmer وأداة سطر الأوامر؛ بينما توجد حزم SDK لصناديق الرمل في مستودع منفصل. يمكن التضمين على مستوى أدنى عبر واجهات برمجة تطبيقات Rust وC. المشروع مرخص بموجب MIT، ويقبل المساهمات، ويوفر وثائق للبناء من المصدر والاختبار والإبلاغ عن الثغرات الأمنية وتتبع المشكلات. تشمل قنوات المجتمع Discord وX وLinkedIn ومدونة، مع ترجمات مجتمعية لملف README بعدة لغات.