React.js چیست؟
توسط Ali Raghimi
امروزه، فریمورکها و کتابخانههای front-end در حال تبدیل شدن به بخشی ضروری از پشته توسعه وب مدرن هستند. React.js یک کتابخانه front-end است که به تدریج به چارچوبی برای توسعه وب مدرن در جامعه جاوا اسکریپت تبدیل شده است.
برای کسانی که در توسعه وب تازه کار هستند، یا سعی می کنند بفهمند این همه هیاهو در مورد چیست، بیایید به React نگاه کنیم، چگونه کار می کند، و چه چیزی آن را از سایر چارچوب های جاوا اسکریپت متمایز می کند.
React.js چیست؟
چارچوب React.js یک چارچوب و کتابخانه منبع باز جاوا اسکریپت است که توسط فیس بوک توسعه یافته است. این برای ساخت رابط های کاربری تعاملی و برنامه های کاربردی وب به سرعت و کارآمد با کد بسیار کمتری نسبت به وانیلا جاوا اسکریپت استفاده می شود.
در React.js، برنامه های خود را با ایجاد اجزای قابل استفاده مجدد توسعه می دهید که می توانید آنها را به عنوان بلوک های مستقل لگو در نظر بگیرید. این مؤلفهها تکههای جداگانه یک رابط نهایی هستند که وقتی مونتاژ میشوند، کل رابط کاربری برنامه را تشکیل میدهند.
نقش اصلی React در یک برنامه کاربردی این است که با ارائه بهترین و کارآمدترین اجرای رندر، لایه نمای آن برنامه را درست مانند V در الگوی مدل-view-کنترلر (MVC) مدیریت کند. React.js بهجای پرداختن به کل رابط کاربری بهعنوان یک واحد واحد، توسعهدهندگان را تشویق میکند تا این رابطهای کاربری پیچیده را به اجزای منفرد قابل استفاده مجدد که بلوکهای ساختمان کل رابط کاربری را تشکیل میدهند، جدا کنند. در انجام این کار، چارچوب ReactJS سرعت و کارایی جاوا اسکریپت را با یک روش کارآمدتر برای دستکاری DOM ترکیب میکند تا صفحات وب را سریعتر ارائه کند و برنامههای وب بسیار پویا و پاسخگو ایجاد کند.
تاریخچهای مختصر از React.js
در سال ۲۰۱۱، فیس بوک پایگاه کاربران گسترده ای داشت و با یک کار چالش برانگیز روبرو بود. می خواست با ایجاد یک رابط کاربری پویاتر و پاسخگوتر که سریع و کارآمدتر بود، تجربه کاربری غنی تری را به کاربران ارائه دهد.
جردن واک، یکی از مهندسان نرم افزار فیس بوک، React را برای انجام این کار ایجاد کرد. React با ارائه روشی سازمان یافته و ساختارمندتر برای ایجاد رابط های کاربری پویا و تعاملی با اجزای قابل استفاده مجدد، فرآیند توسعه را ساده کرد.
فید خبری فیسبوک ابتدا از آن استفاده کرد. با توجه به رویکرد انقلابی خود در دستکاری DOM و رابط های کاربری، React به طور چشمگیری رویکرد فیس بوک به توسعه وب را تغییر داد و پس از انتشار آن در جامعه منبع باز به سرعت در اکوسیستم جاوا اسکریپت محبوب شد.
React.js دقیقا چه کار میکند؟
به طور معمول، شما یک صفحه وب را با تایپ URL آن در مرورگر وب خود درخواست می کنید. سپس مرورگر شما درخواستی برای آن صفحه وب ارسال می کند که مرورگر شما آن را ارائه می کند. اگر روی پیوندی در آن صفحه وب کلیک کنید تا به صفحه دیگری در وب سایت بروید، یک درخواست جدید برای دریافت آن صفحه جدید به سرور ارسال می شود.
این الگوی بارگذاری رفت و برگشت بین مرورگر شما (کلاینت) و سرور برای هر صفحه یا منبع جدیدی که سعی می کنید در یک وب سایت به آن دسترسی پیدا کنید ادامه می یابد. این رویکرد معمولی برای بارگذاری وب سایت ها به خوبی کار می کند، اما یک وب سایت بسیار داده محور را در نظر بگیرید. بارگیری پشت سر هم صفحه وب کامل اضافی خواهد بود و تجربه کاربری ضعیفی ایجاد می کند.
علاوه بر این، هنگامی که داده ها در یک برنامه جاوا اسکریپت سنتی تغییر می کنند، برای منعکس کردن این تغییرات به دستکاری DOM نیاز دارد. باید شناسایی کنید که کدام دادهها تغییر کردهاند و DOM را بهروزرسانی کنید تا آن تغییرات را منعکس کند، که منجر به بارگیری مجدد صفحه میشود.
React با اجازه دادن به شما در ساخت برنامهای که به عنوان یک برنامه تک صفحهای (SPA) شناخته میشود، رویکرد متفاوتی اتخاذ میکند. یک برنامه تک صفحه ای تنها یک سند HTML را در اولین درخواست بارگیری می کند. سپس، بخش، محتوا یا بدنه خاصی از صفحه وب را که نیاز به به روز رسانی با استفاده از جاوا اسکریپت دارد، به روز می کند.
این الگو به عنوان مسیریابی سمت سرویس گیرنده شناخته می شود زیرا مشتری مجبور نیست هر بار که کاربر درخواست جدیدی می دهد صفحه وب کامل را بارگیری مجدد کند تا صفحه جدیدی دریافت کند. در عوض، React درخواست را قطع میکند و تنها بخشهایی را که نیاز به تغییر دارند واکشی و تغییر میدهد، بدون اینکه بارگذاری مجدد صفحه کامل شود. این رویکرد منجر به عملکرد بهتر و تجربه کاربری پویاتر می شود.
React متکی به یک DOM مجازی، یک کپی از DOM واقعی است. DOM مجازی React بلافاصله بارگیری مجدد می شود تا هر زمان که تغییری در وضعیت داده ایجاد شود، این تغییر جدید منعکس شود. پس از آن، React DOM مجازی را با DOM واقعی مقایسه می کند تا بفهمد دقیقاً چه چیزی تغییر کرده است.
سپس React کم هزینه ترین راه را برای وصله DOM واقعی با آن به روز رسانی بدون رندر DOM مجازی پیدا می کند. در نتیجه، کامپوننتها و رابطهای کاربری React به سرعت تغییرات را منعکس میکنند زیرا لازم نیست هر بار که چیزی بهروزرسانی میشود کل صفحه را بارگیری مجدد کنید.
چگونه از React.js استفاده نماییم؟
برخلاف سایر فریم ورکها مانند Angular، React قوانین سختگیرانهای را برای قراردادهای کد یا سازماندهی فایل اعمال نمیکند. این بدان معناست که توسعهدهندگان و تیمها آزادند تا کنوانسیونهایی را تنظیم کنند که مناسبترین آنها باشد و React را هر طور که صلاح میدانند پیادهسازی کنند. با React، به دلیل انعطاف پذیری، می توانید به مقدار لازم یا کمتر از آن استفاده کنید.
با استفاده از React، میتوانید یک دکمه، چند قطعه از یک رابط یا کل رابط کاربری برنامه خود ایجاد کنید. میتوانید به تدریج آن را با یک برنامه کاربردی موجود با مقداری تعامل پذیرفته و ادغام کنید یا بهتر از آن، بسته به نیاز خود، از آن برای ساختن برنامههای قدرتمند React از پایه استفاده کنید.
مثالهایی از کاربرد React.js
React به دلیل توانایی خود در ایجاد برنامه های کاربردی وب سریع، کارآمد و مقیاس پذیر، پایداری و محبوبیت را به دست آورده است. امروزه هزاران برنامه وب، از شرکت های با سابقه تا استارت آپ های جدید، از آن استفاده می کنند. چند اشاره قابل توجه عبارتند از:
فیس بوک
اینستاگرام
نتفلیکس
Reddit
اوبر
Airbnb
مجله نیویورک تایمز
آکادمی خان
کد آکادمی
SoundCloud
اختلاف نظر
واتس اپ وب
React همچنین قویتر شده است و اکنون میتوان از آن برای ساخت برنامههای موبایل بومی با استفاده از برنامههای React Native و Desktop با استفاده از Electron.js استفاده کرد.
شروع کار با React.js
این مقاله React.js را معرفی کرد، تاریخچه آن را ارائه کرد و نشان داد که چگونه React قابلیتهای جاوا اسکریپت را گسترش میدهد. این مقاله با چند نمونه واقعی از برنامه های محبوب ساخته شده با استفاده از React.js به پایان رسید.
React عملکردهای پیشرفته ای را ارائه می دهد و یک انتخاب عالی برای توسعه دهندگانی است که به دنبال یک چارچوب جاوا اسکریپت با کاربری آسان و بسیار کارآمد هستند. با استفاده از React، می توانید تعاملات UI پیچیده ای ایجاد کنید که با صفحات جاوا اسکریپت در زمان رکورد با سرور ارتباط برقرار می کند. با بارگذاری های غیرضروری تمام صفحه خداحافظی کنید و با React شروع به ساختن کنید.
مقالههای بیشتر در :
پست های توصیه شده
Power Delivery چیست؟
26 شهریور, 1402
AnyDesk چیست؟
24 شهریور, 1402
برنامه های تبدیل صدا به متن
23 شهریور, 1402