شروع کارم در دیجیکالا با دو چالش بزرگ همراه بود:
1. هر تغییر در اپ (که با React Native ساخته شده بود) نیاز به آپدیت توسط کاربر داشت، اما خیلیها آپدیت نمیکردند.
2. پروژه آنقدر بزرگ شده بود که باید به تیمهای کوچکتر و مستقل تقسیم میشد تا سرعت توسعه بالا برود.
در حالی که خیلیها سراغ استفاده از صفحات وب داخل اپ رفتند، ما تصمیم گرفتیم نیتیو را حفظ کنیم و راهحل متفاوتی پیدا کنیم.
ایده ما استفاده از Module Federation برای موبایل بود. با کمک ابزاری به نام Re.Pack (که آن زمان خیلی جدید بود)، این ساختار را پیادهسازی کردیم و حتی در بهبودش مشارکت داشتیم.
نتیجه:
اپ به چند بخش مستقل تقسیم شد و هر تیم توانست جداگانه توسعه بدهد و تغییرات را بهصورت bundle به کاربر برساند (بدون نیاز به آپدیت از استور).
نسخه 3.0.0 با مدل «اول اجرا، بعد آپدیت» منتشر شد، اما این روش مشکل داشت (مثلا معلوم نبود باگها چه زمانی کامل برطرف میشوند).
برای همین مدل را تغییر دادیم به:
«اول آپدیت، بعد اجرا» (شبیه وب)
نتیجه این تغییر شد نسخه 3.1.1:
یکی از پایدارترین نسخهها از نظر آپدیت درونبرنامهای 🚀
(جزئیات فنی بیشتر را بعدا مفصلتر مینویسم)
از لینکدین حسین محمدی :
https://www.linkedin.com/feed/update/urn:li:activity:7451739953459548160
@codehalics | کدهالیک
Post #383
468