Spin هو إطار عمل لبناء ونشر وتشغيل خدمات سحابية صغيرة سريعة وآمنة وقابلة للتركيب باستخدام WebAssembly.
Spin هو إطار عمل مفتوح المصدر لإنشاء وتشغيل خدمات سحابية صغيرة سريعة وآمنة وقابلة للتركيب باستخدام WebAssembly. ويهدف إلى أن يكون أسهل طريقة لبدء استخدام خدمات WebAssembly الصغيرة، ويستفيد من أحدث التطورات في نموذج مكون WebAssembly ووقت تشغيل Wasmtime.
يقدم Spin واجهة سطر أوامر (CLI) بسيطة تساعدك على إنشاء التطبيقات وتوزيعها وتنفيذها، وفي الأقسام التالية سنتعلم المزيد عن تطبيقات Spin وكيفية البدء.
راجع صفحة تثبيت Spin في وثائق Spin للحصول على دليل تفصيلي حول تثبيت Spin وتكوينه، ولكن قم بتشغيل الأوامر التالية باختصار:
حليقة -fsSL https://developer.fermyon.com/downloads/install.sh | سحق sudo mv ./spin /usr/local/bin/spin
وبدلاً من ذلك، يمكنك إنشاء Spin من المصدر.
للبدء في كتابة التطبيقات، اتبع دليل البدء السريع، ثم اتبع أدلة اللغة Rust أو JavaScript أو Python أو Go، ودليل كتابة تطبيقات Spin.
فيما يلي مثال لاستخدام spin
CLI لإنشاء تطبيق Spin جديد. لتشغيل المثال، ستحتاج إلى تثبيت الهدف wasm32-wasi
لـ Rust.
$ إضافة هدف الصدأ Wasm32-wasi
أولاً، قم بتشغيل الأمر spin new
لإنشاء تطبيق Spin من قالب.
# قم بإنشاء تطبيق Spin جديد باسم "hello-rust" استنادًا إلى قالب Rust http، مع قبول جميع الإعدادات الافتراضية $ spin new --accept-defaults -t http-rust hello-rust
يؤدي تشغيل الأمر spin new
إلى إنشاء دليل hello-rust
يحتوي على جميع الملفات الضرورية لتطبيقك. قم بالتغيير إلى دليل hello-rust
وقم بإنشاء التطبيق باستخدام spin build
، ثم قم بتشغيله محليًا باستخدام spin up
:
# قم بالترجمة إلى Wasm عن طريق تنفيذ الأمر `build`.$ spin build تنفيذ أمر الإنشاء للمكون hello-rust:gogo build --target Wasm32-wasi --release تم الانتهاء من هدف (أهداف) الإصدار [المحسّن] في 0.03 ثانية تم تشغيل أمر الإنشاء لمكونات Spin بنجاح.# قم بتشغيل التطبيق محليًا.$ Spin up تسجيل مكون stdio إلى ".spin/logs/" يخدم http://127.0.0.1:3000 الطرق المتاحة: مرحبا الصدأ: http://127.0.0.1:3000 (حرف البدل)
هذا كل شيء! الآن بعد أن أصبح التطبيق قيد التشغيل، استخدم متصفحك أو cURL في shell آخر لتجربته:
# أرسل طلبًا إلى التطبيق.$curl -i 127.0.0.1:3000 HTTP/1.1200 موافق فو: شريط طول المحتوى: 14 التاريخ: الخميس 13 أبريل 2023 الساعة 17:47:24 بتوقيت جرينتش مرحبًا فيرميون
يمكنك جعل التطبيق يفعل المزيد عن طريق تحرير ملف src/lib.rs
في دليل hello-rust
باستخدام المحرر المفضل لديك أو IDE. لمعرفة المزيد حول كتابة تطبيقات Spin، راجع كتابة التطبيقات في وثائق Spin. لمعرفة كيفية نشر تطبيقك وتوزيعه، راجع دليل النشر والتوزيع في وثائق Spin.
لمزيد من المعلومات حول أوامر cli والأوامر الفرعية، راجع مرجع CLI.
يلخص الجدول أدناه دعم الميزات في كل حزمة من حزم تطوير البرامج (SDK) للغة.
ميزة | الصدأ SDK المدعومة؟ | هل يدعم TypeScript SDK؟ | بيثون SDK المدعومة؟ | هل يدعم Tiny Go SDK؟ | هل يدعم C# SDK؟ |
---|---|---|---|---|---|
المشغلات | |||||
HTTP | المدعومة | المدعومة | المدعومة | المدعومة | المدعومة |
ريديس | المدعومة | المدعومة | المدعومة | المدعومة | غير مدعوم |
واجهات برمجة التطبيقات | |||||
HTTP الصادرة | المدعومة | المدعومة | المدعومة | المدعومة | المدعومة |
متغيرات التكوين | المدعومة | المدعومة | المدعومة | المدعومة | المدعومة |
تخزين القيمة الأساسية | المدعومة | المدعومة | المدعومة | المدعومة | غير مدعوم |
تخزين سكليتي | المدعومة | المدعومة | المدعومة | المدعومة | غير مدعوم |
ماي إس كيو إل | المدعومة | المدعومة | غير مدعوم | المدعومة | غير مدعوم |
PostgreSQL | المدعومة | المدعومة | غير مدعوم | المدعومة | المدعومة |
ريديس الصادرة | المدعومة | المدعومة | المدعومة | المدعومة | المدعومة |
الذكاء الاصطناعي بدون خادم | المدعومة | المدعومة | المدعومة | المدعومة | غير مدعوم |
القابلية للتوسعة | |||||
تأليف المشغلات المخصصة | المدعومة | غير مدعوم | غير مدعوم | غير مدعوم | غير مدعوم |
يسعدنا أنك مهتم بتحسين Spin! شكرًا لك!
نجتمع كل يوم اثنين في تمام الساعة 2:30 صباحًا بالتوقيت العالمي الموحد و9:00 مساءً بالتوقيت العالمي المنسق (بالتناوب)، لمناقشة مشكلات Spin وخريطة الطريق والأفكار في اجتماعات مشروع Spin الخاصة بنا. اشترك في تقويم Google هذا لمعرفة مواعيد الاجتماعات.
جدول أعمال Spin Project Meeting هو وثيقة عامة. تحتوي الوثيقة على جدول أعمال متجدد مع تاريخ ووقت كل اجتماع، ورابط Zoom، وموضوعات المناقشة لهذا اليوم. ستجد أيضًا محضر الاجتماع لكل اجتماع ورابط التسجيل. إذا كان لديك شيء ترغب في عرضه أو مناقشته في اجتماع المشروع، فنحن نشجعك على إضافته إلى جدول الأعمال.
يمكنك العثور على دليل المساهمة هنا.
يستضيف Fermyon أيضًا خادم Discord، حيث نناقش أي شيء Spin: Discord server.
تابعنا على تويتر: @spinframework
يمكنك الانضمام إلى مجتمع Spin في خادم Discord الخاص بنا حيث يمكنك طرح الأسئلة والحصول على المساعدة وإظهار الأشياء الرائعة التي تفعلها باستخدام Spin!