Автоматты аударма пайдаланылды

Даму тобын ұсыну арқылы Android қосымшасын құтқарды

Shred Labs-2018 жылы екі жеке жаттықтырушы құрған Лос-Анджелестегі стартап. Чарли Хейл мен Адам жазы онлайн фитнесті дамытқысы келді, сондықтан олар үйде және жаттығу залында жаттығу жазбалары бар мобильді қосымшаны іске қосты.

Бастапқыда клиенттің компаниясы iOS қосымшасын жасауға назар аударды. Стартап сәтті болды және екі миллионға жуық қолданушы жинады. Екі жылдан кейін компания басқа платформаның пайдаланушыларына қол жеткізу үшін қосымшаны Android-де іске қосуды шешті.

Shred-Тегі Android командасы бастапқыда iOS командасы сияқты үш адамнан тұрды. Әр түрлі себептерге байланысты Android әзірлеушілер кезекпен басқа компанияларға кетті және уақыт өте келе Shred-те Android сарапшылары қалмады. Сонымен қатар, функционалдығы бойынша Android қосымшасы әлі де iOS нұсқасынан артта қалды. Мысалы, үш жаттығудың орнына бір ғана жаттығу түрі қол жетімді болды. Клиент resolventa-ға дәлелденген серіктес ретінде қосымшаның дамуын тез арада алуды сұрады.

Клиентпен бірге біз Android қосымшасын жасау кезінде қандай мәселелерді шешу керектігін тұжырымдадық:

  • iOS қосымшасының функционалдығы бойынша қуып жету, ең алдымен бейне сыныптарын (Classes) және олардың негізінде әртүрлі бағдарламаларды қосу;
  • iOS-пен бір уақытта жаңа функционалдылықты шығаруды қамтамасыз етіңіз;
  • мүмкіндігінше legacy кодын жаңартыңыз және нақтылаңыз.

Resolventa Android командасының барлық тапсырмаларын орындаған тәжірибелі Kotlin әзірлеушісін ұсынды. Ол қолданыстағы кодты көмексіз түсінді, өйткені осы уақытқа дейін Shred-те Android мамандары қалмады. Қазірдің өзінде іске асырылған функционалдылықтың қалай жұмыс істейтінін ешкім түсіндіре алмады. Сонымен қатар, тапсырмалардың егжей-тегжейлері мен ыдырауы жетіспеді. Осыған байланысты клиент көбінесе даму тобының немен және не үшін айналысатынын түсінбеді. Байланыс жеткіліксіз болғандықтан, бүкіл жоба зардап шекті. Біз процестерді жолға қойдық, құжаттаманы пысықтадық және тапсырмаларды егжей-тегжейлі қарастырдық, бұл әзірлеуді клиент үшін ашық, жылдам және ыңғайлы етті.

Сонымен қатар, қосымша бірден екі архитектуралық тәсіл негізінде құрылды. Ескі кодтың бір бөлігі Android View көмегімен, ал екінші бөлігі Jetpack Compose — да жазылған. Содан кейін бұл Android үшін ең заманауи даму құралы болып табылатын тез танымал жақтау болды. Resolventa жобаға қосылған кезде, Jetpack Compose-қа бірден жазудың жаңа мүмкіндіктері қисынды болды, ал legacy қажет болған жағдайда жаңартып, оны жаңа стильге біртіндеп қайта жаза бастады.

Біздің әзірлеуші қосымшаның жетіспейтін мүмкіндіктерімен айналысты. Жұмысты тездетуге біз Shred үшін артқы жағын жасап қойғанымыз көмектесті. Егер қиындықтар туындаса, PHP командасының әріптестері артқы жағының қалай жұмыс істейтінін және iOS нұсқасының онымен қалай әрекеттесетінін айтты. Содан кейін Android әзірлеушісі ұқсас шешімді қолданды. Кейбір мүмкіндіктерді әртүрлі себептермен бейімдеу мүмкін болмады, мысалы, құжаттамадағы қателер немесе IOS жүйесіндегі шешімнің ерекшеліктері. Кейде Android нұсқасын бұрыннан бар API-ге бейімдеуге тырысқаннан гөрі, артқы кодты өзгерту оңайырақ болды.

Бұл iOS нұсқасын тез қуып жетуге және дамудың жоғары қарқынын сақтауға мүмкіндік берген командалар арасындағы жақсы байланыс болды.

Бастапқыда біз қосымшаға жаттығудың екінші түрін қостық: жаттықтырушымен бейне сабақ (Classes). Жазбалардың негізгі бөлігін кәсіби фитнес жаттықтырушылары дайындады, бірақ сонымен қатар пайдаланушылар қолданбаға өздерінің бейнелерін жүктей алады.

Сыныптар әдеттегі жаттығулардан ерекшеленеді, өйткені сіз онлайн трансляцияны бастай аласыз және басқа пайдаланушылармен бір уақытта жасай аласыз немесе кейінірек жазба жасап, бейнені бөлісе аласыз. Бұл ұзақ уақыт бойы тек iOS нұсқасының пайдаланушыларына қол жетімді болатын ақысыз және негізгі функционалдылық. Бұл өнімге деген қызығушылық пен сенімділікті арттырады, өйткені ол әдеттегі фитнес қосымшасын нақты әлеуметтік желіге айналдырады.

Көптеген пайдаланушылар достарының немесе бейтаныс адамдардың жаттығуын көргісі келеді. Қолданбада жазбаларды белгілеуге, пікірлес адамдарды іздеуге, бірге жаттығуға және нәтижелерді салыстыруға болады. Сондай-ақ, Google есептік жазбасы арқылы жетістіктермен бөлісуге және жаттығу жазбаларын Facebook-ке жіберуге болады.

Осыдан кейін Android қосымшасында жаттығудың үшінші түрі пайда болды: кәсіби фитнес жаттықтырушыларының бірнеше сыныптық сабақтарынан тұратын толық бағдарламалар.

IOS және Android жүйелерінде бір уақытта пайда болған жаңа мүмкіндік-бұлшықет тобының жүктемесін санау және жаттығудың әр түрі үшін осы көрсеткіш бойынша көшбасшылар тақтасы. Бұл функция пайдаланушыларға жазылым арқылы қол жетімді, қызығушылық пен жиі жаттығуға деген ұмтылыс тудырады

Біз сондай-ақ Негізгі экран интерфейсін толығымен қайта құрдық, оны пайдаланушылар үшін ыңғайлы және түсінікті етіп жасадық. Соңында, Google төлем жүйесінің жаңа нұсқасын біріктіру үшін қолданбаның бір бөлігін қайта жазды.

Бастапқыда қосымшаның 70% - дан астамы Android view көмегімен жазылған. Қазір ескі архитектура 15% - дан аспайды және барлық жаңа мүмкіндіктер Jetpack Compose-да іске асырылады.

Бір жыл ішінде біз iOS қосымшасының функционалдығын және бір әзірлеушінің күшімен қуып жеттік. Ол даму процестерін ретке келтірді, Android қосымшасына ең маңызды функционалдылықты қосты, ол бұған дейін тек iOS — та болды-онлайн режимінде (Classes) айналысу және достарымен жетістіктермен бөлісу мүмкіндігі.

Қазір даму жылдамдығы бойынша Android қосымшасы iOS-тан кем түспейді және барлық жаңа мүмкіндіктер екі платформада бір уақытта пайда болады.

Kotlin, Android SDK, Dagger/Hilt, Room, MVI, Jetpack Compose, Android View, Coil, Retrofit, okHttp3

Пікірлер 4

Кіру пікір қалдыру үшін