आपको React की ज़रूरत नहीं है: Vanilla JavaScript में एक न्यूनतम UI लाइब्रेरी बनाना

एक ब्लॉग पोस्ट जो React के विकल्प के रूप में एक छोटी vanilla JavaScript UI लाइब्रेरी प्रस्तावित करती है, भारी frameworks कब उचित हैं इस पर बहस फिर से छेड़ देती है। टिप्पणीकार DOM के ऊपर “immediate mode” के लेखक के उपयोग पर सवाल उठाते हैं और state management, DOM performance, तथा edge cases जैसी चुनौतियों को उजागर करते हैं जिन्हें full frameworks हल करते हैं, जबकि अन्य लोग इस प्रयोग को शिक्षाप्रद बताते हैं और लाइब्रेरी के बहुत छोटे आकार को रेखांकित करते हैं। व्यापक रूप से, लोग इस पर बहस करते हैं कि क्या अधिकांश web apps को वास्तव में React-style tooling की ज़रूरत है या फिर सरल HTML/CSS/JS अथवा Preact या Astro जैसे हल्के विकल्प पर्याप्त हैं, खासकर ऐसे समय में जब AI बहुत-सा boilerplate तैयार कर सकता है।

मिनी UI लाइब्रेरी पर समग्र प्रतिक्रिया

  • कुछ लोगों को यह प्रोजेक्ट शिक्षाप्रद लगता है और उन्हें अच्छा लगता है कि यह दिखाता है कि बहुत कम JS से भी एक पूरी साइट चल सकती है।
  • दूसरों का मानना है कि उदाहरण कोड (जैसे, tic-tac-toe) यह साबित करता है कि React या इसी तरह के frameworks क्यों उपयोगी हैं।
  • कुछ पाठक स्पष्ट रूप से कहते हैं कि उन्हें प्रयोग और विकल्प देखना पसंद है, भले ही वे अपूर्ण हों।

React बनाम “आपको React की ज़रूरत नहीं है”

  • कई लोगों का तर्क है कि React का अत्यधिक उपयोग होता है, खासकर सरल, content-heavy साइटों या बुनियादी interactivity के लिए।
  • दूसरे जवाब देते हैं कि अगर आपको अंततः React-जैसी सुविधाओं की ज़रूरत पड़ने वाली है, तो React (या Preact/Vue/Svelte/etc.) से ही शुरुआत करना बेहतर है।
  • कुछ लोग mini frameworks को उन मुख्य समस्याओं से चूकता हुआ देखते हैं जिन्हें React हल करता है: state management, diffing, scheduling, और जटिल DOM updates।

Immediate mode बनाम retained mode

  • कई टिप्पणीकार कहते हैं कि लेख “immediate mode” शब्द का गलत उपयोग करता है; DOM-आधारित rendering स्वभावतः retained mode है।
  • इस पर बहस है कि क्या React “DOM के ऊपर immediate mode” है, लेकिन thread में आम सहमति “नहीं, यह retained है” की ओर झुकती है।
  • कुछ लोग नोट करते हैं कि DOM को immediate-mode मानने का दिखावा input state खोने जैसी समस्याओं की ओर ले जाता है।

प्रदर्शन, आकार, और जटिलता

  • लाइब्रेरी को बहुत छोटी (~2–3 kB) होने के लिए सराहा गया है, और कुल pages लगभग ~60 kB JS के आसपास हैं।
  • विरोधी तर्क: Preact पहले से ही छोटा है, इसलिए केवल size के आधार पर custom library उचित नहीं ठहरती।
  • कई टिप्पणीकार जोर देते हैं कि साधारण pub/sub या “सब कुछ re-render” वाले तरीके scale नहीं करते; आधुनिक frameworks fine-grained reactivity और DOM scheduling में भारी निवेश करते हैं।

उपयोग के मामले: सरल साइटें बनाम जटिल ऐप्स

  • कई लोगों का तर्क है कि अधिकांश साइटें plain HTML/CSS या हल्के JS के साथ server-rendered हो सकती हैं; SPAs और React सामान्य CRUD या blogs के लिए overkill हैं।
  • वहीं जटिल, अत्यधिक interactive apps पर काम करने वाले कुछ लोग (जैसे, बड़े forms, offline mode, accessibility) कहते हैं कि React जैसे frameworks maintainability और team productivity को वास्तव में बेहतर बनाते हैं।

AI/LLMs, DX, और ecosystem

  • कुछ लोग दावा करते हैं कि “AI era” में framework का चुनाव कम महत्वपूर्ण है क्योंकि LLMs code generate और refactor कर सकते हैं, यहाँ तक कि बाद में replatform भी कर सकते हैं।
  • दूसरे इसका विरोध करते हैं: framework design, performance, और SDK ecosystems (जैसे, headless CMSes जो React/Next को प्राथमिकता देते हैं) अभी भी वास्तविक दुनिया के चुनावों को मजबूत रूप से प्रभावित करते हैं।