post

مقایسه React native و PhoneGap

React Native VS Phonegap

React native و Phonegap برای ساخت اپلیکیشن موبایل با استفاده از javascript دو رویکرد کاملاً متفاوت دارند. React native بر مبنای یک پل (bridge) مابین پلتفرم native و JS طراحی شده است، این مکانیزم اجازه می دهد که به جای webview کامپوننت های واقعاً native رندر شوند. این مساله موجب میشود که امکانات بسیار بیشتری برای برنامه نویسی فراهم شود چرا که با استفاده از bridge به بخش بزرگی از API های Android و یا IOS دسترسی داریم. این مکانیزم تفاوت میان اپلیکیشن های native و JS را کم کرده و مزایای بزرگی ایجاد می کند:
  • اپلیکیشن های تولید شده سریعتر و بهینه تر هستند چرا که به جای webview کامپوننت های native را رندر می کنند.
  • اپلیکیشن تولید شده بیش از آنکه شبیه به یک اپلیکیشن تحت وب ریسپانسیو باشد شباهت زیادی به native app خواهد داشت

برخی از معایب

  • شما باید از React استفاده کنید
  • شما نمی توانید از HTML استفاده کنید بلکه باید از native componentها استفاده کنید
  • از آنجا که این تکنولوژی بر اساس bridge طراحی شده است، لذا شما باید به ازای هر پلتفرم یک اپلیکیشن بنویسید (برخی از کامپوننت ها مختص به یک پلتفرم هستند)
در مقابل PhoneGap/Cordova مکانیزم متفاوتی دارد به نحوی که یک اپلیکیشن HTML/CSS/JS را در یک webview رندر می کند. با این روش شما این امکان را خواهید داشت که از هر فریم ورک و یا کتابخانه JS برای ساخت اپلیکیشن خود بهره ببرید. همچنین شما قادر خواهید بود به کامپوننت های دستگاه خود با استفاده از navigator API دسترسی داشته باشید.

مزایای اصلی

  • استفاده از هر فریم ورک و یا کتابخانه ی دلخواه
  • یک بار نوشتن اپلیکیشن و استفاده از آن بر روی همه پلتفرم ها

معایب:

  • سرعت کم اپلیکیشن های تولید شده. که البته در ماه های اخیر این موضوع نیز تا حد زیادی برطرف گردیده است.
در نهایت می توان اینگونه نتیجه گرفت که React native برای افرادی که تجربه و دانش استفاده از React را دارند یک انتخاب مناسب می باشد. ولی برای افراد ناآشنا با آن PhoneGap انتخاب مناسب تری خواهد بود.