React की वजह से भूली हुईं (या शायद कभी पता ही न चलीं) बातें
(joshcollinsworth.com)- यूज़र इंटरफ़ेस बनाने के लिए व्यापक रूप से उपयोग की जाने वाली JavaScript लाइब्रेरी React की आलोचनात्मक समीक्षा और उसके विकल्पों का प्रस्ताव।
- React को पुराना पड़ चुका बताया गया है, और उस पर परफ़ॉर्मेंस व अनुकूलनशीलता की कमी का आरोप है।
- लेखक का तर्क है कि React का इकोसिस्टम अनावश्यक रूप से बहुत बड़ा है, और React hooks अब पुराने हो चुके हैं।
- यह तर्क दिया गया है कि फ्रंटएंड में rendering और scaling पर इतना ज़ोर देने की ज़रूरत नहीं है।
- Server-side rendering अब कोई अनोखी चीज़ नहीं रही, और two-way data binding कोई बुरा विचार नहीं है।
- यह दावा किया गया है कि styling React की तुलना में अधिक सरल है, और दूसरे frameworks सीखना कठिन नहीं है।
- React के विकल्प सिर्फ़ "नए और चमकदार" नहीं हैं, बल्कि परिपक्व हैं और बेहतर परफ़ॉर्मेंस देते हैं।
- Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik जैसे दूसरे frameworks को आज़माने की सलाह दी गई है।
- लेखक का निजी favorite Svelte है, जिसे React की तुलना में सीखना आसान और अधिक performant बताया गया है।
- Svelte एक compiler है, इसलिए इस्तेमाल न होने वाला code build time पर हटा दिया जाता है और इससे छोटे bundles बनते हैं।
- Svelte का meta-framework SvelteKit विविध और शक्तिशाली है, और static, server rendering, तथा edge deployment को सपोर्ट करता है।
- Vue को React से बेहतर परफ़ॉर्मेंस और अधिक UI-केंद्रित approach देने वाला बताया गया है, और यह JSX की जगह मूल HTML के अधिक क़रीब template language का उपयोग करता है।
- Solid को React का अधिक performant संस्करण बताया गया है, जो complexity, performance समस्याएँ और boilerplate को हटाता है। इसका अपना meta-framework SolidStart भी है।
- Fresh Deno पर बना एक server-rendered frontend framework है, जिसमें island architecture है। यह न्यूनतम JavaScript और तेज़ dynamic content loading देता है।
- Astro एक high-performance static site generator है, जिसमें dynamic server-side features भी हैं। यह डिफ़ॉल्ट रूप से बिल्कुल भी JavaScript उपयोग नहीं करता और कई frontend frameworks के साथ compatible है।
- Preact को React का अधिक slim और तेज़ संस्करण बताया गया है, जिसमें React में न होने वाली कुछ बेहतर सुविधाएँ भी हैं।
- Qwik एक नया approach अपनाता है और server-rendered React जैसा code देता है, इसलिए बहुत अधिक interaction वाले प्रोजेक्ट्स के लिए यह अच्छा विकल्प हो सकता है।
- Lit, Stencil, Polymer जैसी web component libraries उन प्रोजेक्ट्स के लिए सुझाई गई हैं जो एक ही component को कई environments में reuse करना चाहते हैं या framework बदलने की तैयारी करना चाहते हैं।
- लेखक का सुझाव है कि टेक उद्योग React से आगे बढ़कर किसी नई तकनीक को अपनाने में एक और बड़ी छलांग लगा सकता है।
21 टिप्पणियां
यह लेख ऐसा लगता है जैसे कोई बदतमीज़ जूनियर कह रहा हो, “सीनियर~ अब आप में कोई खास बात नहीं रही, तो रिटायर हो जाइए?” इसलिए यह बचकाना लगता है।
लगता है कि लेख को लेकर बात कुछ ज़्यादा गरम हो रही है।
कृपया साइट उपयोग नियम के कमेंट लिखने वाले हिस्से को देखें।
कृपया विनम्र और शालीन तरीके से बात करें।
कृपया लेखक को व्यक्तिगत रूप से निशाना न बनाएं।
अगर कोई आपत्ति है, तो केवल उसी सामग्री के बारे में लिखें।
व्यक्तिगत तौर पर मुझे JS जैसी भाषा का server development language के तौर पर इस्तेमाल होना ज़्यादा पसंद नहीं है.
आजकल TS-based चीज़ें भी काफ़ी हैं, लेकिन आखिर में output तो JS ही बनता है... Python भी और JavaScript भी, language के नज़रिए से मुझे सच में ज़्यादा पसंद नहीं आते, लेकिन शायद convenience की वजह से काफ़ी इस्तेमाल होते हैं.
यह language के democratization जैसा एहसास देता है.
Vercel ने इसे खून-पसीना बहाकर बनाया है, लेकिन लोग इसे इतना स्वाभाविक और मामूली समझ लेते हैं कि थोड़ा बुरा लगता है।
स्कूल के दिनों की वह याद आते ही, जब ऐसे editor में नर्क जैसे servlet लिखते थे जो grammar errors तक नहीं पकड़ता था, React हो या Svelte, हर चीज़ के लिए शुक्रगुज़ार हो जाता हूँ.....
यह-वह चीज़ें इस्तेमाल करके देखें तो React के खूब मज़बूत पॉइंट नज़र आते हैं, लेकिन React अच्छा है, JSX इसकी ताकत है, और hooks पर नकारात्मक राय के ख़िलाफ़ जो नकारात्मक रवैया है, वह कुछ अंधभक्ति वाले धर्म जैसा महसूस होता है।
मैंने लिखा था कि इसकी ताकत JSX नहीं, बल्कि 'अभिव्यक्तिशीलता' है.. और hooks के बारे में, मूल लेख को वास्तव में पढ़ने पर मैंने पुष्टि की कि उसमें hooks pattern की खुद आलोचना नहीं की गई थी, बल्कि सिर्फ इतना कहा गया था कि अब वह सिर्फ React की खास ताकत नहीं रह गई है। इस हद तक तो सहमत हुआ जा सकता है। अनुवाद ऐसा किया गया था, इसलिए मैं गलत समझ बैठा।
तो क्या आप कृपया थोड़ा ठोस रूप से लिख सकते हैं कि टिप्पणी लिखने वाले के रूप में आपने जो 'फायदे का बिंदु' समझा, वह क्या है?
क्या आपको सच में लगता है कि libraries या frameworks में सिर्फ़ फ़ायदे होते हैं और कोई नुकसान नहीं होता? क्या इस्तेमाल करते समय आपको React की कमियाँ महसूस नहीं हुईं? जिस तरह आप कह रहे हैं कि बस कमियाँ ही लिखो, उससे तो लगता है कि आपने शायद कभी महसूस ही नहीं किया? आपको पता है न कि pros and cons का मतलब यह भी है कि फ़ायदे भी होते हैं? फ़ायदे बहुत हैं, लेकिन नुकसान भी काफ़ी हैं। उनमें से एक चीज़ मैंने कल पढ़ी थी, लेकिन लिंक याद नहीं है। कहा गया था कि server components में सिर्फ़ server components के बाहर ही context इस्तेमाल किया जा सकता है। उसकी वजह से
js-in-cssइस्तेमाल नहीं किया जा सकता, ऐसा भी कहा गया था। मैंने खुद करके नहीं देखा है, इसलिए इसे पक्का नुकसान कह नहीं सकता hahaHooks? मैं सच में मानता हूँ कि यह एक बेहद क्रांतिकारी आइडिया देने वाली चीज़ थी। लेकिन अब? haha React से भी ज़्यादा स्मार्ट और इस्तेमाल में आसान signals हैं। वह main text में भी है।
हाँ haha, बहुत अच्छा लगा सुनकर
इस बीच भी छूटा हुआ angular है, आह...
मैं इससे बिल्कुल सहमत नहीं हूँ। JSX के मामले में, उसकी expressive power HTML से ज़्यादा है, इसलिए उसे जानबूझकर इस्तेमाल किया जाता है.
और two-way data binding को लंबे समय तक एक खराब विचार माना जाता रहा, तो अचानक यह आम राय क्यों पलट गई, यह भी समझ से परे है..
और बेवजह बड़ा ecosystem से उनका मतलब क्या है? फिर hooks पुराने ज़माने की चीज़ हो गए..
व्यक्तिगत रूप से तो मुझे यह भी संदेह है कि यह लेख सच में किसी असली programmer ने लिखा है या नहीं
लगता है इसमें काफ़ी बातें हैं जो समझ में आती हैं। फिर भी मैं अभी भी React का इस्तेमाल कर रहा हूँ, लेकिन...
तकनीकी रूप से इसमें कौन-कौन से trade-off हैं, इसे ठोस रूप से समझाने के बजाय सिर्फ यह दावा करना कि इसकी performance कम है, कुछ अतिरंजित लगता है। उदाहरण के लिए, React के अलावा अन्य island implementations में priority-based loading जैसी चीज़ें संभव नहीं होतीं।
जब तक eGovFrame में कोई दूसरा विकल्प सामने नहीं आता... React का कोरिया में मज़बूत बने रहना तय है।
पता नहीं। React के विकल्प के तौर पर बहुत ज़्यादा libraries पेश की जा रही हैं।
मुझे लगता है कि जब हर चीज़ को समग्र रूप से देखा जाए, तो React से बेहतर क्या है, उसे ही ज़्यादा प्रभावी ढंग से दिखाना चाहिए।
Vue, Nuxt वाकई बहुत अच्छे हैं, लेकिन देश के अंदर उनकी मौजूदगी सीमित है, यह अफसोस की बात है। Svelte तो.. ऐसी हालत में है कि उसकी मौजूदगी के बारे में कुछ कहा ही नहीं जा सकता (sob)...
बिल्कुल सही बात, 10000 बार।
Hacker News राय
filter,map,reduceजैसी language constructs का उपयोग कुछ लोगों को workaround की तुलना में अधिक सुविधाजनक लगता है.useMemoऔरuseCallbackजैसी सुविधाओं का उपयोग करवाता है.