دراپ اپلیکیشن کرفس را طی سه ماه بهطور کامل با React Native بازنویسی کرد و نسخههای Android، iOS و PWA را بر پایه یک Codebase مشترک به Production رساند.
گفتوگو درباره سیستم شماکرفس یکی از شناختهشدهترین اپلیکیشنهای سلامت و تغذیه در ایران است؛ محصولی باسابقه با بیش از دو میلیون نصب در کافهبازار و بیش از یک میلیون دانلود در Google Play که کاربران برای کالریشماری، دریافت رژیم غذایی و مدیریت سبک زندگی خود به آن تکیه میکنند.
تیم دراپ طی سه ماه، اپلیکیشن کرفس را بهطور کامل با React Native بازنویسی کرد و نسخههای Android، iOS و PWA را بر پایه یک Codebase مشترک توسعه داد. محصول جدید پس از تست و انتشار، وارد محیط Production شد و اکنون در اختیار کاربران واقعی کرفس قرار دارد.
مسئولیت دراپ در این پروژه بر توسعه کامل تجربه سمت کاربر، تضمین کیفیت و انتشار نسخهها متمرکز بود. بکاند و APIها توسط تیم فنی کرفس توسعه و ارائه شدند.
نسخههای قبلی کرفس برای Android و iOS بهصورت مستقل و بهترتیب با Kotlin و Swift توسعه داده شده بودند. این اپلیکیشنها پایدار و حاصل بیش از یک دهه توسعه محصول بودند؛ بنابراین هدف پروژه، رفع یک محصول ناپایدار یا پر از باگ نبود.
چالش اصلی، آمادهکردن کرفس برای مرحله بعدی رشد بود. نگهداری دو Codebase مستقل هزینه و پیچیدگی بیشتری ایجاد میکرد و کرفس همزمان به نسخه PWA نیز نیاز داشت. ادامه مسیر قبلی میتوانست توسعه محصول را به سه جریان مجزا تبدیل کند؛ سه مسیر که هر قابلیت و تغییر باید در آنها جداگانه پیادهسازی، تست و منتشر میشد.
کرفس تصمیم گرفت از فرصت توسعه PWA برای یکپارچهکردن مسیر فنی محصول استفاده کند و توسعه هر سه پلتفرم را به React Native منتقل کند.
تغییر از Kotlin و Swift به React Native به معنای یک مهاجرت تدریجی نبود. کدهای قبلی قابل انتقال مستقیم نبودند و اپلیکیشن باید از ابتدا بازنویسی میشد.
UI/UX و Product Design توسط تیم کرفس آماده شده بود و تیم دراپ این طراحی را به یک محصول Cross-platform عملیاتی تبدیل کرد. ساختار جدید امکان توسعه Android، iOS و PWA را بر یک پایه فنی مشترک فراهم کرد تا قابلیتها هماهنگتر توسعه پیدا کنند و نگهداری و تکامل محصول در آینده سادهتر شود.
در طول پروژه، تیم موبایل دراپ با APIهای آماده کرفس یکپارچه شد و مرز مسئولیتها شفاف باقی ماند: تیم کرفس مالک بکاند و طراحی محصول بود و دراپ مسئول توسعه اپلیکیشن، کنترل کیفیت و آمادهسازی انتشار.
بازنویسی کرفس تنها به انتقال چند صفحه به یک تکنولوژی جدید محدود نبود. جریانهایی بازسازی شدند که مستقیماً با استفاده روزانه کاربران و مدل درآمدی محصول در ارتباطاند.
قابلیتهای اصلی پیادهسازیشده شامل کالریشماری و مدیریت اطلاعات تغذیهای، دریافت و مشاهده رژیمهای غذایی، ثبت وعدههای روزانه، مدیریت اشتراک کاربران و فرایندهای پرداخت بود.
تمام این تجربهها باید در Android، iOS و PWA رفتاری هماهنگ و قابل اتکا میداشتند. تیم دراپ جزئیات طراحی ارائهشده از سوی کرفس را در سه خروجی مختلف پیادهسازی کرد، در حالی که منطق و ساختار مشترک محصول در یک Codebase حفظ شد.
برای محصولی با جامعه کاربری گسترده، بازنویسی کامل باید بدون ایجاد اختلال در جریانهای اصلی استفاده انجام میشد. فرایند تضمین کیفیت شامل تست دستی، Regression Testing و بررسی عملکرد اپلیکیشن روی دستگاهها و پلتفرمهای مختلف بود.
تیم پروژه از دو توسعهدهنده React Native، یک متخصص تست و تضمین کیفیت بهصورت نیمهوقت و یک Tech Lead برای نظارت فنی تشکیل شد. تیم QA جریانهای مهمی مانند ثبت وعده غذایی، رژیم، اشتراک و پرداخت را در نسخههای مختلف بررسی کرد.
مسئولیت انتشار نیز برعهده دراپ بود. نسخههای نهایی برای کافهبازار، مایکت، App Store و سایر کانالهای موردنیاز آماده و منتشر شدند و نسخه PWA نیز در محیط Production در دسترس کاربران قرار گرفت.
بازنویسی کامل محصول و تحویل همزمان سه خروجی، ددلاین فشردهای داشت. بخشی از توسعه و انتشار نیز با دوره جنگ و محدودیتهای دسترسی به اینترنت همزمان شد؛ شرایطی که هماهنگی تیمها، دسترسی به سرویسهای خارجی و فرایند انتشار را دشوارتر میکرد.
با وجود این محدودیتها، تیم دراپ ریتم توسعه و تست را حفظ کرد و بازنویسی اپلیکیشن را در مدت سه ماه به پایان رساند. نسخههای Android و iOS و نسخه PWA پس از کنترل کیفیت وارد Production شدند و کاربران کرفس به محصول جدید منتقل شدند.
نتیجه پروژه، جایگزینی سه مسیر بالقوه توسعه با یک پایه فنی مشترک بود. کرفس اکنون میتواند تجربه موبایل و وب خود را با هماهنگی بیشتری توسعه دهد و قابلیتهای جدید را بدون مدیریت سه Codebase مستقل پیش ببرد.
مهمترین دستاوردهای پروژه عبارتاند از:
• بازنویسی کامل اپلیکیشن کرفس در سه ماه • توسعه Android، iOS و PWA بر پایه یک Codebase مشترک • انتقال کامل از Kotlin و Swift به React Native • پیادهسازی جریانهای اصلی کالریشماری، رژیم، وعدههای غذایی، اشتراک و پرداخت • تست روی دستگاهها و پلتفرمهای مختلف • انتشار در کافهبازار، مایکت، App Store و کانالهای موردنیاز • استقرار موفق هر سه نسخه در محیط Production
رضایت کرفس از عملکرد تیم دراپ باعث شد دامنه همکاری پیش از پایان همین پروژه گسترش پیدا کند. در میانه بازنویسی اپلیکیشن، مسئولیت DevOps و زیرساخت کرفس و لونا نیز به Dropp Tempo سپرده شد؛ همکاریای که همچنان ادامه دارد.
پس از تحویل اپلیکیشن کرفس، توسعه اپلیکیشن و بخشهایی از بکاند لونا، محصول کرفس در حوزه سلامت بانوان، نیز با تیم دراپ آغاز شد.
این مسیر نشان داد که یک تحویل موفق فقط پایان یک پروژه نیست. اجرای دقیق، ارتباط شفاف و توانایی رساندن محصول به Production میتواند پایه اعتماد لازم برای یک همکاری گستردهتر را ایجاد کند؛ از توسعه اپلیکیشن و بکاند تا زیرساخت، DevOps و عملیات Production.
توسعه همزمان Android، iOS و وب نباید به سه تیم، سه Codebase و سه مسیر جداگانه تبدیل شود. با انتخاب معماری مناسب و تیمی که توسعه، QA و انتشار را یکپارچه مدیریت کند، میتوان محصول را سریعتر به بازار رساند و هزینه توسعه آینده را کنترل کرد.
اگر قصد بازنویسی یک اپلیکیشن قدیمی، توسعه یک محصول Cross-platform یا عرضه همزمان نسخههای Android، iOS و PWA را دارید، دراپ میتواند مسیر فنی و اجرایی پروژه را از برنامهریزی تا انتشار در Production برعهده بگیرد. همکاری را با یک جلسه بررسی محصول و معماری آغاز کنید.