Table of Contents
پرونده کسب و کار برای سرعت App
در توسعه برنامه های تلفن همراه، اولین برداشت ها در میلی ثانیه اندازه گیری می شود.تحقیقات به طور مداوم نشان می دهد که یک تاخیر یک ثانیه در استارت آپ برنامه می تواند حفظ کاربر را با درصد قابل اندازه گیری کاهش دهد. React Native، در حالی که ارائه بهره وری متقابل پلت فرم، چالش های عملکردی منحصر به فرد را به فرد به دلیل پل جاوا اسکریپت، معماری بسته بندی شده و تعاملات بارگذاری زمان بارگذاری کاربر، اطمینان از بارگذاری برنامه های کاربر، سرعت تبدیل نرم افزار های کاربر، و بارگذاری برنامه های زمان تبدیل نرم افزاری ساده، سرعت مرورگر را کاهش می دهد.
درک عوامل موثر بر زمان
قبل از استفاده از بهینه سازی، مهم است که درک کنید که چه اتفاقی در زمان بارگذاری برنامه رخ می دهد، زمان بارگذاری شامل چندین مرحله است: اولیه بومی سازی، تنظیم موتور جاوا اسکریپت، تنظیم بسته بندی و اجرای، رندر اولیه و جمع آوری داده ها.
- اندازه و پیچیدگی: یک بسته جاوا اسکریپت بزرگتر طول می کشد تا تجزیه و اجرا شود. واردات بدون استفاده، کتابخانه های بزرگ و دارایی های خط همه کمک به نفخ.
- کار موضوعی JavaScript: موضوع اصلی باید کل نقطه ورود برنامه خود را قبل از UI می تواند رندر کند.
- ارتباطات Bridge: پل React Native به عنوان ناهمگن و ماژول های بومی است که نیاز به تماس های همزمان یا انتقال داده های سنگین می تواند توالی استارت آپ را متوقف کند.
- بارگذاری: تصاویر، فونت ها و دیگر منابع استاتیک در شبکه یا بارگذاری شده از تأخیر دیسک اضافه، به ویژه اگر آنها برای دستگاه هدف بهینه سازی نشده اند.
- درخواست های شبکه: اگر برنامه شما داده های پیکربندی، توکن های کاربر، یا محتوای اولیه را در طول راه اندازی، پاسخ های آهسته اولین رنگ معنی دار را به تاخیر می اندازد.
درک این اهرم ها به شما اجازه می دهد بهینه سازی هایی را که بیشترین تاثیر را بر برنامه خاص شما دارند اولویت بندی کنید.
اندازه گیری و نظارت بر بار تایمز
شما نمی توانید آنچه را که اندازه گیری نمی کنید، بهینه سازی کنید. مانیتور و ابزار اشکال زدایی برای پیگیری مدت زمان استارت آپ، در نظر بگیرید با استفاده از پروفایل سفارشی با یا راه حل های شخص ثالث مانند [F] نظارت بر زمان عملکرد (شکل) و اندازه گیری زمان واقعی (شکل 5)
- شروع سرد: زمان از استفاده از آیکون به اولین فریم ارائه شده است.
- زمان تعاملی: هنگامی که برنامه به طور کامل به ورودی کاربر پاسخگو است.
- دانلود و زمان پارو (در صورت استفاده از به روز رسانی های بیش از حد هوا)
برای یک شیرجه عمیق تر، به رسمی (FLT:0) مراجعه کنید تا اسناد عملکرد بومی را فعال کنید.
استراتژی های کلیدی برای بهینه سازی React Native Load
کاهش اندازه JavaScript
از جمله این که می توانید به صورت مستقیم به آن ها توجه کنید، با استفاده از ابزارهایی مانند (FLT:0) با استفاده از بسته های جاوا اسکریپت خود را کوچک کنید. بسته های استفاده نشده را حذف کنید و کتابخانه های سنگین را با گزینه های سبک تر جایگزین کنید (به عنوان مثال، یک کتابخانه کامل برای یک بسته بندی سبک وزن (F).
۲- فعال کردن هرمس موتور
هرمس یک موتور جاوا اسکریپت منبع باز است که به طور خاص برای React Native طراحی شده است.[۵] به طور قابل توجهی زمان استارت آپ برنامه را با پیش فرض جاوا اسکریپت به بایت کد و بهینه سازی جمع آوری زباله، برای فعال کردن هرمس، اضافه کردن در سایت خود و پیکربندی آن برای iOS در هرمس در حال حاضر توصیه می شود به طور پیش فرض برای پروژه های جدید بیشتر یاد بگیرند.
۳- پیاده سازی Lazyload و کد تقسیم
فراتر از اندازه بسته، بارگذاری تنبل تغییر در استارت آپ است.استفاده از [FLT] [FLT] [FLT]؛ Reactzy برای قطعاتی که بلافاصله قابل مشاهده نیستند، مانند modals، صفحه نمایش تنظیمات یا infreuxly استفاده از زبانه ها، استفاده از کتابخانه هایی مانند [F:2 React] [FLT] با قابلیت های سرعت بارگذاری آن، و یا بارگذاری آن، فقط زمانی که کاربر آن را به سرعت بارگذاری می کند.
۴- بهینه سازی ماژول های بومی و پل
ماژول های بومی که موضوعات اصلی را در طول اولیه سازی مسدود می کنند می توانند استارتاپ را فلج کنند. [] طرف بومی خود را بررسی کنند: کتابخانه ها کار ناهمزمان سنگین را در سازنده های خود انجام نمی دهند یا روش ها را به عنوان هماهنگ سازی اولیه یا حذف ماژول بومی تا زمانی که شما ماژول های سفارشی را می نویسید، اجتناب از ساختارهای داده بزرگ بر روی پل duynchronous استفاده می کنند.
مدیریت دارایی کارآمد
تصاویر و فونت ها اغلب بزرگترین بخش از رد پای منابع برنامه شما هستند.
- فشرده سازی تمام تصاویر راستر؛ استفاده از WebP یا AVIF فرمت برای اندازه فایل های کوچکتر.
- ترجیح می دهید آیکون های بردار (به عنوان مثال، فعال-نکتور-icons بیش از دارایی های PNG برای عناصر UI.
- استفاده از ، [[FLT1]] برای بارگیری و ذخیره سازی پیشرفته است.
- تصاویر زیر-the-fold
- فقط فایل های فونتی که استفاده می کنید را ببندید؛ فونت های زیرمجموعه در صورت امکان.
برای یک راهنمای دقیق، اسناد React Native را در مورد عملکرد تصویر بهینه سازی کنید.
۶- استفاده از Caching و Prefetching
کاهش سربار شبکه در طول راه اندازی با پاسخ های API Caching و داده های کاربر (استفاده از راه حل های مداوم Caching مانند فعال-async-storage یا react-nact-native-nact-mmkv برای داده های کلیدی ارزش، پیش از پخش یا فایل های باینری، بلکه به جای آن ها (فایل های باینری) اطلاعات کاربر را از راه دور (تولید می کند.
طراحی Smart Splash Screens
صفحه نمایش اسپری اولین تصویری است که کاربر می بیند.(تقریباً باید فوراً ظاهر شود تا توهم سرعت را به نمایش بگذارد.از یک صفحه نمایش بومی (که در Xcode و Android’s به جای یک جزء بومی React که باید منتظر استفاده از یک پل باشد، استفاده کنید.
تکنیک های اضافی برای بازگرداندن بهتر کاربر
زمان بارگذاری تنها یک قطعه از پازل حفظ است.هنگامی که برنامه شما سریع است، در زیر سرمایه گذاری کنید تا کاربران را درگیر نگه دارید:
- انیمیشن های موهوم: استفاده از انیمیشن برای اجرا 60fps انیمیشن که بر روی موضوع UI اجرا می شود، جلوگیری از همگام سازی انیمیشن با به روز رسانی های ایالتی جاوا اسکریپت.
- پشتیبانی رسمی: پیاده سازی یک معماری آنلاین قوی با استفاده از همگام سازی داده های پس زمینه و ذخیره سازی محلی. [۷] کاربران باید قادر به مرور محتوای بارگذاری شده قبل حتی بدون اتصال ابزار مانند Redux Persist و یا Watermelon [F5]
- رابط کاربری پاسخگو: اطمینان حاصل کنید طرح شما با توجه به اندازه ها و جهت گیری های مختلف صفحه نمایش سازگار است.استفاده از واحدهای نسبی (flex, درصد) و آزمایش بر روی انواع مختلف دستگاه.
- قابلیت دسترسی: Optimize for screen Reader and Assistive Technology] یک برنامه سریع که قابل دسترسی است هنوز کاربران را از دست می دهد.
- اعلانات (FLT:1) کاربران Re-engage با اعلان های به موقع و شخصی سازی شده اطمینان حاصل کنید که ورود به برنامه عملکرد برنامه را کاهش نمی دهد.
هر یک از این پیشرفت ها به یک تجربه منسجم و جلای اضافه می کند که کاربران را تشویق می کند تا به آن بازگردند.
نتیجه گیری
بهینه سازی زمان بارگذاری برنامه React Native نیازمند یک رویکرد سیستماتیک است: اندازه دقیق، کاهش اندازه بسته، اتخاذ موتورهای مدرن مانند هرمس، تنبل بارگذاری همه چیز غیر ضروری، و تاکتیک های خوب تنظیم شده تعاملات بومی فوری است - کاربران برنامه خود را به عنوان سریع، حرفه ای، و قابل اعتماد، که به طور مستقیم افزایش حفظ و بررسی های مثبت با استراتژی هایی که بالاترین تلاش برای بازگرداندن آن را ارائه می دهند، و قابلیت های بارگذاری برنامه شما را به عنوان یک ابزار ثابت هدایت مجدد، و اجرای برنامه شما را تضمین می کند.