React Native یک فریم ورک و چارچوب منبع باز (Open source) برای توسعه ی نرم افزارهای تلفن همراه بر اساس جاوا اسکریپت (JavaScriptCore) است که مسیر توسعهی اپلیکیشن های موبایل را کوتاه تر می نماید و در نتیجه زمان کمتری صرف گسترش می شود و کارایی بیشتری دارد. ری اکت نیتیو(React Native)، سیستم عامل های اندروید و iOS را نیز پشتیبانی می کند و کامپوننت های آن مجموعه ای از هر دو سیستم عامل اندروید و iOS هستند و می توانند برای ساخت یک برنامهی تلفن همراه مورد استفاده قرار گیرند. هر چند توسعه دهندگان بر سر دو راهی انتخاب اپ های با تجربه کاربری بهتر یا اپ های با توسعهی سریع تر و قابل استفاده برای پلتفرم های مختلف، مانده اند اما معمولاً افراد، راهی را ترجیح می دهند که منجر به توسعه و گسترش سریع تر اپلیکیشن ها شود و کارایی بالاتری داشته باشد. فریم ورک React Native شرایطی را برای توسعه دهندگان فراهم کرده است که دیگر مجبور نباشند بین دو سیستم عامل اندروید و iOS دست به انتخاب بزنند. همین طور این فریم ورک برای توسعه دهندگانی که به زبان برنامه نویسی جاوا اسکریپت مسلط هستند می تواند یک انتخاب عالی باشد چرا که با استفاده از React Native دیگر نیازی به نوشتن کد های جداگانه برای سیستم عامل های مختلف نیست و به عبارتی لازم نیست برنامه نویسان به چندین و چند زبان برنامه نویسی مسلط باشند. ری اکت نیتیو(React Native) همان طور که از اسمش پیداست به صورت محلی یا Native است و برای سیستم عامل خاصی طراحی شده و قادر است با سرعت بالاتری ساخت سیستم عامل های مختلف را انجام دهد.

اپ های هیبریدی همواره به دنبال راهی برای توسعه ی اپ بر پایه ی وب هستند که در این میان تکنولوژی فریم ورک فیسبوک (Facebook’s React Native) پیشتاز است و هم اکنون دارای اپ محلی برای دو سیستم عامل اندروید و iOS است و در حال توسعه ی اپ های خود می باشد که در ادامه به آن می پردازیم.
چرا و چگونه شرکت فیس بوک از React Native استفاده کرد؟
React Native در سال 2015 توسط شرکت فیسبوک و به منظور رفع نیاز های این کمپانی طراحی شد و سپس توسعه و انتشار یافت و برای سازگاری با پلتفرم هایی نظیر ویندوز یا tvOS توسط توسعه دهندگان به صورت متن باز در اختیار کاربران در سراسر دنیا قرار گرفت. فریم ورک React Native این امکان را فراهم کرد تا با استفاده از زبان برنامه نویسی جاوا اسکریپت و کتابخانه ReactJs IU که پیش تر توسط شرکت فیس بوک برای توسعهی اپلیکیشن های وب ساخته شده بود، برنامه نویسان اقدام به ساخت اپلیکیشن های تلفن همراه برای سیستم عامل iOS نمایند. سپس شرکت فیس بوک توسط همان تیم توسعه دهندهی خود توانست این اقدام را برای سیستم عامل اندروید انجام دهد و بدین ترتیب از ری اکت نیتیو(React Native) برای ساخت یک اپ مدیریت تبلیغات استفاده نمود. درنتیجه به کمک React Native توسعه دهندگان توانستند برای هر دو سیستم عامل اندروید و iOS اپلیکیشن طراحی کنند و در اختیار صاحبان کسب و کار و استارتاپ ها قرار دهند. هم اکنون این کتابخانه قادر به ارائه ی UI موبایل برای هردو پلتفرم اندروید و iOS است.

React Native چه برتری هایی دارد؟
- پیش تر در مورد بعضی مزایای ری اکت نیتیو(React Native) توضیحاتی ارائه نمودیم در این بخش به بررسی سایر مزایای آن می پردازیم.
- همان طور که گفته شد با استفاده از React Native نیازی به یادگیری زبان های برنامه نویسی مختلف نیست چرا که React Native این امکان را فراهم می کند که فقط با استفاده از زبان جاوا اسکریپت و به وسیلهی برخی کامپوننت های رابط محلی UI و API و Design pattern ها اپلیکیشن های موبایل را توسعه داد. ،
- ری اکت نیتیو(React Native) منجر به افزایش سرعت و چابکی در گسترش اپ های هیبریدی محلی یا بومی شده است. به علت اینکه کامپوننت های WebView از میان رفته اند و کامپوننت های اندروید و iOS در ری اکت نیتیو(React Native) نیز وجود دارند، ساختار بلاک های آن می توانند مجدداً مورد استفاده قرار گیرند و به طور مستقیم به حالت native یا محلی تبدیل شوند و بدین ترتیب سرعت و کارایی اپ های محلی را داشته باشند.
- کامپوننت های React Native را می توان به کد اپلیکیشن اضافه نمود و در صورتی که برنامهی مورد نظر با Cordova یا Ionic ساخته شده باشد با استفاده از کد Cordova-base می توان آن را دوباره بازنویسی کرد. React Native دارای کتابخانه هایی مانند Flexnbox CSS و inline styling است که از اپ های موجود در استورها پشتیبانی به عمل می آورند.

- React Native روی کتابخانهی رابط مرکزی (UI) متمرکز است و بارگزاری و لودینگ سریع باعث می شود که با سرعت بیشتری به طراحی اپلیکیشن های زیبا پرداخت به طوری که کاربر هنگام استفاده از آن حس بهتری داشته باشد.
- با استفاده از React Native نیازی به WebView برای انجام کارهای خاص نیست چرا که با سایر پلاگین ها سازگار هستند و منجر به مصرف بهینهی حافظه و افزایش سرعت بارگزاری و اجرای روان تر می شوند به خصوص هنگامی که اپ مورد نظر، موبایل های قدیمی را نیز پشتیبانی کند. اگر برنامه ای مانند Google Maps را به اپ خود وارد کنید می توانید آن را به یک ماژول محلی یا native متصل کرده و کارهایی مانند زوم کردن و استفاده از قطب نما را با حداکثر سرعت و کارایی انجام دهید.
شرکت برنامه نویسی موبی سافت مقاله در مورد بررسی 4 پلتفرم توسعه دهنده ی فریم ورک PhoneGap ،Xamarin ،Flutter و React Native نوشته که برای خواندن این مقاله کافی روی اینجا کلیک کنید.