ری اکت که اصولا آن را با نام ری اکت جی اس می شناسند یک کتابخونه از نوع داده می باشد که در زبان جاوا اسکریپت وجود دارد ، . حالا سوالی که پیش می آید این است که ری اکت چه کاربردی دارد ؟ در واقع ری اکت برای ساخت رابط کابری برای اپلیکیشن های تک صفححه ای کاربرد دارد .
از دیگر کاربرد های ری اکت می توان گفت که این نوع کتابخونه در زمینه مدیریت لایه وبسایت نیز کاربرد های بسیار مفیدی دارد . در ادامه این مقاله با تاریخچه ری اکت آشنا خواهیم شد و همچنین دلایل محبوبیت و ویژگی های آن را برای شما شرح می دهیم .

قبل از ان که با کاربرد ها و دلایل محبوبیت ری اکت آشنا شوید پیشنهاد می کنم تا ابتدا تاریخچه ان را مطالعه کنید و همچنین سپس به قسمت معرفی آن بروید تا به طور کامل با ری اکت آشنا شوید .

تاریخچه ری‌اَکت
یکی از مهندسین نرم افزار شرکت فیس‌بوک به نام Jordan Walke این کتابخانه را ایجاد کرد، که برای اولین بار در سال 2011 برای ویژگی Newsfeed در فیس‌بوک استفاده شد.

نسخه اولیه (React (V0.3.0 در ماه جولای 2013 منتشر شد.

نسخه فعلی این کتابخانه V16.8.6 است که در مارس 2019 منتشر شد.

 

معرفی ری اکت
در واقع از جمله مهم ترین اهدافی که ری اکت ساخته شد و برنامه نویسان مختلفی از آن استفاده می‌کنند این است که دارای سرعت بسیار بالا و همچنین مقیاس پذیری بسیار عالی این کتابخانه و در عین سادگی کار کردن با آن می باشد. در حالت کلی بیشترین تمرکزی که کتابخانه ری اکت داشته برای رابطه کاربری بوده و در لایه باز دید و در قسمت معماری MVC تطابق بسیار مناسبی ایجاد می نماید. همچنین این کتابخانه را که این قابلیت را دارد تا به آسانی و بدون هیچ دردسری با دیگر کتابخانه‌ها و فریم ورک هایی که در زبان برنامه نویسی جاوا اسکریپت وجود دارند ادغام شده و مورد استفاده قرار گیرد که از جمله مهمت رین این کتابخانه‌ها می‌توان به کتابخانه انگولار Angular اشاره نمود.

 

ویژگی های ری اکت js

سادگی

درک کردن React بسیار ساده است.رویکرد میتنی بر کامپوننت،lifecycle هایی که به بهترین نحو تعریف شده و استفاده از جاوا اسکریپت React را برای یادگیری و ساخت وب اپلیکیشن های حرفه ای آسان می کند.React از یک syntax ویژه با نام JSX  استفاده می کند که اجازه می دهد HTML و جاوا اسکریپت را ترکیب کنید.ضروری نیست که حتما از JSX برای templating  استفاده کنید و برنامه نویس هنوز هم میتواند از جاوا اسکریپت برای اینکار استفاده کند ولی اگر با JSX این کار را انجام دهید،هرگز به دلیل سادگی از جاوا اسکریپت برای templating   استفاده نخواهید کرد.

 

عملکرد
هیچ container از پیش ساخته شده برای dependency ندارد. و می توانید از ماژول‌های Browserify, Require JS, EcmaScript 6 با استفاده از Babel استفاده کنید که به طور خودکار به  dependencies اضافه می شود.

 

ساخت برنامه های Native با React
اگر به React js مسلط باشید به راحتی می توانید با استفاده از کتابخانه React Native اقدام به برنامه نویسی و ساخت اپلیکیشن موبایل کنید اما با این مزیت که میتوانید به راحتی برای دو سیستم عامل موبایل معروف دنیا یعنی اندروید و IOS خروجی بگیرید. این اپلیکیشن ها مانند اپلیکیشن های محلی Native که به صورت برنامه نویسی اندروید با جاوا و برنامه نویسی ios با swift صورت میگیرد بر روی گوشی های موبایل قابل اجرا است. برنامه نویسی اپلیکیشن موبایل با React Native علاوه بر صرفه جویی در زمان باعث کم شدن هزینه می شود. زیرا برای ساخت یک اپلیکیشن ثابت برای اندروید و ios نیاز به 2 متخصص در زمینه برنامه نویسی اندروید و ios دارد، این یعنی صرف هزینه بیشتر! به همین دلیل بسیار مورد استقبال قرار گرفته است و شرکت های زیادی به دنبال استخدام افراد متخصص در این زمینه هستند. البته React Native دارای معایبی هم است که در مقاله ای جداگانه به بررسی مزایا و معایب کتابخانه React Native در سایت هیرود خواهیم پرداخت.

 

کدنویسی اولیه با ری اکت
اینک که توانستیم یک مثال Hello World بنویسیم، می‌توانیم شروع به نوشتن کامپوننت فیسبوک خود بکنیم. ابتدا کمی دموی زیر را بررسی می‌کنیم. ما در سراسر این راهنما از این دمو استفاده خواهیم کرد. می‌توانید همین الان به بررسی کد بپردازید؛ اما اگر از چیز زیادی سر در نیاوردید نباید نگران شوید. دلیل وجود بقیه این راهنما، توضیح همین نکات است. ابتدا با «هارد کد» کردن HTML برای ویجت آغاز می‌کنیم.

نکته: منظور از هارد کد یا کد سخت این است که بخشی از یک برنامه به طرز تغییرناپذیری کدنویسی می‌شود به طوری که دیگر امکان تغییر در آن بخش وجود نخواهد داشت.

 

رویکرد Native
همانطور که در ابتدای مقاله گفتیم React Native بر پایه جاوا اسکریپت و React است. پس تمام ویژگی‌هایی که برای React بیان کردیم در  React Native هم صدق می‌کند. به علاوه کد‌های بین دو پلتفرم Android و IOS مشترک است و کامپوننت‌هایی که می نویسید میتونید در چندین پروژه از آنها استفاده کنید.

 

طراحی سایت با ری اکت در مقابل چارچوب‌های دیگه

به نظر می‌رسه که چارچوب‌های جاوا اسکریپت به سرعت برق و باد ظاهر و ناپدید میشن و مهندسان رو به بحث و جدل درباره اینکه کدوم یکی از اونها بهترینه مشغول می‌کنن. حالا سوال ما اینه که چرا طراحی وبسایت با React متفاوته؟ و مهمتر از همه، چرا ارزش یادگیری داره؟

پاسخ اینه که باید React رو فراتر از محدوده JavaScript در نظر بگیرین. به جای این که به اون فقط به عنوان یک چارچوب فکر کنین، به عنوان راهی برای شکل دادن طرز فکر و خلاقیت خودتون بهش نگاه کنین. React به شما امکان میده پروژه‌های عظیم رو به اجزای کوچک تقسیم کنین. سپس می‌تونین اونها رو با هم ترکیب کنین، دوباره استفاده کنین و به اشتراک بذارین و کاملاً هم با روشی که HTML کار میکنه ادغام میشه.

React تنها یک راه برای اجرای ایده‌های شماست اما یه راه خیلی خیلی محبوب و دوست داشتنی. روش‌های مختلف دیگه‌ای مثل Vue ،Angular و غیره هم وجود داره، اما همه اونها به سمت همون روش تفکر ساختار یافته حرکت می‌کنن.

وقتی که روی React تسلط پیدا کردین، جستجوی تفاوت‌های ظریف اما هوشمندانه بین چارچوب‌های مختلف و انتخاب موردی که برای شما مناسبه، دیگه کار چندان سختی نیست


چرا روزانه بر محبوبیت React js افزوده تر می شود؟
درحالیکه دیگر فناوری هایی مانند Angular در دسترس بودند، هنگامی فیس بوک ری اکت جی اس را توسعه داد که اکثر برنامه نویسان مجبور بودند کدنویسی های زیادی را انجام دهند.

توسعه دهندگان با استفاده از چارچوب های دیگر مجبور بودند برای تغییر کامپوننت های موجود کد های زیادی را اصلاح کنند. چیزی که آنها نیاز داشتند چارچوبی بود که به آنها اجازه دهد پیچیدگی های کامپوننت ها را تجزیه کنند و بتوانند برای راحتی در پروژه و تسریع در انجام آن از آن کامپوننت ها دوباره استفاده کنند.

 

React js راه حلی را ارائه داد که بیشتر توسعه دهندگان به دنبال آن بودند. استفاده از JSX در ترویج ساخت کدهایی که قابل فهم تر است بسیار مفید می باشد و حتی می تواند در یک زمان مشخص چندین کامپوننت را با هم ترکیب کرد. بنابراین امروزه به دلیل سادگی و انعطاف پذیری زیاد React js محبوبیت بسیاری پیدا کرده است. با توجه به آمار مشخص شده به تعداد ۱۳۰۰ توسعه دهنده و ۹۴۰۰۰ وب سایت از React js استفاده می کنند.