14 पॉइंट द्वारा GN⁺ 2025-03-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Python के साथ प्रोडक्ट को तेज़ी से बनाने के लिए डिज़ाइन किया गया वेब framework (Django का fork)
  • एक single command से लोकल development शुरू किया जा सकता है, और dashboard तथा feature flags आदि के जरिए production में ले जाया जा सकता है
    • starter kit को clone करके जल्दी शुरुआत करें
  • यह core plain package और वैकल्पिक रूप से install किए जा सकने वाले official extension packages से मिलकर बना है

plain package की विशेषताएँ

  • URL patterns को Python view functions से जोड़ना
  • HTTP requests और responses को handle करना
  • Jinja templates का उपयोग करके HTML rendering
  • user input को handle करने के लिए Form
  • command-line interface (CLI) प्रदान करना
  • CSS, JS, images आदि static assets serve कर सकता है
  • Middleware के ज़रिए app functionality को expand करना
  • official और third-party packages को आसानी से integrate करना
  • app चलाने से पहले preflight check system प्रदान करना

first-party packages के माध्यम से विस्तार योग्य सुविधाएँ

  • plain.models: Postgres, MySQL, SQLite में data store करने के लिए ORM प्रदान करता है
  • plain.cache: मौजूदा database के साथ काम करने वाला caching solution
  • plain.email: पूरे app में email configuration और sending functionality प्रदान करता है
  • plain.sessions: database-आधारित sessions को read और write कर सकता है
  • plain.worker: मौजूदा database को support करने वाला background jobs solution
  • plain.api: class-based view architecture का उपयोग करके JSON API बना सकता है

authentication से संबंधित

  • plain.auth: users जोड़ने, request authentication और view restrictions के लिए foundation प्रदान करता है
  • plain.oauth: modern social login और API access को support करने वाला flexible OAuth solution
  • plain.passwords: पारंपरिक password-based login को support करता है
  • plain.loginlink: password के बिना login के लिए one-time login links प्रदान करता है
  • plain.passkeys: passwordless login functionality जल्द उपलब्ध होगी

admin

  • plain.admin: पूरी तरह customizable admin dashboard प्रदान करता है
  • plain.flags: database-आधारित feature flags के ज़रिए user-specific content control कर सकता है
  • plain.support: third-party services के बिना customer support प्रदान करता है
  • plain.redirection: 404 monitoring और database में redirections manage करता है
  • plain.pageviews: users क्या देख रहे हैं, यह समझने और बेहतर support देने में मदद करता है

development

  • plain.dev: एक single command से local development environment शुरू किया जा सकता है
  • plain.pytest: लोकप्रिय Python testing library के साथ tests लिख और चला सकता है
  • plain.code: default settings के साथ Python code formatting और linting कर सकता है
  • plain.tunnel: webhook integration के लिए local app को internet पर expose कर सकता है

frontend

  • plain.tailwind: लोकप्रिय CSS framework के साथ first-class integration प्रदान करता है
  • plain.htmx: मौजूदा tools का उपयोग करके modern user experience बना सकता है
  • plain.elements: app templates में reusable components के लिए नया paradigm प्रदान करता है
  • plain.pages: HTML और Markdown का उपयोग करके file-based routing प्रदान करता है
  • plain.esbuild: JavaScript compilation के लिए streamlined build process प्रदान करता है
  • plain.vendor: CDN पर निर्भर हुए बिना JavaScript और CSS assets को download करके self-host कर सकता है

1 टिप्पणियां

 
GN⁺ 2025-03-30
Hacker News राय
  • बहुत से लोगों को शायद यह पता न हो कि Django Rest Framework का bug tracker private कर दिया गया है और वह नए maintainer की तलाश में है

    • Django शानदार है, लेकिन उसे Angular के renaissance जैसी बदलाव की ज़रूरत है
    • लोग योगदान देना चाहते हैं, लेकिन ज़्यादातर प्रयास committee में अटक रहे हैं
    • fork शायद समाधान न हो, लेकिन कुछ कार्रवाई ज़रूरी है
    • अगर donation की ज़रूरत है, तो donation लेना भी एक तरीका है
    • Django developer community छोटी और आपस में काफ़ी जुड़ी हुई है
    • ऐसा community चाहिए जो योगदान के प्रति खुला हो और लंबे समय के रिश्तों को महत्व दे
  • Django के fork को लेकर मिली-जुली भावनाएँ हैं

    • legacy project के बाहर प्रयोग करना मूल्यवान है, लेकिन fork एक बड़ा ऐलान है
    • ऐसा लगता है कि Django के collective effort को नज़रअंदाज़ किया जा रहा है
    • चिंता है कि यह commercial या बहुत संकीर्ण दिशा में जा सकता है
    • Django के लिए अपनापन और बढ़ रहा है
  • Django की ताकत उसका ORM और ecosystem/idioms हैं

    • यह समझना मुश्किल है कि fork करके compatibility क्यों तोड़ी जाए
    • बेहतर admin features देखना अच्छा होगा, लेकिन इसे Django project template से हल किया जा सकता है
  • Django की कुछ कमियाँ हैं

    • worker और REST API first-class citizen नहीं हैं
    • Django authentication बुनियादी है, लेकिन उपयोगी है
    • Django में कठिनाइयाँ complexity बढ़ा सकती हैं
  • Django के प्रति नकारात्मक भावनाएँ देखकर हैरानी हुई

    • Laravel और Rails की तुलना में Django पीछे रह गया है
    • ecosystem बिखरा हुआ है और कई package पुराने हो चुके हैं
    • Django का static file pipeline default रूप से शामिल नहीं है
    • user model की समस्या और template की सीमाएँ हैं
    • Rails पर स्विच करके web app बनाना शुरू किया
  • Django से Supabase/Firebase पर स्विच किया

    • बहुत सारे plugin हैं और self-hosting आसान है
    • लगता है Django plugin बेहतर हो सकते हैं
  • यह बात पसंद नहीं कि settings में class को refer करने वाली string होती है

    • class या object को refer करते समय आसानी से navigate कर पाना चाहिए
    • बाद में इसे plugin से हल किया जाता है, लेकिन LSP यह support मुफ्त में देता है
  • Plain के docs देखे

    • उसकी सारी functionality पहले से Django में है या अच्छी तरह supported package में मिल जाती है
    • Django की deprecation policy की वजह से project को लंबे समय तक बनाए रखना संभव है
    • committee project के commercialization को रोकती है और ज़्यादातर users के लिए सबसे अच्छे फ़ैसले लेती है
    • Django अख़बारों के लिए बनाया गया था, लेकिन यह एक general-purpose framework है
  • पता नहीं Plain सफल होगा या नहीं, लेकिन fork के कारण समझ में आते हैं

    • Django leadership, Django को आगे बढ़ाने में असफल रही है