ریاکت
ریاکت (که به صورت React.js یا ReactJS نیز خوانده میشود)، یک کتابخانه[2] متنباز جاوااسکریپت برای ساخت رابطهای کاربری و اجزای(Component) صفحات وب است.
نویسنده(های) اصلی | جردن واک |
---|---|
توسعهدهنده(ها) | فیسبوک، اینستاگرام و انجمن |
انتشار ابتدایی | مارس ۲۰۱۳ |
انتشار پایدار | |
مخزن | |
نوشتهشده با | جاوااسکریپت |
بنسازه رایانش | چندسکویی |
حجم | 109 KiB production 710 KiB development |
گونه | کتابخانه جاوااسکریپت |
پروانه | پروانه امآیتی |
وبگاه |
این کتابخانه توسط فیسبوک و جامعهای از توسعهدهندگان و شرکتها به صورت انفرادی توسعه و نگهداری میشوند.[3] براساس آنالیزهای جاوااسکریپت سرویس لیبسکور، ریاکت در حال حاضر در سایتهای نتفلیکس، ایمجر، بلیچر رپورت، فیدلی، ایر بیانبی و … مورد استفاده قرار میگیرد.
به دلیل بهینه بودن ریاکت برای دریافت اطلاعاتی که با سرعت تغییر میکنند، میتوان از آن برای توسعه برنامه تکصفحهای(SPA) یا برنامههای موبایل استفاده کرد. هرچند دریافت اطلاعات، ابتدایی ترین بخش در یک صفحهٔ وب است و برنامههای پیچیده ریاکت معمولاً به کتابخانههای اضافهای برای مدیریت وضعیت (state management)، مسیریابی (URL mapping)، و اتصال به رابط برنامهنویسی کاربردی (API) نیاز دارند.
ریاکت و ریاکت نیتیو(React Native) از جمله پروژههای متنباز شرکت فیسبوک هستند که در صدر محبوبترین پروژههای وبگاه گیتهاب قرار دارند.[4]
تاریخچه
ریاکت توسط جردن واک، یک مهندس نرمافزار در فیسبوک، ساخته شدهاست. او از XHP که یک چارچوب فریمورک HTML برای PHP است، تأثیر گرفتهاست.[5] اولین نسخهای که او در سال ۲۰۱۱ توسعه داد در بخش اخبار فیسبوک و بعدها در سال ۲۰۱۲ در سرویس اینستاگرام مورد استفاده قرار گرفت. در سال ۲۰۱۳ در جریان کنفرانس آمریکا JSConf این کتابخانه متنباز اعلام شد.
ReactNative، که امکان توسعه برنامههای مبتنی بر Android, IOS و UWP را با React فراهم میکند، در فوریه ۲۰۱۵ در React.js Conf فیسبوک معرفی شد و در مارس ۲۰۱۵ به صورت رایگان عرضه شد.
در ۱۸ آوریل ۲۰۱۷ فیسبوک اعلام کرد React Fiber، یک الگوریتم اصلی جدید React library برای ایجاد رابط کاربری است.[6] React Fiber پایه و اساس هرگونه پیشرفتهای آینده و ویژگیهای چارچوب React خواهد بود.[7]
ویژگیهای قابل توجه
DOM مجازی
وقتی صفحه وبی بارگذاری میشود مرورگر یک مدل شی گرا از المان های موجود در صفحه می سازد.این مدل Dom و یا Document Object Model نام دارد. این نمودار یک نمودار درختی از اشیا موجود در صفحه است. برنامه هایی مانند جاوااسکریپت با استفاده از این مدل یک صفحه Html را به صورت پویا ایجاد می کنند.
در تکنولوژیReact.js از مفهومی به نام Dom مجازی (Virtual DOM) استفاده می شود و به این صورت کار میکند که برای هر شی Dom که ویژگی جدیدی قرار است برای آن ساخته شود نیازی نیست که آن شی دوباره ساخته شود بلکه تنها نیاز است که آن ویژگی مورد نظر را تغییر داد و یا افزود.
جیاسایکس (JSX)
جیاسایکس یک نسخه گسترش یافته از جاوااسکریپت است که این امکان را میدهد تا بتوان در کنار کدهای جاوااسکریپت از کدهای اچتیامال نیز بهره برد که به موجب آن کامپوننتهای ریاکت معمولاً در قالب جیاسایکس نوشته میشوند. همچنین ممکن است توسعه دهندگان تنها از جاوااسکریپت خالص استفاده کنند. جیاسایکس مشابه XHP در PHP است.
ریاکت نیتیو(React Native)
ریاکت نیتیو یک کتابخانه قدرتمند جاوااسکریپت است که میتوان با استفاده از آن برای سیستم عاملهای موبایلی ios , android اپلیکیشن ساخت باید توجه داشت که applicationهای ساخته شذه کاملاً native خواهند بود و خبری از applicationهای hybrid نیست
این freamwork بسیار قدرتمند میباشد بهطوریکه بسیاری از شرکتهای بزرگ applicationهای خود را تحت همین فریمورک میسازند
برخی از اپلیکیشنهایی که با ریاکت نیتیو ساخته شدهاند:Instagram - Facebook - Facebook Ads Manager - f8 - Skype , ...
آینده توسعه
وضعیت توسعه پروژه را میتوان در انجمن تیم اصلی توسعه دهندگان آن دنبال کرد.[8] هرچند تغییرات جزئی، مشکلات و درخواست ادغام آن در مخزن آینده ریاکت(Feture of React) دنبال میشوند.
پروژههای زیرمجموعه
وضعیت پروژههای زیرمجموعه ریاکت در صفحه ویکی آن قابل مشاهده است.[9]
نصب ReactJS
شما میتوانید به ۳ روش ری اکت جی اس را نصب کنید اما بهترین راه استفاده از بسته create-react-app است که به راحتی توسط npm قابل نصب میباشد.
برای نصب و استفاده مراحل زیر را توسط npm انجام دهید:
npm install -g create-react-app
create-react-app my-app
cd my-app
npm start
این بسته یک محیط بسیار مناسب برای تولید وب اپلیکیشن توسط ری اکت جی اس را برای شما فراهم میکند.
پانویس
- "Releases - facebook/react". GitHub.
- "React – A JavaScript library for building user interfaces". reactjs.org. Retrieved 2020-08-07.
- «Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews». InfoQ. بایگانیشده از اصلی در ۸ مارس ۲۰۱۶. دریافتشده در ۲۰۱۶-۱۲-۰۳.
- «Open source in 2015: A year of growth». Facebook Code. دریافتشده در ۲۰۱۶-۱۲-۰۳.
- «Bill Fisher's answer to How was the idea to develop React conceived and how many people worked on developing it and implementing it at Facebook? - Quora». www.quora.com. دریافتشده در ۲۰۱۶-۱۲-۰۳.
- «Facebook announces React Fiber, a rewrite of its React framework – TechCrunch». techcrunch.com (به انگلیسی). دریافتشده در ۲۰۱۸-۰۵-۰۴.
- "acdlite/react-fiber-architecture". GitHub. Retrieved 2018-05-04.
- «Meeting Notes». React Discuss. بایگانیشده از اصلی در ۲۲ دسامبر ۲۰۱۵. دریافتشده در ۲۰۱۶-۱۲-۰۴.
- «facebook/react». GitHub. دریافتشده در ۲۰۱۶-۱۲-۰۴.