ری‌اکت

از ویکی‌پدیا، دانشنامهٔ آزاد
ری‌اکت
React-icon.svg
نویسنده(های)
اصلی
جردن واک
توسعه‌دهنده(ها)فیس‌بوک، اینستاگرام و انجمن
انتشار ابتداییمارس ۲۰۱۳؛ ۸ سال پیش (۲۰۱۳-۰۳)
انتشار پایدار
۱۶٫۲٫۰
۲۸ نوامبر ۲۰۱۷؛ ۴ سال پیش (۲۰۱۷-۱۱-28)[۱]
مخزن
نوشته‌شده باجاوااسکریپت
بن‌سازه رایانشچندسکویی
حجم109 KiB production
710 KiB development
گونهکتابخانه جاوااسکریپت
پروانهپروانه ام‌آی‌تی
وبگاه

ری‌اکت (که به صورت React.js یا ReactJS نیز خوانده می‌شود)، یک کتابخانه[۲] متن‌باز جاوااسکریپت برای ساخت رابط‌های کاربری و اجزای(Component) صفحات وب است.

این کتابخانه توسط فیس‌بوک و جامعه‌ای از توسعه‌دهندگان و شرکت‌ها به صورت انفرادی توسعه و نگه‌داری می‌شوند.[۳] براساس آنالیزهای جاوااسکریپت سرویس لیبسکور، ری‌اکت در حال حاضر در سایت‌های نت‌فلیکس، ایمجر، بلیچر رپورت، فیدلی، ایر بی‌ان‌بی و … مورد استفاده قرار می‌گیرد.

به دلیل بهینه بودن ری‌اکت برای دریافت اطلاعاتی که با سرعت تغییر می‌کنند، می‌توان از آن برای توسعه برنامه تک‌صفحه‌ای(SPA) یا برنامه‌های موبایل استفاده کرد. هرچند دریافت اطلاعات، ابتدایی‌ترین بخش در یک صفحهٔ وب است و برنامه‌های پیچیده ری‌اکت معمولاً به کتابخانه‌های اضافه‌ای برای مدیریت وضعیت (state management), مسیریابی (URL mapping)، و اتصال به رابط برنامه‌نویسی کاربردی (API) نیاز دارند.

ری‌اکت و ری‌اکت نیتیو(React Native) از جمله پروژه‌های متن‌باز شرکت فیس‌بوک هستند که در صدر محبوب‌ترین پروژه‌های وبگاه گیت‌هاب قرار دارند.[۴]

تاریخچه

ری‌اکت توسط جردن واک، یک مهندس نرم‌افزار در فیس‌بوک، ساخته شده‌است. او از XHP که یک چارچوب فریم‌ورک HTML برای PHP است، تأثیر گرفته‌است.[۵] اولین نسخه‌ای که او در سال ۲۰۱۱ توسعه داد در بخش اخبار فیس‌بوک و بعدها در سال ۲۰۱۲ در سرویس اینستاگرام مورد استفاده قرار گرفت. در سال ۲۰۱۳ در جریان کنفرانس آمریکا JSConf این کتابخانه متن‌باز اعلام شد.

ReactNative، که امکان توسعه برنامه‌های مبتنی بر Android, IOS و UWP را با React فراهم می‌کند، در فوریه ۲۰۱۵ در React.js Conf فیسبوک معرفی شد و در مارس ۲۰۱۵ به صورت رایگان عرضه شد.

در ۱۸ آوریل ۲۰۱۷ فیسبوک اعلام کرد React Fiber، یک الگوریتم اصلی جدید React library برای ایجاد رابط کاربری است.[۶] React Fiber پایه و اساس هرگونه پیشرفتهای آینده و ویژگیهای چارچوب React خواهد بود.[۷]

ویژگی‌های قابل توجه

جریان داده‌ای یک سویه

DOM مجازی

وقتی صفحه وبی بارگذاری می‌شود مرورگر یک مدل شی گرا از المان‌های موجود در صفحه می‌سازد. این مدل Dom یا Document Object Model نام دارد. این نمودار یک نمودار درختی از اشیا موجود در صفحه است. برنامه‌هایی مانند جاوااسکریپت با استفاده از این مدل یک صفحه Html را به صورت پویا ایجاد می‌کنند.

در تکنولوژیReact.js از مفهومی به نام Dom مجازی (Virtual DOM) استفاده می‌شود و به این صورت کار می‌کند که برای هر شی Dom که ویژگی جدیدی قرار است برای آن ساخته شود نیازی نیست که آن شی دوباره ساخته شود بلکه تنها نیاز است که آن ویژگی مورد نظر را تغییر داد یا افزود.

جی‌اس‌ایکس (JSX)

جی‌اس‌ایکس یک نسخه گسترش یافته از جاوااسکریپت است که این امکان را می‌دهد تا بتوان در کنار کدهای جاوااسکریپت از کدهای اچ‌تی‌ام‌ال نیز بهره برد که به موجب آن کامپوننت‌های ری‌اکت معمولاً در قالب جی‌اس‌ایکس نوشته می‌شوند. همچنین ممکن است توسعه دهندگان تنها از جاوااسکریپت خالص استفاده کنند. جی‌اس‌ایکس مشابه XHP در PHP است.

معماری فراتر از HTML

ری‌اکت نیتیو(React Native)

ری‌اکت نیتیو یک کتابخانه قدرتمند جاوااسکریپت است که می‌توان با استفاده از آن برای سیستم عامل‌های موبایلی ios , android اپلیکیشن ساخت باید توجه داشت که applicationهای ساخته شذه کاملاً native خواهند بود و خبری از applicationهای hybrid نیست

این freamwork بسیار قدرتمند می‌باشد به‌طوری‌که بسیاری از شرکت‌های بزرگ applicationهای خود را تحت همین فریمورک می‌سازند

برخی از اپلیکیشن‌هایی که با ری‌اکت نیتیو ساخته شده‌اند:Instagram - Facebook - Facebook Ads Manager - f8 - Skype , ...

آینده توسعه

وضعیت توسعه پروژه را می‌توان در انجمن تیم اصلی توسعه دهندگان آن دنبال کرد.[۸] هرچند تغییرات جزئی، مشکلات و درخواست ادغام آن در مخزن آینده ری‌اکت(Feture of React) دنبال می‌شوند.

پروژه‌های زیرمجموعه

وضعیت پروژه‌های زیرمجموعه ری‌اکت در صفحه ویکی آن قابل مشاهده است.[۹]

توافق‌نامه مجوز مؤلف فیس‌بوک

فیس‌بوک مشارکت کنندگان ری‌اکت را مجاب به پذیرش توافق‌نامه مجوز مؤلف می‌داند

نصب ReactJS

شما می‌توانید به ۳ روش ری اکت جی اس را نصب کنید اما بهترین راه استفاده از بسته create-react-app است که به راحتی توسط npm قابل نصب می‌باشد.

برای نصب و استفاده مراحل زیر را توسط npm انجام دهید:

npm install -g create-react-app
create-react-app my-app

cd my-app
npm start

این بسته یک محیط بسیار مناسب برای تولید وب اپلیکیشن توسط ری اکت جی اس را برای شما فراهم می‌کند.

[منبع]

پروانه نرم‌افزاری

پانویس

  1. "Releases - facebook/react". GitHub.
  2. "React – A JavaScript library for building user interfaces". reactjs.org. Retrieved 2020-08-07.
  3. «Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews». InfoQ. بایگانی‌شده از اصلی در ۸ مارس ۲۰۱۶. دریافت‌شده در ۲۰۱۶-۱۲-۰۳.
  4. «Open source in 2015: A year of growth». Facebook Code. دریافت‌شده در ۲۰۱۶-۱۲-۰۳.
  5. «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. دریافت‌شده در ۲۰۱۶-۱۲-۰۳.
  6. «Facebook announces React Fiber, a rewrite of its React framework – TechCrunch». techcrunch.com (به انگلیسی). دریافت‌شده در ۲۰۱۸-۰۵-۰۴.
  7. "acdlite/react-fiber-architecture". GitHub. Retrieved 2018-05-04.
  8. «Meeting Notes». React Discuss. بایگانی‌شده از اصلی در ۲۲ دسامبر ۲۰۱۵. دریافت‌شده در ۲۰۱۶-۱۲-۰۴. بیش از یک پارامتر |پیوند بایگانی= و |archiveurl= داده‌شده است (کمک); بیش از یک پارامتر |تاریخ بایگانی= و |archivedate= داده‌شده است (کمک)
  9. «facebook/react». GitHub. دریافت‌شده در ۲۰۱۶-۱۲-۰۴.