- Python ile ürünleri hızlıca geliştirmek için tasarlanmış bir web framework'ü (
Django'dan fork edildi)
- Tek bir komutla yerel geliştirmeye başlanabilir; dashboard ve feature flag gibi araçlarla production ortamına geçilebilir
- Starter kit'i klonlayarak hızlıca başlanabilir
- Çekirdek
plain paketi ve isteğe bağlı olarak kurulabilen resmi genişletme paketlerinden oluşur
plain paketinin özellikleri
- URL pattern'lerini Python view fonksiyonlarına bağlar
- HTTP isteklerini ve yanıtlarını işler
- Jinja template'leri kullanarak HTML render eder
- Kullanıcı girdilerini işlemek için Form sağlar
- Komut satırı arayüzü (CLI) sunar
- CSS, JS, görseller gibi statik varlıkları (assets) servis edebilir
- Middleware aracılığıyla uygulama işlevlerini genişletir
- Resmi ve üçüncü taraf paketleri kolayca entegre edebilir
- Uygulama çalışmadan önce ön kontrol işlevi (preflight check system) sağlar
Birinci taraf paketlerle sunulan genişletme özellikleri
- plain.models: Verileri Postgres, MySQL ve SQLite'a kaydedebilen bir ORM sağlar
- plain.cache: Mevcut veritabanıyla birlikte çalışan bir cache çözümü
- plain.email: Uygulama genelinde e-posta yapılandırması ve gönderimi sağlar
- plain.sessions: Veritabanı tabanlı session okuma ve yazma imkanı sunar
- plain.worker: Mevcut veritabanını destekleyen bir arka plan iş çözümü
- plain.api: Class-based view mimarisiyle JSON API oluşturmayı sağlar
Kimlik doğrulama ile ilgili
- plain.auth: Kullanıcı ekleme, istek doğrulama ve view kısıtlama için temel sağlar
- plain.oauth: Modern sosyal giriş ve API erişimini destekleyen esnek bir OAuth çözümü
- plain.passwords: Geleneksel parola tabanlı girişi destekler
- plain.loginlink: Parolasız giriş için tek kullanımlık giriş bağlantıları sağlar
- plain.passkeys: Parolasız giriş özelliği yakında sunulacak
Yönetici
- plain.admin: Tamamen özelleştirilebilir bir yönetici dashboard'u sağlar
- plain.flags: Veritabanı tabanlı feature flag'lerle kullanıcı bazlı içerik kontrolü sağlar
- plain.support: Üçüncü taraf servisler olmadan müşteri desteği sunar
- plain.redirection: 404 izlemesi ve veritabanından yönlendirme yönetimi sağlar
- plain.pageviews: Kullanıcıların ne gördüğünü izleyerek daha iyi destek sunar
Geliştirme
- plain.dev: Tek bir komutla yerel geliştirme ortamını başlatır
- plain.pytest: Popüler Python test kütüphanesiyle test yazmayı ve çalıştırmayı sağlar
- plain.code: Varsayılan ayarlarla Python kodu formatlama ve linting sağlar
- plain.tunnel: Webhook entegrasyonu için yerel uygulamayı internete açabilir
Frontend
- plain.tailwind: Popüler CSS framework'ü ile birinci sınıf entegrasyon sunar
- plain.htmx: Mevcut araçlarla modern kullanıcı deneyimleri oluşturmayı sağlar
- plain.elements: Uygulama template'lerinde yeniden kullanılabilir bileşenler için yeni bir paradigma sunar
- plain.pages: HTML ve Markdown kullanan dosya tabanlı routing sağlar
- plain.esbuild: JavaScript derlemesi için sadeleştirilmiş bir build süreci sunar
- plain.vendor: CDN'e bağımlı olmadan JavaScript ve CSS varlıklarını indirip self-host etmeyi sağlar
1 yorum
Hacker News görüşleri
Birçok kişi, Django Rest Framework'ün hata takip sisteminin özel hâle getirildiğini ve yeni bakımcılar aradığını bilmiyor olabilir
Django'nun fork'u konusunda karışık duygular var
Django'nun gücü ORM'i ve ekosistemi/deyimleri
Django'nun bazı zayıf yönleri var
Django'ya yönelik olumsuz duygular şaşırtıcı
Django'dan Supabase/Firebase'e geçilmiş
Ayarların sınıfları referans veren string'lerden oluşmasından hoşlanılmıyor
Plain'in belgelerine göz atılmış
Plain'in başarılı olup olmayacağı bilinmiyor, ancak fork'un nedenini anlamak mümkün