ری اکت نتیو ( React Native ) یکی از فریمورک های زبان برنامه نویسی جاوا اسکریپت ( javaScript ) میباشد که برای تولید و ساخت اپلیکیشن های واقعی و بومی موبایل به کار برده می شود که با استفاده از ری اکت نتیو ( React Native ) برای سیستم عامل های ios و android میتوان اپلیکیشن تولید کرد. این فریمورک بر اساس یک کتابخانه به نام React میباشد که توسط فیسبوک در جهت کارهای رابط کاربری ساخته شده بود و این بار بجای هدف قرار دادن مرورگرها ، موبایل های هوشمند مد نظر است .
به عبارتی دیگر توسعه دهندگان وب که با جاوا اسکریپت و کتابخانه های آن کار کرده اند ، اکنون به راحتی میتوانند به یک برنامه نویس موبایل برای تولید اپ های android و ios تبدیل شوند و اپلیکیشن های بومی تولید کنند .
از آنجایی که بیشتر کدهای نوشته شده توسط توسعه دهنده برای پلتفرمهای مختلف یکسان است پس توسعه دهنده به راحتی میتواند همزمان اپ های ios و android تولید کند .
در برنامه نویسی با ری اکت نتیو ( React Native ) ، همانگونه که برای وب نیز از React استفاده میشد ، توسعه دهنده کدهای خود را با مخلوطی از کدهای جاوا اسکریپت ( javaScript ) و xml مینویسد که بعنوان JSX شناخته میشود .
در پشت صحنه ری اکت نتیو ممکن است api های رندرینگ مربوط به Objective-C (برای iOS) یا Java (برای Android) بهره گرفته شود ، بنابراین اپ های نوشته شده با کامپوننت های UI واقعی رندر خواهد شد نه با استفاده از WebView ها ! پس برنامه ی شما با برنامه های نوشته شده با زبان های اصلی معرفی شده توسط android یا ios تفاوت خاصی نخواهد داشت .
ری اکت نتیو ( React Native ) با استفاده از زبان جاوا اسکریپت به API های مربوط به پلتفرم دسترسی دارد پس اپ نوشته شده ی شما میتواند به امکانات پلتفرم دسترسی داشته باشد برای مثال دوربین گوشی یا لوکیشن کاربر و ...
ری اکت نتیو ( React Native ) در حال حاضر از دو سیستم عامل ios و android پشتیبانی میکند و پتانسیل این را نیز دارد که در آینده به پلتفرم های دیگر گسترش پیدا کند .
همانطور که میدانید امروزه برنامه نویسی موبایل بصورت کراس پلتفرم از اهمیت بالائی برخوردار است و هر برنامه نویس موبایل با این مورد را مد نظر داشته باشد که ممکن است یک پروژه واحد برای سیستم عامل های گوناگون موبایل داشته باشد .
محبوب ترین سیستم عامل های گوشی های هوشمند در دنیا android و ios است که توسط react native میتوانید برای انها اپلیکیشن تولید کنید .
مزیت های استفاده از ری اکت نتیو ( React Native ) :
1 - استفاده از api های اصلی پلتفرم ها :
از آنجایی که ری اکت نتیو از API های اصلی پلتفرم میزبان جهت رندر کردن اپلیکیشن استفاده میکند ، میتوان گفت یک سر و گردن بالاتر از دیگر ابزارهای کراس پلتفرم تولید اپ ، است .
ابزارهای کراس پلتفرم دیگر مثل Cordova یا Ionic از JavaScript, HTML, و CSS استفاده میکنند ولی نتیجه ی نهائی اپلیکیشن های آنها در یک WebView رندر و تولید میشود .
درست است که اپلیکیشن های تولید شده با این ابزار ها نیز کارآیی دارد ولی در آینده باعث ایجاد مشکلاتی مخصوصا در بخش پرفرمنس اپلیکیشن خواهد بود .
همچنین این ابزارها به api های ui اصلی پلتفرم ها دسترسی نخواهند داشت . همچنین ابزارهای دیگری هستند که از api های اصلی استفاده میکنند مثل فلاتر که در بین ابزارهای توسعه ی اپ های کراس پلتفرم فلاتر و ری اکت نیتیو هر دو جزو مواردی هستند که از api های اصلی بهره میبرند.
وقتی این ابزارها بجای استفاده از api های اصلی پلتفرم ها آنها را شبیه سازی میکنند ، این مهندسی معکوس ممکن است در آینده مشکلات زیادی بوجود بیاورد مثلا در بخش ساخت انیمیشن و ...
2 - جامعه ی زیاد :
توسعه ی ری اکت نتیو ( React Native ) در رویداد hackathon سال 2013 شروع شد . این کار در پاسخ به درخواست جامعه ای از برنامه نویسانی بود که با react کار میکردند و به دنبال ابزاری برای توسعه ی اپ های موبایل بودند . نتیجه ی تلاش های فیسبوک منجر به تولید ری اکت نتیو ( React Native ) شد که توسط تیم تیم فیسبوک نیز پشتیبانی میشود و توسط جامعه ای از برنامه نویسان رو به جلو حرکت میکند .
وجود برنامه نویسانی که با JavaScript کار میکنند ، و همچنین برنامه نویسانی که با react کار کرده بودند باعث شده است که جامعه ی بسیاری از برنامه نویسان برای کدنویسی اپ های موبایل با react native بوجود بیاید .
3 - حداکثر استفاده مجدد از کد و صرفه جویی در هزینه و زمان :
با استفاده از ری اکت نتیو ( React Native ) کدهایی که برای توسعه ی اپلیکیشن های android مینویسید برابر با همان کدهایی هست که برای توسعه ی اپ های ios مینویسید و این به معنی حداکثر استفاده ی مجدد از کدها و صرفه جوئی در زحمت و زمان برنامه نویسان است . بصورت تئوری میتوان گفت که این صرفه جوئی 50% میباشد . طبق تحقیقات انجام شده ، هر برنامه نویس میتواند 90% از کدهای نوشته شده برای android را برای اپ های ios نیز استفاده کند و فقط بخش های کوچکی از کد باید باز نویسی و تغییر پیدا کند . البته ممکن است این زمان و این درصد برای اپ های مختلف و تغیییرات مختلف در اپ ها متفاوت باشد.
4 - نمایش تغییرات بصورت زنده :
ری اکت نتیو ( React Native ) برای ساخت اپ های موبایل بعد از React در نظر گرفته شده است به عبارتی دیگر ری اکت نتیو ( React Native ) براساس ایده های React برای توسعه ی اپ های موبایل ساخته شده است . در حقیقت ری اکت نتیو دارای امکاناتی است که در بسیاری از ابزارهای توسعه ی موبایل نمیتوانید پیدا کنید .
live reload یکی از این ابزارهاست که به شما اجازه میدهد تغییرات را بصورت آنی و زنده ببینید . فرض کنید یک پنجره باز کردید و در حال کدنویسی هستید و یک پنجره ی دیگری دارید که اپلیکیشن را برای تست نمایش میدهد هر انچه که در بخش کدنویسی تغییر میدهید به سرعت در بخش پیش نمایش اپ اعمال میشود و بصورت زنده میتوانید مشاهده کنید .
5 - پرفرمنس بهتر :
معماری React Native بسیار مناسب برای دستگاه های تلفن همراه است . ری اکت نتیو ( React Native ) از GPU (واحد پردازش گرافیکی) استفاده می کند در حالی که دیگر ابزارهای توسعه ی اپ های نتیو ، بیشتر از CPU (واحد پردازش مرکزی) استفاده میکنند . در مقایسه با فن آوری های hybrid ( که تنها گزینه ی توسعه ی اپ های کراس پلتفرم بودند ) ، ری اکت نتیو ( React Native ) بسیار سریعتر است .
6 - ماژولار و معماری بصری قوی مثل React :
یکی از مزایای استفاده از ری اکت نتیو ( React Native ) که قبلا هم درباره ی آن صحبت کردیم و اینجا بصورت شفاف تر به آن میپردازیم .
ماژولار بودن و معماری بصری قوی باعث می شود که توسعه دهندگان دیگر به راحتی با پروژه های شما بتوانند کار کنند . این مزیت باعث شده است که کارهای تیمی با ری اکت نتیو ( React Native ) بهتر پیش رود و همچنین بروزرسانی اپلیکیشن های مربوط به وب سایت ها راحت تر انجام بگیرد .
همچنین افرادی که اپ ها را تست میکنند زمان کمتری را صرف درک منطق برنامه نویسی و سناریو پروژه صرف میکنند .
این به صرفه جویی در وقت منجر می شود و میتواند برای شرکت ها و افراد برنامه نویس موبایل خوشحال کننده باشد .
شروع برنامه نویسی با ری اکت نتیو ( React Native ) :
برای شروع برنامه نویسی با ری اکت نتیو ( React Native ) شما باید محیط کدنویسی خود را آماده کنید که بسته به سیستم عاملی که استفاده میکنید ( مک ، ویندوز ، لینوکس ) باید نرم افزارهای مورد نیاز را دانلود و نصب کنید .
برای شروع ما سعی داریم نحوه ی نصب و آماده سازی محیط کدنویسی برای ویندوز را آموزش دهیم هر چند این مورد برای مک یا لینوکس تفاوت چندانی ندارد .
مراحل زیر را طی کنید :
- ابتدا Node.js و Android Studio را دانلود و نصب کنید . پیشنهاد میکنیم از نسخه های LTS مربوط به Node.js استفاده کنید
- پایتون2 و jdk رو جداگانه نصب کنید
- حالا react native را با دستور زیر نصب کنید :
npm install -g react-native-cli
- حالا SDK های اندروید را دانلود و نصب کنید
حال با دستور زیر میتوانید یک پروژه ری اکت نتیو ( react native ) ایجاد کنید :
react-native init AwesomeProject
پس از ایجاد فولدر پروژه و وصل بودن شبیه ساز اندروید با دستور زیر برنامه شما اجرا میشود :
cd AwesomeProject
react-native run-android
مقالات دیگر مرتبط با این مقاله ی آموزشی :
Flutter یا React Native از دید یک توسعه دهنده ابزارهای توسعه اپلیکیشن های Cross Platform مقایسه بین react Native و Kotlin چطور یک برنامه نویس موبایل شوید ؟ (راهنمای کامل) Sass چیست و با CSS چه ارتباطی دارددوره های آموزشی مرتبط با این مقاله :
سلام باید یک دوره ی آموزشی جامع و کامل فارسی پیدا کنید و باهاش شروع کنید .
سلام این مقایسه قبلا در سایت قرار گرفته است به لینک زیر بروید :
https://avasam.ir/blog/92