Spin adalah kerangka kerja untuk membangun, menerapkan, dan menjalankan layanan mikro cloud yang cepat, aman, dan dapat disusun dengan WebAssembly.
Spin adalah kerangka kerja sumber terbuka untuk membangun dan menjalankan layanan mikro cloud yang cepat, aman, dan dapat disusun dengan WebAssembly. Ini bertujuan untuk menjadi cara termudah untuk memulai layanan mikro WebAssembly, dan memanfaatkan perkembangan terbaru dalam model komponen WebAssembly dan runtime Wasmtime.
Spin menawarkan CLI sederhana yang membantu Anda membuat, mendistribusikan, dan menjalankan aplikasi, dan di bagian selanjutnya kita akan mempelajari lebih lanjut tentang aplikasi Spin dan cara memulainya.
Lihat halaman Instal Spin dari dokumentasi Spin untuk panduan terperinci tentang cara menginstal dan mengonfigurasi Spin, tetapi singkatnya jalankan perintah berikut:
curl -fsSL https://developer.fermyon.com/downloads/install.sh | pesta sudo mv ./spin /usr/local/bin/spin
Alternatifnya, Anda dapat membuat Spin dari sumber.
Untuk mulai menulis aplikasi, ikuti panduan memulai cepat, lalu ikuti panduan bahasa Rust, JavaScript, Python, atau Go, dan panduan menulis aplikasi Spin.
Di bawah ini adalah contoh penggunaan spin
CLI untuk membuat aplikasi Spin baru. Untuk menjalankan contoh ini, Anda perlu menginstal target wasm32-wasi
untuk Rust.
$ target karatup tambahkan wasm32-wasi
Pertama, jalankan perintah spin new
untuk membuat aplikasi Spin dari template.
# Buat aplikasi Spin baru bernama 'hello-rust' berdasarkan templat http Rust, menerima semua default$ spin new --accept-defaults -t http-rust hello-rust
Menjalankan perintah spin new
akan membuat direktori hello-rust
dengan semua file yang diperlukan untuk aplikasi Anda. Ubah ke direktori hello-rust
dan bangun aplikasi dengan spin build
, lalu jalankan secara lokal dengan spin up
:
# Kompilasi ke Wasm dengan menjalankan perintah `build`.$ spin build Menjalankan perintah build untuk komponen hello-rust: cargo build --target wasm32-wasi --release Target rilis [dioptimalkan] selesai dalam 0,03 detik Berhasil menjalankan perintah build untuk komponen Spin.# Jalankan aplikasi secara lokal.$ spin up Mencatat stdio komponen ke ".spin/logs/" Melayani http://127.0.0.1:3000 Rute yang Tersedia: halo-karat: http://127.0.0.1:3000 (karakter pengganti)
Itu saja! Sekarang aplikasi sudah berjalan, gunakan browser atau cURL Anda di shell lain untuk mencobanya:
# Kirim permintaan ke aplikasi.$ curl -i 127.0.0.1:3000 HTTP/1.1 200 Oke foo: batang panjang konten: 14 tanggal: Kam, 13 Apr 2023 17:47:24 GMT Halo, Fermyon
Anda dapat membuat aplikasi berbuat lebih banyak dengan mengedit file src/lib.rs
di direktori hello-rust
menggunakan editor atau IDE favorit Anda. Untuk mempelajari lebih lanjut tentang menulis aplikasi Spin, lihat Menulis Aplikasi di dokumentasi Spin. Untuk mempelajari cara menerbitkan dan mendistribusikan aplikasi Anda, lihat panduan Penerbitan dan Distribusi dalam dokumentasi Spin.
Untuk informasi selengkapnya tentang perintah dan subperintah cli, lihat Referensi CLI.
Tabel di bawah merangkum dukungan fitur di setiap SDK bahasa.
Fitur | SDK Karat Didukung? | SDK TypeScript Didukung? | SDK Python Didukung? | Tiny Go SDK Didukung? | C# SDK Didukung? |
---|---|---|---|---|---|
Pemicu | |||||
HTTP | Didukung | Didukung | Didukung | Didukung | Didukung |
ulang | Didukung | Didukung | Didukung | Didukung | Tidak Didukung |
Lebah | |||||
HTTP keluar | Didukung | Didukung | Didukung | Didukung | Didukung |
Variabel Konfigurasi | Didukung | Didukung | Didukung | Didukung | Didukung |
Penyimpanan Nilai Kunci | Didukung | Didukung | Didukung | Didukung | Tidak Didukung |
Penyimpanan SQLite | Didukung | Didukung | Didukung | Didukung | Tidak Didukung |
MySQL | Didukung | Didukung | Tidak Didukung | Didukung | Tidak Didukung |
PostgreSQL | Didukung | Didukung | Tidak Didukung | Didukung | Didukung |
Redis Keluar | Didukung | Didukung | Didukung | Didukung | Didukung |
AI tanpa server | Didukung | Didukung | Didukung | Didukung | Tidak Didukung |
Kemungkinan diperpanjang | |||||
Penulisan Pemicu Khusus | Didukung | Tidak Didukung | Tidak Didukung | Tidak Didukung | Tidak Didukung |
Kami senang Anda tertarik untuk menjadikan Spin lebih baik! Terima kasih!
Setiap hari Senin pukul 14.30 UTC dan 21.00 UTC (bergantian), kami bertemu untuk membahas masalah Spin, peta jalan, dan ide dalam Pertemuan Proyek Spin kami. Berlangganan ke Google Kalender ini untuk tanggal pertemuan.
Agenda Spin Project Meeting merupakan dokumen publik. Dokumen tersebut berisi agenda bergulir dengan tanggal dan waktu setiap pertemuan, tautan Zoom, dan topik diskusi pada hari itu. Anda juga akan menemukan notulensi rapat untuk setiap rapat dan link ke rekamannya. Jika Anda memiliki sesuatu yang ingin Anda demokan atau diskusikan pada pertemuan proyek, kami mendorong Anda untuk menambahkannya ke dalam agenda.
Anda dapat menemukan panduan berkontribusi di sini.
Fermyon juga menghosting server Discord, tempat kami mendiskusikan apa pun Spin: Server Discord.
Ikuti kami di Twitter: @spinframework
Anda dapat bergabung dengan komunitas Spin di server Discord kami tempat Anda dapat mengajukan pertanyaan, mendapatkan bantuan, dan memamerkan hal-hal keren yang Anda lakukan dengan Spin!