रिॲक्ट (सॉफ्टवेअर)

विकिपीडिया, मुक्‍त ज्ञानकोशातून

रिअॅक्ट (ज्याला रिअॅक्ट डॉट जेएस किंवा रिअॅक्ट जेएस असेही म्हणतात) ही घटकांवर आधारित वापरकर्ता इंटरफेस तयार करण्यासाठी एक विनामौल्य आणि मुक्त-स्रोत फ्रंट-एंड JavaScript लायब्ररी आहे [१] [२] . हे मेटा (पूर्वीचे Facebook) आणि वैयक्तिक विकासक आणि कंपन्यांच्या समुदायाद्वारे राखले जाते. [३] [४] [५]

रिअॅक्ट चा वापर Next.js सारख्या फ्रेमवर्कसह सिंगल-पेज, मोबाइल किंवा सर्व्हर-रेंडर केलेले अॅप्लिकेशन विकसित करण्यासाठी केला जाऊ शकतो. रिअॅक्ट नुसते वापरकर्ता इंटरफेस आणि DOM ला घटक सादर करण्याशी संबंधित असल्यामुळे, रिअॅक्ट ऍप्लिकेशन्स राउटिंग आणि इतर क्लायंट-साइड कार्यक्षमतेसाठी लायब्ररींवर अवलंबून असतात. [६] [७]

पायाभूत वापर[संपादन]

जेअॅसएक्स आणि जावास्क्रिप्ट मध्ये लिहिलेले वेबसाठी रिअॅक्ट वापरला जातो.

उल्लेखनीय वैशिष्ट्ये[संपादन]

घोषणात्मक[संपादन]

रिअॅक्ट घोषणात्मक प्रोग्रामिंग पॅराडाइम पाळते. [८] : ७६ विकसक अनुप्रयोगाच्या प्रत्येक स्थितीसाठी दृश्ये डिझाइन करतात आणि जेव्हा डेटा बदलतात तेव्हा अद्यतने आणि रेंडर घटकांवर प्रतिक्रिया देतात. हे अत्यावश्यक प्रोग्रामिंगच्या विरुद्ध आहे. [९]

घटक[संपादन]

रिअॅक्ट कोड घटक नावाच्या घटकांचा बनलेला आहे. [८] :  हे घटक मॉड्यूलर आणि पुन्हा वापरण्यायोग्य आहेत. [८] :  प्रतिक्रिया ऍप्लिकेशन्समध्ये सामान्यत: घटकांचे अनेक स्तर असतात. रिअॅक्ट DOM लायब्ररी वापरून घटक DOM मधील रूट घटकाला सादर केले जातात. घटक रेंडर करताना, मूल्ये घटकांदरम्यान प्रॉप्सद्वारे पार केली जातात ("गुणधर्म" साठी लहान) . घटकाच्या अंतर्गत मूल्यांना त्याची अवस्था म्हणतात. [१०]

रिअॅक्ट मध्ये घटक घोषित करण्याचे दोन प्राथमिक मार्ग फंक्शन घटक आणि वर्ग घटकांद्वारे आहेत. [८] : 118 [११] : 10 

कार्य घटक[संपादन]

फंक्शन घटक फंक्शनसह घोषित केले जातात (जावास्क्रिप्ट फंक्शन सिंटॅक्स किंवा एरो फंक्शन एक्सप्रेशन वापरून) जे एकल "प्रॉप्स" युक्तिवाद स्वीकारतात आणि जेएसएक्स परत करतात. रिअॅक्ट आवृत्ती क्रमांक १६.८ पासून पुढे, फंक्शन घटक useState हुक सह स्टेट वापरू शकतात.

रिअॅक्टचे हुक[संपादन]

16 फेब्रुवारी 2019 रोजी, रिअॅक्ट 16.8 लोकांसाठी रिलीज करण्यात आला, ज्याने रिअॅक्ट Hooks सादर केले. [१२] हुक ही असे कार्य आहेत जी विकसकाला कार्य घटकांमधील रिअॅक्ट अवस्था आणि आयुष्यचक्र वैशिष्ट्यांना "हुक इन" करू देतात. [१३] विशेष म्हणजे, हुक क्लासेसमध्ये काम करत नाहीत — ते विकसकांना क्लासेसशिवाय रिअॅक्टची अधिक वैशिष्ट्ये वापरू देतात. [१४]

रिअॅक्ट अनेक अंगभूत हुक देते जसे की useState, [१५] [११] : ३७ useContext, [८] : 11 [१६] [११] : 12 useReducer, [८] : ९२ [१६] [११] : ६५-६६ useMemo [८] : १५४ [१६] [११] : 162 आणि useEffect . [१७] [११] : ९३-९५ इतर हुक्स API संदर्भामध्ये दस्तऐवजीकरण केलेले आहेत. [१८] [८] : ६२ useState आणि useEffect, जे सर्वात जास्त वापरले जातात, ते राज्य नियंत्रित करण्यासाठी आहेत [८] : ३७ आणि दुष्परिणाम [८] : ६१ अनुक्रमे

हुकचे नियम[संपादन]

हुकचे दोन नियम आहेत [१९] जे वैशिष्ट्यपूर्ण कोड पॅटर्नचे वर्णन करतात ज्यावर हुक अवलंबून असतात:

  1. "केवळ शीर्ष स्तरावर हुक कॉल करा" - आतील लूप, कंडिशन किंवा नेस्टेड स्टेटमेंटमधून हुक कॉल करू नका जेणेकरून प्रत्येक रेंडर समान क्रमाने हुक कॉल केले जातील.
  2. "ओन्ली कॉल हूक्स फ्रॉम रिऍक्ट फंक्शन्स" — साध्या जावास्क्रिप्ट फंक्शन्समधून हुक कॉल करू नका जेणेकरून स्टेटफुल लॉजिक घटकासोबत राहील.

जरी हे नियम रनटाइमवर प्रयुक्त केले जाऊ शकत नसले तरी, कोड विश्लेषण साधने जसे की linters विकासामधात अनेक चुका शोधण्यासाठी कॉन्फिगर केले जाऊ शकतात. हुकचा वापर आणि सानुकूल हुकची राबावणी या दोन्हीसाठी नियम प्रयुक्त होतात, [२०] जे इतर हुक म्हणू शकतात.

सर्व्हर घटक[संपादन]

रिअॅक्ट सर्व्हर घटक किंवा "RSC" [२१] हे फंक्शन घटक आहेत जे केवळ सर्व्हरवर चालतात. सर्व्हर घटकांसह डेटा मिळवणे या चर्चेत ही संकल्पना प्रथम सादर करण्यात आली होती, जरी सर्व्हर साइड रेंडरिंग सारखीच संकल्पना असली तरी, हायड्रेशन होत नसल्याने RSCs क्लायंटला संबंधित JavaScript पाठवत नाहीत. परिणामी, त्यांना हुकपर्यंत प्रवेश नाही. मात्र, ते असिंक्रोनस फंक्शन असू शकतात, जे त्यांना थेट असिंक्रोनस ऑपरेशन्स करण्यास अनुदा देतात:

सध्या, सर्व्हर घटक Next.js सह सर्वात सहज वापरण्यायोग्य आहेत.

इतिहास[संपादन]

जॉर्डन वाल्के, मेटा मधील सॉफ्टवेर अभियंता यांनी रिअॅक्ट तयार केले होते, ज्याने "फॅक्सजेएस" नावाचा रिएक्टचा प्रारंभिक प्रोटोटाइप निर्गमित केला होता. [२२] [२३] [२२] त्याच्यावर XHP, PHP साठी HTML घटक लायब्ररीचा प्रभाव होता. हे प्रथम 2011 मध्ये Facebook च्या न्यूज फीडवर आणि नंतर 2012 मध्ये Instagram वर नियुक्त करण्यात आले. </link> ते मे 2013 मध्ये JSConf US येथे मुक्त-स्रोत केले गेले [२२]

रिअॅक्ट Native, जे रिअॅक्ट सह नेटिव्ह Android, iOS आणि UWP डेव्हलपमेंट सक्षम करते, फेब्रुवारी 2015 मध्ये Facebook च्या रिअॅक्ट Conf मध्ये घोषित करण्यात आले आणि मार्च 2015 मध्ये मुक्त-स्रोत केले गेले.

18 एप्रिल 2017 रोजी, Facebook ने रिअॅक्ट Fiber, रिअॅक्ट च्या जुन्या रेंडरिंग विधिकल्प, Stack च्या विरुद्ध, सादरीकरणासाठी अंतर्गत अल्गोरिदमचा एक नवीन संच सार्वजनिक केला. [२४] रिएक्ट लायब्ररीच्या भविष्यातील कोणत्याही सुधारणा आणि वैशिष्ट्यांच्या विकासाचा पाया रिअॅक्ट फायबर बनणार होता. [२५] [ अपडेट आवश्यक आहे ]</link></link> रिअॅक्ट सह प्रोग्रामिंगसाठी वास्तविक वाक्यरचना बदलत नाही; केवळ वाक्यरचना कार्यान्वित करण्याचा मार्ग बदलला आहे. [२६] रिएक्टची जुनी रेंडरिंग सिस्टीम, स्टॅक, अशा वेळी विकसित केली गेली होती जेव्हा परिवर्तनशील बदलावर प्रणालीचे लक्ष समजत नव्हते. क्लिष्ट अ‍ॅनिमेशन काढण्यासाठी स्टॅक हळुवार होता, उदाहरणार्थ, ते सर्व एकाच भागामध्ये पूर्ण करण्याचा प्रयत्न. फायबर अ‍ॅनिमेशनला विभागांमध्ये विभाजित करते जे एकाधिक फ्रेमवर पसरले जाऊ शकते. त्याचप्रमाणे, पृष्ठाची रचना अशा विभागांमध्ये मोडली जाऊ शकते जी स्वतंत्रपणे राखली जाऊ शकते आणि अद्यतनित केली जाऊ शकते. JavaScript फंक्शन्स आणि व्हर्च्युअल DOM ऑब्जेक्ट्सना "फायबर्स" म्हणतात, आणि प्रत्येक स्वतंत्रपणे ऑपरेट आणि अपडेट केले जाऊ शकते, ज्यामुळे स्क्रीन ऑन-स्क्रीन रेंडरिंग सुलभ होते. [२७]

26 सप्टेंबर 2017 रोजी, रिअॅक्ट 16.0 लोकांसाठी निर्गमित करण्यात आला. [२८]

10 ऑगस्ट 2020 रोजी, रिअॅक्ट संघाने रिअॅक्ट v17.0 साठी पहिल्या रिलीझ उमेदवाराची घोषणा केली, जे रिअॅक्ट विकासक-दर्शी API मध्ये मोठे परिवर्तन न करता पहिले प्रमुख रिलीज म्हणून उल्लेखनीय आहे. [२९]

29 मार्च 2022 रोजी, रिअॅक्ट 18 रिलीज करण्यात आला ज्याने नवीन समवर्ती सादरकर्ता, स्वचलित बॅचिंग आणि थरारसह सर्व्हर साइड रेंडरिंगसाठी समर्थन सादर केले. [३०]

  1. ^ "React - A JavaScript library for building user interfaces". reactjs.org (इंग्रजी भाषेत). Archived from the original on April 8, 2018. 7 April 2018 रोजी पाहिले.
  2. ^ "Chapter 1. What Is React? - What React Is and Why It Matters [Book]". www.oreilly.com (इंग्रजी भाषेत). Archived from the original on May 6, 2023. 2023-05-06 रोजी पाहिले.
  3. ^ Krill, Paul (May 15, 2014). "React: Making faster, smoother UIs for data-driven Web apps". InfoWorld. 2021-02-23 रोजी पाहिले.
  4. ^ Hemel, Zef (June 3, 2013). "Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews". infoq.com (इंग्रजी भाषेत). Archived from the original on May 26, 2022. 2022-01-11 रोजी पाहिले.
  5. ^ Dawson, Chris (July 25, 2014). "JavaScript's History and How it Led To ReactJS". The New Stack (इंग्रजी भाषेत). Archived from the original on Aug 6, 2020. 2020-07-19 रोजी पाहिले.
  6. ^ Dere 2017.
  7. ^ Panchal 2022.
  8. ^ a b c d e f g h i j Wieruch 2020.
  9. ^ Schwarzmüller 2018.
  10. ^ "Components and Props". React. Facebook. Archived from the original on 7 April 2018. 7 April 2018 रोजी पाहिले.
  11. ^ a b c d e f Larsen 2021.
  12. ^ "Introducing Hooks". react.js. 2019-05-20 रोजी पाहिले.
  13. ^ "Hooks at a Glance – React". reactjs.org (इंग्रजी भाषेत). 2019-08-08 रोजी पाहिले.
  14. ^ "What the Heck is React Hooks?". Soshace (इंग्रजी भाषेत). 2020-01-16. 2020-01-24 रोजी पाहिले.
  15. ^ "Using the State Hook – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले.
  16. ^ a b c "Using the State Hook – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले. चुका उधृत करा: अवैध <ref> tag; नाव "Larsen" वेगवेगळ्या मजकूराशी अनेकदा जोडलेले आहे
  17. ^ "Using the Effect Hook – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले.
  18. ^ "Hooks API Reference – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले.
  19. ^ "Rules of Hooks – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले.
  20. ^ "Building Your Own Hooks – React". reactjs.org (इंग्रजी भाषेत). 2020-01-24 रोजी पाहिले.
  21. ^ "React Labs: What We've Been Working On – March 2023". react.dev (इंग्रजी भाषेत). 2023-07-23 रोजी पाहिले.
  22. ^ a b c Hámori 2022.
  23. ^ Walke, Jordan. "FaxJS". 11 July 2019 रोजी पाहिले.
  24. ^ Lardinois 2017.
  25. ^ "React Fiber Architecture". Github. 19 April 2017 रोजी पाहिले.
  26. ^ "Facebook announces React Fiber, a rewrite of its React framework". TechCrunch. 2018-10-19 रोजी पाहिले.
  27. ^ "GitHub - acdlite/react-fiber-architecture: A description of React's new core algorithm, React Fiber". github.com. 2018-10-19 रोजी पाहिले.
  28. ^ "React v16.0". react.js. 2017-09-26. 2019-05-20 रोजी पाहिले.
  29. ^ url=https://reactjs.org/blog/2020/08/10/react-v17-rc.html
  30. ^ "React v18.0". reactjs.org (इंग्रजी भाषेत). 2022-04-12 रोजी पाहिले.