Posted on نوشتن کامنت

React.js چیست؟

react native

در این مقاله، ما یاد خواهیم گرفت که React.js چیست و چرا باید از React.js به جای دیگر چارچوب های جاوااسکریپت مانند Angular.js استفاده کنی.

حالا پاسخ به سوال

React.jsاساسا یک کتابخانه جاوا اسکریپت متن باز است که برای ساختن رابط کاربری مخصوص برای برنامه های یک صفحه ای استفاده می شود. از آن برای مدیریت لایه های نمایشی برای برنامه های وب و تلفن همراه استفاده می شود. React همچنین ما را قادر می سازد تا اجزای UI قابل استفاده مجدد را ایجاد کنیم. React ابتدا توسط Jordan Walke ، که یک مهندس نرم افزار در Facebook است ساخته شد . برای اولین بار در ماه فوریه ۲۰۱۱ در Facebook و در Instagram.com در سال ۲۰۱۲ به کار برده می شود.

Jordan Walke
Jordan Walke

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

ویژگی های ReactJS چیست؟

اجازه دهید نگاهی دقیق تر به ویژگی های مهم React داشته باشیم.

  • JSX

در TReact به جای استفاده از جاوااسکریپت معمولی برای قالب، از JSX استفاده می کند. JSX یک جاوا اسکریپت ساده است که به HTML اجازه می دهد که رندر و با استفاده از این تگ های HTML کامپوننت های زیرین را تولید می کند. متن HTML به درخواستهای جاوااسکریپت از React Framework پردازش می شود. ما همچنین می توانیم آن با جاوا اسکریپت خالص بنویسیم.

  • React Native

React دارای کتابخانه های native است که توسط Facebook در سال ۲۰۱۵ اعلام شد، که معماری React را به برنامه های native مانند IOS، Android و UPD ارائه می دهد.

  • Single-Way data flow

در React، مجموعه ای از مقادیر غیر قابل تغییر توسط رندر کامپوننت ها به عنوان خواص در تگ های HTML اضافع می شود. کامپوننت نمی تواند به طور مستقیم هر گونه خواص را تغییر دهد، اما می تواند به یک تابع call back پاس دهد تا با کمک کند تا تغییرات را انجام دهدیم. این فرایند کامل به عنوان “خواص جریان به سمت پایین، اکشن ها جریان به سمت بالا ” شناخته شده است.

properties flow down; actions flow up

properties flow down; actions flow up
  • Virtual Document Object Model

React با ایجاد ساختمان داده in-memory تغییرات را انجام می دهد و مرورگر را به روز می کند. این امر اجازه می دهد تا تنها کامپوننتی که تغییر کرده رندر شود.

چرا React.js

در حال حاضر، سوال اصلی در مقابل ما است که چرا باید از ReactJS استفاده کنید. بسیاری از پلتفرم های اپن سورس برای ساده تر شدن توسعه برنامه های کاربردی وب در فرانت-اند مانند Angular وجود دارkد. بگذارید نگاهی سریع به مزایای React نسبت به سایر فن آوری های رقیب یا فریمورک ها بیندازیم. با توجه به این که هر روز در جهان فرانت-اند در حال تغییر است، وقت آن فرا رسیده است تا یادگیری یک فرانت-اند جدید – مخصوصا زمانی که این چارچوب در نهایت می تواند یک نقطه پایان باشد. را با تمام قوا آغاز کنید. بنابراین، اگر شما به دنبال بهترین چیز بعدی هستید، اما کمی احساس می کنید که در جنگل فریمورک ها گم شده اید، پیشنهاد می کنم که React را یاد بگیرید.

  • Simplicity

درک ReactJS ساده است. رویکرد مبتنی بر کامپوننت، چرخه زندگی به خوبی تعریف شده و استفاده ساده از جاوا اسکریپت، یادگیری React را بسیار ساده کرده است، همچنین ایجاد یک وب سایت حرفه ای (و برنامه های کاربردی تلفن همراه)، و پشتیبانی از آن را. React با استفاده از یک زبان خاص به نام JSX به شما اجازه می دهد تا HTML را با جاوا اسکریپت ترکیب کنید. این نیاز الزامی نیست، برنامه نویس هنوز هم می تواند از جاوا اسکریپت استفاده کند اما JSX خیلی ساده تر از آن است.

  • Easy to learn

هر کسی که دانش پایه قبلی در برنامه نویسی دارد، می تواند به راحتی React را درک کند، در حالی که Angular و Ember به عنوان ‘Domain specific Language’ نامیده می شود، و این بدان معنی است که یادگیری آنها دشوار است. برای React شما فقط نیاز به دانش پایه ای از CSS و HTML دارید.

  • Native Approach

React می تواند برای ایجاد برنامه های تلفن همراه (React Native) استفاده شود. و React یک طرفدار قوی از قابلیت استفاده مجدد است، بنابراین به صورت هم زمان می توانیم IOS، Android و نرم افزار وب را ایجاد کنیم.

  • Data Binding

React استفاده از one-way data binding و یک معماری به نام Flux کنترل جریان داده ها به اجزاء را از طریق یک نقطه کنترل – dispatcher- کنترل می کند. این امر اشکال زدایی اجزای موجود در برنامه های ReactJS بزرگ را ساده می کند.

  • Performance

React نشان می دهد هیچ یک از موضوعات  built-in container را برای وابستگی ارائه نمی دهد. شما می توانید از ماژول های Browserify، EcmaScript 6 با کمک Babel و ReactJS-di  استفاده کنید تا وابستگی ها را به طور خودکار تزریق کنید.

  • Testability

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

امیدوارم از این مقاله لذت برده باشید. در مقاله بعدی، ما در مورد تفاوت بین React و Angular صحبت و آن را تجزیه و تحلیل خواهیم کرد که کدام یک بهتر است و چرا. بنابراین، تا مقاله بعدی با من بمانید.

برای اطلاعات بیشتر درباره MVC اینجا را بخوانید.

منبع

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *