یکی از آرزوهای من و شاید خیلی از برنامه نویس ها این بوده که با یادگیری یک زبان برنامه نویسی برنامه هایی بنویسیم که روی پلتفرم های مختلف اجرا بشه. هر چند که تلاش های زیادی تو این زمینه شد ولی هیچکدوم چنگی به دل نزد تا اینکه فیسبوک در ابتدای سال ۲۰۱۳ اولین نسخه stable از یک کتابخونه جاوا اسکریپت رو بصورت open-source روی GitHub منتشر کرد.اسم این کتابخونه ReactJs بود که برای توسعه وب اپلیکیشن ها مورد استفاده قرار میگرفت.این کتابخونه سرعت بسیار بالاو سادگی خاصی داشت که باعث شد خیلی سریع مورد توجه قرار بگیره. اواخر مارچ ۲۰۱۵ بود که فیسبوک یک فریم ورک جدید به اسم React Native منتشر کرد که بهت اجازه میداد فقط با استفاده از جاوا اسکریپت و کتابخونه React اپلیکیشن موبایل برای ios بسازی. فیسبوک شش ماه بعد گام اصلی و محکم رو با انتشار React Native برای Android برداشت . توسعه دهنده ها دیگه مجبور به نوشتن کدهای جداگونه برای سیستم عامل های مختلف نبودن و استارتاپ ها و صاحبان کسب کار به توسعه دهنده هایی دسترسی پیدا کردند که برای هر دو سیستم عامل َAndroid و IOS اپلیکیشن طراحی میکردند.
با React Native یک “mobile web app” ، ” HTML5 app” یا “Hybridapp” نمیسازی.یک اپلیکیشن واقعی موبایل میسازی که از یک برنامه ساخته شده با Objective-c یا Java قابل تشخیص نیست(منظور از برنامه های Native برنامه هایی هست که برای یک سیستم عامل خاص نوشته شده)
یکی از ویژگی های کار با React Native اینکه برای طراحی UI دستت خیلی بازه و با سرعت بالایی میتونی اپلیکیشن هایی با ظاهر زیبا و جذاب طراحی کنی (نمونه بارزش که تقریبا هممون ازش استفاده میکنیم instagram). اگه دوست داری در مورد اپلیکیشن های نوشته شده با react native بدونی میتونی مقاله در مورد ده اپلیکیشنی که با reactnative نوشته شدند رو بخونی.همچنین با استفاده از Node میتونی سمت سرور برنامه نویسی کنی.یک لحظه فکرشو بکن تو داری فقط و فقط با استفاده از جاوا اسکریپت اپلیکیشن Native طراحی میکنی که روی Android و IOS اجرا میشه.
Open-source بودن ReactNative و پشتیبانیش توسط فیسبوک آدم رو خیلی وسوسه میکنه که به سمتش بره(منم پیشنهاد میکنم حتماامتحانش کنید)و اینکه به قول اردلان نقشینه عزیز ،تا چند سال دیگه دنیای IT توسط جاوا اسکریپت تسخیر میشه و چه بهتر که ما هم تو این تسخیر یک سهمی داشته باشیم.
در ادامه چند تا از ویژگی های React Native رو بصورت موردی بیان میکنم:
منبع : reactapp.ir