Pembangun sedang aktif membincangkan bknd, alternatif Firebase yang ringan yang menjanjikan untuk memudahkan pembangunan backend sambil menawarkan pilihan penempatan yang fleksibel. Projek sumber terbuka ini telah menjana minat khusus mengenai mekanisme pengesahan dan fleksibiliti penempatan, dengan komuniti meneroka bagaimana ia berbanding dengan penyelesaian yang telah mantap.
Kebimbangan Pengesahan dan Kebenaran
Keselamatan kekal sebagai keutamaan tertinggi bagi pembangun yang menilai penyelesaian backend-as-a-service. Dalam perbincangan komuniti, pelaksanaan pengesahan muncul sebagai kebimbangan utama, dengan pembangun mempersoalkan bagaimana bknd mengendalikan kawalan akses pengguna. Menurut pencipta projek, bknd menawarkan pengesahan pelbagai strategi yang serupa dengan Firebase, menyokong kombinasi e-mel/kata laluan dan protokol OAuth/OIDC dengan pilihan yang telah dikonfigurasi untuk integrasi Google dan GitHub.
Sistem kebenaran menggunakan kawalan akses berasaskan peranan di mana kebenaran dilampirkan kepada peranan yang kemudiannya diberikan kepada pengguna. Tuntutan diangkut melalui JWT (JSON Web Tokens) dengan hayat, rahsia, dan parameter pengehasan yang boleh dikonfigurasi. Pada masa ini, sistem beroperasi tanpa keadaan, bermakna token tidak disahkan terhadap stor sesi, walaupun pembangun telah menunjukkan kesediaan untuk melaksanakan fungsi tersebut berdasarkan maklum balas komuniti.
Saya tidak dapat memikirkan sebarang operasi di mana saya tidak mahu sesetengah logik backend di antaranya. Peraturan Firebase tidak mencukupi.
Sentimen ini menyoroti keraguan yang dikekalkan oleh sesetengah pembangun tentang penyelesaian backend-as-a-service yang mungkin terlalu memudahkan kawalan akses. Walau bagaimanapun, bknd cuba menangani ini dengan membenarkan pembangun untuk menyambung ke acara sistem dan menyesuaikan kebenaran mengikut keperluan tertentu.
Fleksibiliti Penempatan dan Integrasi
Pembeza yang ketara untuk bknd nampaknya adalah fleksibiliti penempatannya. Tidak seperti perkhidmatan backend tradisional yang memerlukan pengehosan berasingan, bknd boleh disertakan secara langsung ke dalam aplikasi fullstack. Ini telah mewujudkan beberapa kekeliruan dalam komuniti tentang bagaimana kelayakan pangkalan data kekal selamat dalam konfigurasi sedemikian.
Pencipta projek menjelaskan bahawa apabila menggunakan rangka kerja seperti Next.js, Remix, atau Astro, bknd berjalan secara eksklusif di bahagian pelayan, mengekalkan pemisahan kepentingan yang betul. Untuk penempatan edge, bknd menyokong platform seperti Cloudflare menggunakan Workers, D1, dan R2, menjadikannya berpotensi lebih berskala daripada alternatif seperti PocketBase.
Fleksibiliti penempatan ini juga meliputi persekitaran bukan-React. Walaupun projek ini menawarkan integrasi khusus untuk rangka kerja React, fungsi teras boleh diakses melalui API REST yang berfungsi dengan mana-mana tumpukan teknologi. Projek ini termasuk SDK TypeScript tetapi kekal tidak terikat dengan rangka kerja pada asasnya.
Struktur Pakej bknd
Import | Tujuan |
---|---|
bknd |
Backend termasuk API dan adapter |
bknd/ui |
Komponen UI Admin untuk rangka kerja React |
bknd/client |
SDK TypeScript dan cangkuk React untuk titik akhir API |
bknd/elements |
Komponen React untuk pengesahan dan media |
Saiz Pakej
- bknd: 53.7 KB
- bknd/client: 4.8 KB
- bknd/elements: 13.4 KB
- bknd/ui: 235.7 KB
Saiz minimum aplikasi bknd penuh sebagai API: ~212 KB dimampatkan
Penerimaan Komuniti
Pengguna awal telah menyatakan penghargaan terhadap pendekatan bknd, dengan seorang pengguna secara khusus berterima kasih kepada pencipta projek. Gabungan kesederhanaan, fleksibiliti, dan corak pengesahan yang biasa nampaknya mendapat sambutan daripada pembangun yang mencari alternatif kepada perkhidmatan mantap seperti Firebase dan Supabase.
Semasa bknd terus berkembang (kini pra-1.0.0), maklum balas komuniti berkemungkinan akan membentuk keutamaan cirinya. Pencipta projek telah aktif terlibat dengan soalan pengguna, menunjukkan tindak balas terhadap kebimbangan mengenai pengesahan, model penempatan, dan keupayaan integrasi.
Untuk pembangun yang berminat untuk meneroka bknd, projek ini menawarkan pilihan permulaan pantas (npx bknd run
) dan dokumentasi terperinci di docs.bknd.io. Dengan jejak kecilnya (pakej teras hanya 53.7 KB) dan penekanan pada keserasian standard web, bknd mewakili pilihan baru yang menarik dalam landskap backend-as-a-service yang semakin sesak.
Rujukan: bknd-io/bknd