بررسی جوانب مثبت و منفی React JS
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 6 دقیقه

بررسی جوانب مثبت و منفی React JS

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

React در سال 2011 توسط یک مهندس نرم‌افزار Facebook به نام Jordan Walke نوشته شد، که می‌خواست سرعت جاوااسکریپت را با رویکردهای جدید رندرگیری ترکیب کند تا وبسایت‌ها نسبت به ورودی‌های کاربر پاسخگو (responsive) و پویاتر شوند. 

از سال 2013، React JS یک پروژه متن‌باز شده است و امروزه تعدادی از شرکت‌های برجسته در دنیا مثل Netflix، Yahoo و Dropbox از آن استفاده می‌کنند. 

به دلیل اینکه تعداد زیادی از صاحبان تجارت می‌خواهند وبسایت‌هایشان را طوری توسعه دهند که بتوان داده‌ها را هنگام بارگذاری صفحات تغییر داد، تقاضا برای توسعه‌دهندگان React JS به‌سرعت رو به افزایش است، اما همه‌کسانی که می‌خواهند از این کتابخانه جاوااسکریپت استفاده کنند، درکی از مهم‌ترین جوانب مثبت و منفی آن ندارند. 

بدون دانستن نقاط ضعف و قوت آن تقریباً غیرممکن است که متوجه شویم React JS واقعاً بهترین فنّاوری برای کار ما هست یا نه.

در این مقاله از سایت راکت با ما همراه باشید تا به بررسی این جوانب بپردازیم.

جوانب مثبت React JS

۱. استفاده مجدد از Componentها

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

React JS اصطلاحاً اجزایی را به کار می‌برد که با استفاده از آنها می‌توان UI را به‌صورت مستقل ساخت و از هر بخش مجدداً استفاده کرد و در مورد هر بخش به‌صورت جداگانه فکر کرد.

وبسایت رسمی React JS تعداد زیادی از اجزای رایگان را لیست کرده است، شامل Chartify که یک جزء نموداری سبک و قابل تنظیم است، Halogen که یک مجموعه از انیمیشن‌های نشانگر در حال بارگذاری است و Material-UI که یک مجموعه از اجزایی است که از ابزار طراحی گوگل استفاده می‌کند.

۲. DOM مجازی

مدل شی داکیومنت (DOM)، یک رابط برنامه‌نویسی کاربردی است که فایل‌های داکیومنت XML را در قالب یک ساختار درختی ارائه می‌کند، که در آن هر گره یک شی است که نمایانگر بخشی از مستندات می‌باشد؛ البته به دلیل اینکه هر بار که DOM تغییر می‌کند، CSS مجدداً اجرا می‌شود، لایه‌ها دوباره ساخته می‌شوند و دوباره کل صفحات وب اِستایل‌دهی می‌شوند، DOM به‌اندازه کافی مناسب نیست و کند است.

React JS بر ضعف‌های DOM با استفاده از DOM مجازی غلبه کرد. درست مثل DOM واقعی، DOM مجازی تمام اِلِمان‌ها و ویژگی‌های آنها را به‌عنوان درختی از گره‌ها ارائه می‌کند. زمانی که چیزی تغییر می‌کند، DOM، reactjsمجازی را به‌روزرسانی می‌کند و تفاوت‌های آن را با DOM واقعی مشخص می‌کند، سپس DOM واقعی را تنها با اعمال تغییرات واقعی اِلِمانها به‌روز رسانی می‌کند.

3. جامعه متن‌باز گسترده

به دلیل اینکه React JS یک کتابخانه متن‌باز است، مجموعه‌ای بزرگ و پررونق از کاربران و توسعه‌دهندگان از آن استفاده می‌کنند.

React Js در GitHub، بیشتر از 13۰000 ستاره دارد و بیشتر از 20000 بار fork شده است. 

توسعه‌دهندگان مستقل از سرتاسر جهان به‌طور مداوم ویژگی‌های جدید این کتابخانه را بررسی می‌کنند و نقایص آن را برطرف می‌کنند.

از آنجایی‌که React JS هنوز هم تا حد زیادی یک پروژه Facebook است، از حمایت و منابعِ یکی از موفق‌ترین کمپانی‌های فنّاوری در جهان برخوردار است، بنابراین قطعاً هیچ دلیلی برای نگرانی از اینکه ممکن است به این زودی از بین برود، وجود ندارد. 

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

جوانب منفی React JS

1. سرعت‌ بالای توسعه

اگر می‌خواهید بدانید که توسعه‌دهندگان React JS گهگاه چه احساسی زمان کار کردن با کتابخانه‌ی جاوااسکریپت خودشان برای ساخت نرم‌افزارهای وب‌دارند، کافی است که پرسش و پاسخ کوتاه زیر را از دو توسعه‌دهنده به نام‌های Michael Jackson و Ryan Florence بخوانید: 

 "در آن بخشی که کاربران مشاهده نمی‌کنند، گویی ما در حال رانندگی با ماشینی هستیم که دو لاستیک صاف دارد و کاپوت، در مقابل شیشه جلوی ماشین مدام به سمت بالا میرود و ما هیچ سرنخی ازآنچه اتفاق می‌اُفتد، نداریم!" 

در حقیقت React JS در یک جایگاه ثابتی است با ویژگی‌های جدیدی که به‌صورت اصول منظم معرفی می‌شوند و ویژگی‌های قدیمی که کنار گذاشته می‌شوند. 

بعضی از توسعه‌دهندگان به‌طور طبیعی با این سرعت ‌بالای پیشرفت احساس راحتی نمی‌کنند و ترجیح می‌دهند که بجای آن از فنّاوری‌های توسعه یافته بالغ‌ترِ وب استفاده کنند.

2. عدم وجود قرارداد

چون React JS یک کتابخانه نسبتاً جدید است که خیلی فعالانه توسط Facebook و افراد دیگری از سراسر جهان توسعه‌یافته است، قراردادهای منتشر شده خیلی کمی از آن وجود دارد و آنهایی هم که وجود دارند مثل ساختار جزئی، پشتیبان‌ها و امتیازات موقعیتی متعلق به Facebook هستند. 

باگذشت زمان این شرایط به‌طور غیرقابل‌ اجتنابی تغییر خواهد کرد اما تمام توسعه‌دهندگان مشتاق این نیستند که صبر کنند تا شرایط به حالت عادی برگردد و React JS که توسط 10 تا از توسعه‌دهندگان مختلف به وجود آمده است، ازنظر مجازی غیرقابل تشخیص به نظر می‌رسد. 

در حال حاضر مستندات React JS به‌طور قابل ‌بحثی معتبرترین منبع از بهترین عملکردها و قراردادهای React JS هستند که وجود دارد.

3. منحنی یادگیری با شیب تند

برای یک کتابخانه نسبتاً جدید، React JS تا حد زیادی بزرگ است و مستندات آن درخشان هستند. در واقع مطالب الهام بخشی دارد بخصوص زمانی که در قالب کتابخانه‌های جدید مثل Redux و Reflux باشد. 

بله شما می‌توانید منابع زیادی از React JS در اینترنت پیدا کنید اما هیچ‌ چیزی مثل دسترسی داشتن به مستندات جامع رسمی نیست.

سخن‌ پایانی

در پایان، بعد از بررسی مهم‌ترین جوانب مثبت و منفی React JS می‌توانید متوجه شوید که چیزهای زیادی از این کتابخانه محبوب جاوااسکریپت برای ساختن رابط کاربری وجود دارد که می‌توان آن را به این افراد پیشنهاد داد: 

" کسانی که می‌خواهند بر منحنی یادگیری با شیب تند آن فائق آیند و همچنین کسانی که با این واقعیت که یک فناوری جدید و در حال تغییر و بهبود است، کنار بیایند." 

البته صاحبان تجارت لازم نیست خودشان را زیاد در رابطه با جوانب منفی React JS نگران کنند، چون آنها به‌سادگی می‌توانند با یک شرکت در بخش نرم‌افزار که در این زمینه تخصص دارد، ارتباط برقرار کنند و از آن‌ها بخواهند که از همه‌چیز محافظت کنند.

اگر مایل به یادگیری React Js هستید، می‌توانید دوره‌ی بازتولید آنرا در این لینک مشاهده کنید.

منبع

 
 
 
 

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

/@alireza.mzh
علیرضا معمارزاده
junior level developer

Student of Software Engineering, python Developer, i love programming and game

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

علیرضا معمارزاده

junior level developer

مقالات برگزیده

مقالات برگزیده را از این قسمت میتوانید ببینید

مشاهده همه مقالات