14 पॉइंट द्वारा GN⁺ 2023-08-16 | 21 टिप्पणियां | WhatsApp पर शेयर करें
  • यूज़र इंटरफ़ेस बनाने के लिए व्यापक रूप से उपयोग की जाने वाली 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 टिप्पणियां

 
linrise 2023-08-17

यह लेख ऐसा लगता है जैसे कोई बदतमीज़ जूनियर कह रहा हो, “सीनियर~ अब आप में कोई खास बात नहीं रही, तो रिटायर हो जाइए?” इसलिए यह बचकाना लगता है।

 
moderator 2023-08-17

लगता है कि लेख को लेकर बात कुछ ज़्यादा गरम हो रही है।
कृपया साइट उपयोग नियम के कमेंट लिखने वाले हिस्से को देखें।

कृपया विनम्र और शालीन तरीके से बात करें।
कृपया लेखक को व्यक्तिगत रूप से निशाना न बनाएं।
अगर कोई आपत्ति है, तो केवल उसी सामग्री के बारे में लिखें।

 
cosine20 2023-08-17

व्यक्तिगत तौर पर मुझे JS जैसी भाषा का server development language के तौर पर इस्तेमाल होना ज़्यादा पसंद नहीं है.
आजकल TS-based चीज़ें भी काफ़ी हैं, लेकिन आखिर में output तो JS ही बनता है... Python भी और JavaScript भी, language के नज़रिए से मुझे सच में ज़्यादा पसंद नहीं आते, लेकिन शायद convenience की वजह से काफ़ी इस्तेमाल होते हैं.
यह language के democratization जैसा एहसास देता है.

 
roxie 2023-08-17

Vercel ने इसे खून-पसीना बहाकर बनाया है, लेकिन लोग इसे इतना स्वाभाविक और मामूली समझ लेते हैं कि थोड़ा बुरा लगता है।

 
secret3056 2023-08-16

स्कूल के दिनों की वह याद आते ही, जब ऐसे editor में नर्क जैसे servlet लिखते थे जो grammar errors तक नहीं पकड़ता था, React हो या Svelte, हर चीज़ के लिए शुक्रगुज़ार हो जाता हूँ.....

 
bichi 2023-08-16

यह-वह चीज़ें इस्तेमाल करके देखें तो React के खूब मज़बूत पॉइंट नज़र आते हैं, लेकिन React अच्छा है, JSX इसकी ताकत है, और hooks पर नकारात्मक राय के ख़िलाफ़ जो नकारात्मक रवैया है, वह कुछ अंधभक्ति वाले धर्म जैसा महसूस होता है।

 
alucard 2023-08-16

मैंने लिखा था कि इसकी ताकत JSX नहीं, बल्कि 'अभिव्यक्तिशीलता' है.. और hooks के बारे में, मूल लेख को वास्तव में पढ़ने पर मैंने पुष्टि की कि उसमें hooks pattern की खुद आलोचना नहीं की गई थी, बल्कि सिर्फ इतना कहा गया था कि अब वह सिर्फ React की खास ताकत नहीं रह गई है। इस हद तक तो सहमत हुआ जा सकता है। अनुवाद ऐसा किया गया था, इसलिए मैं गलत समझ बैठा।
तो क्या आप कृपया थोड़ा ठोस रूप से लिख सकते हैं कि टिप्पणी लिखने वाले के रूप में आपने जो 'फायदे का बिंदु' समझा, वह क्या है?

 
bichi 2023-08-16

क्या आपको सच में लगता है कि libraries या frameworks में सिर्फ़ फ़ायदे होते हैं और कोई नुकसान नहीं होता? क्या इस्तेमाल करते समय आपको React की कमियाँ महसूस नहीं हुईं? जिस तरह आप कह रहे हैं कि बस कमियाँ ही लिखो, उससे तो लगता है कि आपने शायद कभी महसूस ही नहीं किया? आपको पता है न कि pros and cons का मतलब यह भी है कि फ़ायदे भी होते हैं? फ़ायदे बहुत हैं, लेकिन नुकसान भी काफ़ी हैं। उनमें से एक चीज़ मैंने कल पढ़ी थी, लेकिन लिंक याद नहीं है। कहा गया था कि server components में सिर्फ़ server components के बाहर ही context इस्तेमाल किया जा सकता है। उसकी वजह से js-in-css इस्तेमाल नहीं किया जा सकता, ऐसा भी कहा गया था। मैंने खुद करके नहीं देखा है, इसलिए इसे पक्का नुकसान कह नहीं सकता haha

Hooks? मैं सच में मानता हूँ कि यह एक बेहद क्रांतिकारी आइडिया देने वाली चीज़ थी। लेकिन अब? haha React से भी ज़्यादा स्मार्ट और इस्तेमाल में आसान signals हैं। वह main text में भी है।

 
alucard 2023-08-17

हाँ haha, बहुत अच्छा लगा सुनकर

 
cookiet 2023-08-16

इस बीच भी छूटा हुआ angular है, आह...

 
alucard 2023-08-16

मैं इससे बिल्कुल सहमत नहीं हूँ। JSX के मामले में, उसकी expressive power HTML से ज़्यादा है, इसलिए उसे जानबूझकर इस्तेमाल किया जाता है.
और two-way data binding को लंबे समय तक एक खराब विचार माना जाता रहा, तो अचानक यह आम राय क्यों पलट गई, यह भी समझ से परे है..
और बेवजह बड़ा ecosystem से उनका मतलब क्या है? फिर hooks पुराने ज़माने की चीज़ हो गए..
व्यक्तिगत रूप से तो मुझे यह भी संदेह है कि यह लेख सच में किसी असली programmer ने लिखा है या नहीं

 
kuroneko 2023-08-16

लगता है इसमें काफ़ी बातें हैं जो समझ में आती हैं। फिर भी मैं अभी भी React का इस्तेमाल कर रहा हूँ, लेकिन...

 
[यह टिप्पणी छिपाई गई है.]
 
beingbook 2023-08-16

तकनीकी रूप से इसमें कौन-कौन से trade-off हैं, इसे ठोस रूप से समझाने के बजाय सिर्फ यह दावा करना कि इसकी performance कम है, कुछ अतिरंजित लगता है। उदाहरण के लिए, React के अलावा अन्य island implementations में priority-based loading जैसी चीज़ें संभव नहीं होतीं।

 
laracool 2023-08-16

जब तक eGovFrame में कोई दूसरा विकल्प सामने नहीं आता... React का कोरिया में मज़बूत बने रहना तय है।

 
[यह टिप्पणी छिपाई गई है.]
 
bohaesoju 2023-08-16

पता नहीं। React के विकल्प के तौर पर बहुत ज़्यादा libraries पेश की जा रही हैं।
मुझे लगता है कि जब हर चीज़ को समग्र रूप से देखा जाए, तो React से बेहतर क्या है, उसे ही ज़्यादा प्रभावी ढंग से दिखाना चाहिए।

 
tequila 2023-08-16

Vue, Nuxt वाकई बहुत अच्छे हैं, लेकिन देश के अंदर उनकी मौजूदगी सीमित है, यह अफसोस की बात है। Svelte तो.. ऐसी हालत में है कि उसकी मौजूदगी के बारे में कुछ कहा ही नहीं जा सकता (sob)...

 
[यह टिप्पणी छिपाई गई है.]
 
bichi 2023-08-16

बिल्कुल सही बात, 10000 बार।

 
GN⁺ 2023-08-16
Hacker News राय
  • कुछ डेवलपर्स Vue की template language को JSX की तुलना में मूल HTML के ज़्यादा करीब मानते हैं और इसलिए उसे पसंद करते हैं, क्योंकि template files में conditional statements और loops आसानी से लिखे जा सकते हैं.
  • React में filter, map, reduce जैसी language constructs का उपयोग कुछ लोगों को workaround की तुलना में अधिक सुविधाजनक लगता है.
  • एक डेवलपर ने React से बाहर निकलकर server-side rendering frontend और vanilla JS इस्तेमाल करने का अनुभव साझा किया, और पाया कि इसे maintain करना अधिक आसान है.
  • कुछ लोग Web Components को overhyped मानते हैं, क्योंकि उनके अनुसार DOM पहले से ही React में third-party libraries को integrate करने का भरोसेमंद तरीका देता है.
  • React की लोकप्रियता उसके programming model से आती है, और JSX अब भी JS applications के UI हिस्से को JS हिस्से में सीधे integrate करने के बेहतर तरीकों में से एक माना जाता है.
  • business दृष्टिकोण से, React जैसे industry standard पर टिके रहना आसान hiring और बड़ा ecosystem देता है, और सब कुछ शुरुआत से बनाने की ज़रूरत कम करता है.
  • React के Hooks को class component lifecycle methods की तुलना में बड़ा सुधार माना जाता है, जो अधिक साफ़ और शक्तिशाली code देते हैं.
  • कुछ डेवलपर्स React के function components और Hooks को गलती मानते हैं, और उनका मानना है कि इससे codebase कम maintainable और समझने में कठिन हो जाता है.
  • React को दूसरे frameworks की तुलना में अधिक बुनियादी माना जाता है, जो imperative से अधिक functional paradigm की ओर बदलाव लाता है.
  • Google ने Web Components को standardize करने के लिए Alex Russel को जो भुगतान किया, उस पर लेख का उद्धरण Web Components और React के बीच सीधी प्रतिस्पर्धा के कारण पक्षपाती माना जाता है.
  • कुछ डेवलपर्स को लगता है कि web programmers ने "खुद करके देखना" और व्यावहारिक तरीके से जटिल systems बनाने की क्षमता खो दी है, और React जैसे frameworks का अक्सर ज़रूरत से ज़्यादा उपयोग हो रहा है.
  • लेख के लेखक की आलोचना इस बात के लिए होती है कि उन्होंने उदाहरण नहीं दिए और मौजूदा solutions के इतिहास व उनके बीच के अंतर को लेकर विशेषज्ञता या समझ की कमी दिखाई.
  • कुछ लोग लेख के इस दावे से सहमत हैं कि डेवलपर्स को rendering performance की चिंता करने की ज़रूरत नहीं होनी चाहिए, और उन्हें यह संदिग्ध लगता है कि React डेवलपर्स से useMemo और useCallback जैसी सुविधाओं का उपयोग करवाता है.
  • कुछ लोग लेख के इस दावे से सहमत हैं कि डेवलपर्स केवल React डेवलपर बनकर रह जाते हैं और दूसरे तरीके खोज नहीं पाते, और उनका मानना है कि React ने components, state, Hooks जैसी परिभाषाएँ लाकर बुनियादी programming concepts की समझ को कमज़ोर किया है.