React JS از سال 2013 تبدیل به یک پروژه منبع باز (open-source) شد و در حال حاضر توسط برخی از برجستهترین شرکتهای جهان مثل Netflix، Yahoo و Dropbox استفاده میشود.
از آنجایی که بیشتر صاحبان کسب و کار مایل به توسعه وبسایتهایی هستند که در هنگام بارگیری مجدد صفحه اطلاعات تغییر کنند، تقاضا برای توسعهدهندگان React JS به سرعت در حال رشد است. اما کسانی که میخواهند از این کتابخانه استفاده کنند باید با مهمترین جوانب مثبت و منفی آن آشنا شوند. بدون دانستن نقاط قوت و ضعف آن، غیرممکن است که بدانید آیا React JS واقعا برای کار شما بهترین تکنولوژی است یا نه.
مزایای React JS
1. استفاده مجدد از کامپوننت
چرا میخواهید به طور مداوم چرخ را دوباره اختراع کنید، و زمان زیادی را صرف انجام این کار کنید، وقتی میتوانید به سادگی کدی را که قبلا توسط توسعهدهندگان دیگر نوشته و تست شده را مجددا استفاده کنید؟ React JS از کامپوننتها استفاده میکند، که این امکان را برای تقسیم UI به بخشهای مستقل و قابل استفاده مجدد فراهم میکند.
وبسایت رسمی React JS بسیاری از کامپوننتهای رایگان را لیست کرده است، از جمله Chartify، کامپونت ترسیم آماری سبک و قابل تنظیم، Halogen، مجموعهای از انیمیشنهای چرخشی بارگذاری با قابلیت بالای سفارشیسازی، و Material-UI، مجموعهای از کامپوننتهایی که Material Design گوگل را اجرا میکنند.
2. DOM مجازی
DOM (Document Object Model)، رابط برنامهنویسی کاربردی که یک سند XML را به عنوان ساختار درختی در نظر میگیرد که در آن هر گره یک آبجکت است که بخشی از سند را نشان میدهد، ناکارآمد و آهسته است زیرا لازم است که CSS مجددا بررسی شود، طرح مجددا ایجاد شود، و هر بار که DOM تغییر میکند اساسا کل نمای صفحه وب دوباره ساخته میشود.
React JS بر ناکارآمدی DOM با استفاده از DOM مجازی (Virtual DOM) غلبه کرده است. درست مثل DOM واقعی، DOM مجازی همه عناصر و ویژگیهای آنها را به عنوان گره درخت نشان میدهد. وقتی چیزی تغییر کند، React JS، DOM مجازی را آپدیت کرده و متوجه میشود که چه تفاوتی با DOM واقعی دارد، و DOMواقعی را با آنچه که واقعا تغییر کرده است آپدیت میکند.
3. جامعه موفق و پر رونق
از آنجایی که React JS یک کتابخانه open-source است، جامعهای پر جمعیت و گسترده از کاربران و توسعهدهندگان دارد. در گیتهاب، این پروژه دارای بیش از 130000 ستاره است، و بیش از 20000 بار fork شده است (کپی یک ریپازیتوری برای همکاری توسعهدهندگان روی پروژه). توسعهدهندگان مستقل از سراسر جهان به طور مداوم ویژگیهای جدید را پیشنهاد میدهند و باگهای بزرگ و کوچک را رفع میکنند.
از آنجایی که React JS هنوز به مقدار زیادی پروژه فیسبوک محسوب میشود، از پشتیبانی و منابع یکی از موفقترین شرکتهای فناوری در جهان برخوردار است، بنابراین مطلقا هیچ نگرانی در مورد از بین رفتن آن به این زودی وجود ندارد. در واقع محبوبیت React JS در طی سالها به طور پیوسته افزایش یافته است، که خبر خوبی برای هر کسی است که از آن استفاده میکند.
معایب React JS
1. سرعت بالای توسعه
اگر میخواهید بدانید که توسعهدهندگان React JS هنگام استفاده از این کتابخانه جاوااسکریپت برای ساخت برنامههای وب چه احساسی دارند، نقل قول زیر را از Michael Jackson و Ryan Florence (توسعهدهندگان) بخوانید: "در صورتی که شما اطلاع ندارید که ما با دو لاستیک مسطح در حال رانندگی هستیم، کاپوت در مقابل شیشه جلو اتومبیل حرکت میکند و ما هیچ سر نخی از اینکه چه اتفاقی میافتد نداریم!"
در واقع React JS در وضعیتی ثابت است، که با ویژگیهای جدید به صورت منظم معرفی میشود و ویژگیهای قدیمی چندان مورد استفاده قرار نمیگیرند. برخی توسعهدهندگان به طور طبیعی با چنین سرعت توسعه بالایی راحت نیستند و ترجیح میدهند در عوض از تکنولوژیهای توسعه وب کاملتر استفاده کنند.
2. عدم قراردادها
از آنجا که React JS یک کتابخانه نسبتا نوپا است که بسیار فعالانه توسط فیسبوک و همکاری توسعهدهندگان از سراسر جهان توسعه داده میشود، قراردادهای مقرر شده کمی برای آن وجود دارد.
با گذشت زمان، قاعدتا وضعیت تغییر خواهد کرد، اما همه توسعهدهندگان تمایل ندارند تا آن زمان منتظر بمانند. در حال حاضر مستندات React JS معتبرترین منبع از بهترین تمرینهای React JS و قراردادهای آن میباشد.
3. منحنی یادگیری شیبدار
برای یک کتابخانه نسبتا نوپا، React JS بسیار بزرگ است، و مستندات آن دارای منحنی یادگیری با شیت تند میباشد، به خصوص وقتی با کتابخانههای جدیدی مثل Redux و Reflux همراه میشود. شما میتوانید بسیاری از منابع React JS را در اینترنت پیدا کنید، اما چیزی مانند دسترسی به اسناد رسمی و جامع آن وجود ندارد.
جمعبندی
در این مقاله مهمترین مزایا و معایب React JS را بررسی کردیم. این کتابخانه جاواسکریپت در بین افرادی که موفق به غلبه بر منحنی یادگیری شیبدار آن شدهاند و با این واقعیت که این فناوری نوپا به طور مداوم در حال تغییر و بهبود است کنار آمدهاند، بسیار محبوب است.
البته، صاحبان کسب و کار لازم نیست که بیش از حد نگران معایب React JS باشند، زیرا آنها میتوانند به راحتی با یک شرکت توسعه نرمافزار که در این زمینه متخصص است ارتباط برقرار کرده و از همه چیز مراقبت کنند.
نظرات کاربران در رابطه با این دوره