مفهوم بروزرسانی اپلیکیشن در React Native

اگر شما با یک پس زمینه برنامه نویسی از وب به سمت React Native اومدید یا به تازگی برنامه نویسی رو شروع کردید،ممکنه گیج شده باشید که چه کارهایی رو میتونید در توسعه React Native انجام بدید و چه کارهایی رو نمیتونید انجام بدید و سوالاتی از قبیلچه موقع میتونم از over-the-air (OTA) برای بروزرسانی اپلیکیشن استفاده کنم؟چه موقع میتونم از طریق app store اپلیکیشن رو بروزرسانی کنم؟از چه ابزاری میتونم استفاده کنم؟دهنتون رو درگیر کرده باشه.در این مقاله قصد دارم پاسخ این سوال ها رو بدمبخش های متفاوت React Nativeاولین چیزی که در توسعه اپلیکیشن با React Native باید درک کنیم،دو چیز است:کدهای nativeکدهای JavaScriptکدهای native کارهای native رو مدیریت میکنند.این کدها با Objective-C (iOS) یا Java (Android) نوشته شدند و شما به ندرت با این کدها کار میکنید و اگر نیاز به تغییر داشته باشند خیلی جزئی خواهد بود.اگر چه شما به عنوان توسعه دهنده اپلیکیشن زیاد با اون کار نمیکنید به این معنی نیست که یک بخش کوچک از React Native است بلکه یک قطعه بزرگ از پازل است.React Native کدهای جاوا اسکریپت ما را میگیرد و از این منطق برای تعامل با کدهای native استفاده میکند.به طور خلاصه React Native به ما API های native را نشان میدهد.بیشترین زمان توسعه رو شما با کدهای جاوا اسکریپت میگذرونید.شما از API های مختلف که در هسته React Native وجود داره یا از یک کتابخونه جانبی برای تعامل با کدهای native استفاده میکنید.نحوه بروز رسانیاپلیکیشنی که توسعه دادید در app store هست.چجوری میتونید بروزرسانیش کنید؟دو تا راه وجود داره.Over-the-Air (OTA)شما یک بروزرسانی رو برای کاربرانتون ارسال میکنید،کاربران دانلودش میکنند و اپلیکیشن بروزرسانی میشه .OTA یکی از نقطه قوت های React Native است(و تکنولوژی های دیگه ای مثل Cordova).از اونجایی که ما برنامه نویس ها معمولا منطق برنامه رو با جاوا اسکریپت مینویسیم(که کامپایل یا نصب نمیشه)ما میتونیم یک JavaScript bundle جدید برای کاربران بفرستیم که بعد از دانلود باعث میشه اپلیکیشن بروزرسانی بشه.App Storeاگر شما قصد ندارید از روش OTA بروزرسانی رو انجام بدید،شما میتونید برنامه رو با App Store بروزرسانی کنید.برای بروزرسانی برنامه با این روش شما باید از ابزارهایی مثل Tunes Connect یا کنسول Google Play برای آپلود یک فایل جدید ipa. یا apk. استفاده کنید.زمانی شما باید از این روش استفاده کنید که کدهای native رو re-compiling یا کدهای جاوا اسکریپت رو re-bundling کرده باشید.از کدوم روش بروزرسانی استفاده کنم؟بعد از خوندن مطالب بالا شاید این سوال تو ذهنتون به وجود اومده که حالا باید از کدوم روش استفاده کنم؟Over-the-Air (OTA)زمانی که شما یک سری تغییرات در منطق برنامه ایجاد کردید یا یک سری فایل رو در دایرکتوری اصلی بروزرسانی کردید.پس شما میتونید با استفاده از OTA بروزرسانی رو انجام بدید.اگر شما فقط کدهای جاوا اسکریپت یا image assets رو تغییر دادید.به این معنی است که اطلاعات میتونند bundled up بشن و از طریق OTA ارسال بشن چون کلیه API های همون حالت قبلی رو دارن و هیچ تغییری نکردند و فقط نحوه تعامل با آنها فرق کرده.محتاط باشید.از این نقطه قوت باید خیلی محتاطانه استفاده کنید.شما نباید تغییرات قابل توجهی در برنامه ایجاد کنید.شما نباید عملکرد برنامه رو با اضافه کردن یک سری ویژگی ها تغییر بدید.انجام این کار میتونه شما رو با گوگل و اپل دچار مشکل کنه.به نظرمن بهتره زمانی که یک نسخه patch برای برطرف کردن BUG ها نوشتید از این روش استفاده کنید.اگر یک تغییر عمده در برنامه ایجاد کردید بهتره که از طریق پروسه تایید Store بروزرسانی کنید.App Storeزمانی که شما یک سری تغییرات قابل توجهی در برنامه ایجاد کردید باید از این روش استفاده کنید.هر چند که باید یک مدت رو صبر کنید تا به تایید Store برسه و روند خودش رو طی کنه ولی این صبرکردن ارزش داره و البته چاره ای هم نیست.ممکن شما تغییرات قابل توجهی در برنامه ایجاد نکرده باشید ولی کدهای native رو دست کاری کرده باشید.شاید فکر کنید هرگز کدهای native رو دست کاری نمیکنید اما این یک تفکر اشتباهه.ساده ترین حالتش اینکه شما یک کتابخونه به پروژه اضافه کردید پس کدهای native رو تغییر دادید و باید از این روش استفاده کنید.ابزارتا اینجا فهمیدیم که چه زمانی به بروزرسانی نیاز داریم اما چه ابزارهایی وجود داره که زندگی رو راحتتر میکنه؟گزینه های زیادی وجود داره که من ابزارهایی که بهتر و مناسب تر هستند رو معرفی میکنم.OTA Updates = CodePush ابزاری است که توسط Microsoft توسعه داده شده و شما خیلی سریع و راحت میتونید JavaScript bundles رو برزورسانی و مدیریت کنید.کار کردن با این ابزار خیلی راحته،به سادگی تنظیم میشه و رایگانه.این ابزار به طور شگفت انگیزی باورنکردنیه.من به شما پیشنهاد میکنم حتما این ابزار رو پیکربندی کنید حتی اگه قصد ندارید بروزرسانی رو با روش OTA انجام بدید ولی همچنان میتونید برای برطرف کردن bug ها ازش استفاده کنید.Native Updates = Fastlaneکمک میکنه تا خیلی از وظایف تکراری که در هنگام ساختن native app بوجود میاد،خودکاربشه.شما میتونید Fastlane رو به عنوان یک جعبه ابزار درنظر بگیرید که ابزارهای خیلی زیادی داره و میتونید از این ابزارها برای تکمیل پازل React Native استفاده کنید.منبع این نوشته وبلاگ reactapp.ir هستش