بررسی اجمالی React

بررسی اجمالی React

785 391 سینا

در مقاله قبلی اشاره کردیم که React یک کتابخانه متن باز جاوا اسکریپتی است که برای پیاده سازی کامپوننت های UI استفاده می شود. تعریف React که در وب سایت رسمی آن ها دیده می شود به این شکل است:

React is a library for building composable user interfaces. It encourages the creation of reusable UI components which present data that changes over time. Lots of people use React as the V in MVC. React abstracts away the DOM from you, giving a simpler programming model and better performance. React can also render on the server using Node, and it can power native apps using React Native. React implements one-way reactive data flow which reduces boilerplate and is easier to reason about than traditional data binding.

همانطور که در این تعریف آمده است یکی از مزایای کامپوننت های ساخته شده توسط ری اکت قابلیت استفاده مجدد آنهاست. همچنین به این نکته اشاره شده است که ری اکت علاوه بر سمت کلاینت می تواند بر روی سرور و توسط Node اجرا شود. علاوه بر آن توسط React Native شما توانایی ساخت اپلیکیشن های موبایل را به صورت Native خواهید داشت. یکی از مزایای React که باعث افزایش سرعت و کارایی برنامه می شود نحوه binding داده ها است که به صورت یک طرفه انجام می شود. (در صورتی که با binding ها آشنایی ندارید نگران نباشید. به زودی و در ادامه آموزش ها با آن ها آشنا خواهید شد.)

امکانات React

  • JSX − افزونه ای است برای زبان جاوا اسکریپت که با استفاده از سینتکس شی گرا کمک زیادی به React کرده است. کدهای نوشته شده توسط JSX در نهایت به کدهای جاوا اسکریپت تبدیل و در مرورگر اجرا می شوند. یکی از مزایای JSX سرعت بالاتر اجرا شدن آن نسبت به کدهای جاوا اسکریپت خام است. همچنین خوانایی برنامه نوشته شده در JSX نیز بیشتر بوده و امنیت آن نیز بالاتر است زیرا بسیاری از ارورها در زمان کامپایل دیده خواهند شد. استفاده از JSX در React ضروری نیست اما به شدت توصیه می شود.
  • کامپوننت ها − جزء اصلی تشکیل دهنده React کامپوننت ها هستند. کامپوننت ها تیکه هایی از کدهای نوشته شده در React هستند که قابلیت استفاده مجدد را دارند.
  • جریان یک طرفه داده ها − جریان یک طرفه داده ها از کامپوننت های پدر به فرزندان یکی از عواملی است که برنامه شما را منظم تر می کند. البته قابلیت جریان دو طرفه نیز با استفاده از مفهوم Flux وجود دارد که معرفی خواهد شد.

مزایای React

  • ری اکت از DOM مجازی جاوا اسکریپتی استفاده می کند که بسیار سریع تر از HTML DOM است.
  • قابلیت اجرا در سمت کلاینت و سرور
  • استفاده از کامپوننت ها و الگوی جریان داده ها باعث افزایش خوانایی و توسعه نرم افزار می شود.
  • استفاده از سایر فریمورک ها در کنار React امکان پذیر است.