- Framework web yang dirancang agar produk bisa dibangun dengan cepat menggunakan Python (fork dari Django)
- Pengembangan lokal bisa dimulai dengan satu perintah saja, lalu dapat dipindahkan ke production melalui dashboard dan feature flag
- Mulai dengan cepat dengan meng-clone starter kit
- Terdiri dari paket inti
plain dan paket ekstensi resmi yang dapat dipasang secara opsional
Fitur paket plain
- Menghubungkan pola URL ke fungsi view Python
- Menangani permintaan dan respons HTTP
- Merender HTML menggunakan template Jinja
- Form untuk memproses input pengguna
- Menyediakan command-line interface (CLI)
- Dapat menyajikan aset statis seperti CSS, JS, dan gambar
- Memperluas fungsi aplikasi melalui middleware
- Mudah mengintegrasikan paket resmi maupun pihak ketiga
- Menyediakan sistem pemeriksaan pra-jalankan (preflight check system) sebelum aplikasi dijalankan
Fitur ekstensi melalui paket first-party
- plain.models: Menyediakan ORM untuk menyimpan data di Postgres, MySQL, dan SQLite
- plain.cache: Solusi caching yang bekerja bersama database yang ada
- plain.email: Menyediakan konfigurasi dan pengiriman email di seluruh aplikasi
- plain.sessions: Dapat membaca dan menulis sesi berbasis database
- plain.worker: Solusi pekerjaan latar belakang yang mendukung database yang ada
- plain.api: Dapat membangun JSON API menggunakan arsitektur view berbasis kelas
Terkait autentikasi
- plain.auth: Menyediakan fondasi untuk menambahkan pengguna, autentikasi permintaan, dan pembatasan view
- plain.oauth: Solusi OAuth yang fleksibel untuk mendukung social login modern dan akses API
- plain.passwords: Mendukung login berbasis kata sandi dengan cara tradisional
- plain.loginlink: Menyediakan tautan login sekali pakai untuk login tanpa kata sandi
- plain.passkeys: Akan menyediakan fitur login tanpa kata sandi
Admin
- plain.admin: Menyediakan dashboard admin yang sepenuhnya dapat dikustomisasi
- plain.flags: Feature flag berbasis database untuk mengontrol konten per pengguna
- plain.support: Menyediakan dukungan pelanggan tanpa layanan pihak ketiga
- plain.redirection: Pemantauan 404 dan pengelolaan redirect dari database
- plain.pageviews: Memungkinkan melihat apa yang dilihat pengguna dan memberikan dukungan yang lebih baik
Pengembangan
- plain.dev: Dapat memulai lingkungan pengembangan lokal dengan satu perintah
- plain.pytest: Dapat menulis dan menjalankan pengujian dengan pustaka pengujian Python yang populer
- plain.code: Dapat melakukan pemformatan dan linting kode Python dengan pengaturan bawaan
- plain.tunnel: Dapat mengekspos aplikasi lokal ke internet untuk integrasi webhook
Frontend
- plain.tailwind: Menyediakan integrasi kelas satu dengan framework CSS populer
- plain.htmx: Dapat membangun pengalaman pengguna modern menggunakan alat yang ada
- plain.elements: Menyediakan paradigma baru untuk komponen yang dapat digunakan kembali dalam template aplikasi
- plain.pages: Menyediakan routing berbasis file menggunakan HTML dan Markdown
- plain.esbuild: Menyediakan proses build yang disederhanakan untuk kompilasi JavaScript
- plain.vendor: Dapat mengunduh aset JavaScript dan CSS serta meng-host-nya sendiri tanpa bergantung pada CDN
1 komentar
Opini Hacker News
Banyak orang mungkin tidak tahu bahwa bug tracker Django Rest Framework telah diubah menjadi privat dan sedang mencari maintainer baru
Memiliki perasaan campur aduk tentang fork Django
Kekuatan Django ada pada ORM serta ekosistem/idiomnya
Ada beberapa kekurangan pada Django
Terkejut dengan sentimen negatif terhadap Django
Beralih dari Django ke Supabase/Firebase
Tidak suka konfigurasi yang berupa string yang merujuk ke kelas
Melihat dokumentasi Plain
Tidak tahu apakah Plain akan berhasil, tetapi memahami alasan fork tersebut