Utrzymanie i rozwój aplikacji mobilnych
Wasza aplikacja jest w sklepach, ludzie za nią płacą, a technicznie nikt za nią nie odpowiada. Produkt mobilny to iOS, Android, backend, infrastruktura i dwie weryfikacje w sklepach, a każda z tych części psuje się na swój sposób. Dbamy o działanie całości, tak jak dbamy o Abuk od 2018 roku i o MemoWord od 2019.
Kiedy Wasza aplikacja potrzebuje właściciela
Działająca aplikacja nie pozostaje taka sama. Apple i Google co roku zmieniają wokół niej platformy, a większość problemów dotyczy więcej niż jednej warstwy.
- Płatność nie przechodzi na telefonie, choć zamówienie na serwerze wygląda dobrze, i nikt nie potrafi powiedzieć, po czyjej stronie jest błąd
- Google wycofał bibliotekę płatności lub podniósł docelowy poziom API i po terminie aktualizacje zostaną zablokowane
- Nowa wersja iOS zepsuła część aplikacji, a negatywne opinie już się pojawiają
- Certyfikat lub klucz push wygasł na kilka dni przed wydaniem
- Programista odszedł, a razem z nim dostęp do konta w sklepie lub kluczy podpisujących
- Koordynujecie freelancera od iOS, freelancera od Androida i wykonawcę backendu, a każdy naprawia tylko swoją część
O co dbamy
Aplikacje na iOS i Androida
Natywne aplikacje w Swift i Kotlin lub React Native z Expo. Nowe wersje systemów testowane na wersjach beta, SDK i biblioteki utrzymywane we wspieranych wersjach, awarie naprawiane od tych, które dotykają najwięcej użytkowników.
Backend i API
Serwer, z którym komunikuje się Wasza aplikacja, w Rails, NestJS, Fastify, .NET lub PHP z PostgreSQL lub MySQL. Gdy coś się psuje, śledzimy problem od telefonu aż do bazy danych, bez przekazywania go innemu wykonawcy.
Infrastruktura
Hosting na AWS (ECS, CloudFront), Hetzner lub u innych dostawców, Docker, wdrożenia, monitoring i kopie zapasowe z faktycznie przetestowanym odtwarzaniem.
Płatności i subskrypcje
StoreKit i Google Play Billing, subskrypcje, potwierdzenia zakupów i weryfikacja po stronie serwera. Biblioteki płatności aktualizujemy przed terminami sklepów, aby odnowienia subskrypcji nadal wpływały.
Wydania i weryfikacje w obu sklepach
Budujemy, podpisujemy i zgłaszamy wydania, odpowiadamy na uwagi z weryfikacji w App Store i Google Play i udostępniamy aktualizacje etapami. Certyfikaty, klucze i formularze zgodności śledzimy w kalendarzu.
Konta, klucze i przejęcie
Jeśli były programista trzymał konto deweloperskie, certyfikaty lub klucze podpisujące, przechodzimy z Apple i Google proces odzyskania lub przeniesienia. Aplikacje zbudowane przez inne zespoły przejmujemy po audycie.
Cztery specjalizacje i dwie weryfikacje, jeden zespół
Produkt mobilny potrzebuje co najmniej czterech rodzajów inżynierów: iOS, Android, backend i infrastruktura. Do tego każde wydanie przechodzi dwie weryfikacje, na które nie macie wpływu: w Apple i w Google. Jeden freelancer pokrywa jedną lub dwie z tych ról, więc właściciel koordynuje kilka osób, podczas gdy użytkownicy już piszą opinie. My bierzemy na siebie cały produkt: aplikacje, serwer, hosting, proces wydawania i kalendarz terminów platform, z liderem technicznym po naszej stronie, który rozmawia z biznesem i ustala priorytety.
- Jeden zespół odpowiedzialny za aplikacje, backend i infrastrukturę
- Kalendarz terminów sklepów i platform, które dotyczą Waszej aplikacji
- Testy na wersjach beta systemów przed publicznym wydaniem
- Wydania planowane tak, aby aplikacja nigdy nie została zablokowana w sklepach
Lata, a nie miesiące: Abuk i MemoWord
Największa obawa przy przekazywaniu działającego produktu to to, że nowy wykonawca zniknie po miesiącu. Naszą odpowiedzią jest historia, którą można sprawdzić. Abuk, serwis z audiobookami ze stroną internetową i natywnymi aplikacjami na iOS i Androida, jest wspierany przez nasz zespół od 2018 roku: backend w Rails, AWS ECS i CloudFront, Swift ze StoreKit i Kotlin z Play Billing. MemoWord, aplikacja do nauki języków, jest z nami od 2019 roku, łącznie z przeniesieniem backendu w .NET na aktualną wersję, podczas gdy aplikacje i płatności cały czas działały.
- Rola lidera technicznego, a nie kolejka zgłoszeń
- Migracje backendu przy działających klientach mobilnych i płatnościach
- Ten sam zespół przy produkcie rok po roku
- Pisemny raport co miesiąc: co zrobiono i co przed nami
Przejęcie aplikacji, nawet gdy programista zniknął
Zanim zobowiążemy się do utrzymania aplikacji, budujemy ją z kodu źródłowego, uruchamiamy na urządzeniach i czytamy kod, backend i infrastrukturę. Jeśli poprzedni programista odszedł z kontem w sklepie lub kluczami podpisującymi, najpierw ustalamy, co jeszcze macie. Dostęp zwykle da się odzyskać przez Apple lub Google, a jeśli nie, aplikację można opublikować ponownie na koncie Waszej firmy. Dla Quaker zastąpiliśmy aplikację hybrydową na przestarzałej technologii natywnymi aplikacjami na iOS i Androida i równie otwarcie powiemy Wam, jeśli Wasza aplikacja jest w takiej sytuacji.
- Inwentaryzacja kodu, kont, certyfikatów i kluczy
- Odzyskanie lub przeniesienie konta deweloperskiego na Waszą firmę
- Audyt kodu i procesu budowania z pisemnym raportem
- Lista pilnych ryzyk, takich jak terminy sklepów czy porzucone biblioteki
Jak zaczyna się utrzymanie aplikacji
Audyt
Zanim weźmiemy odpowiedzialność, budujemy aplikację z kodu źródłowego, sprawdzamy konta w sklepach, certyfikaty i podpisywanie oraz czytamy backend i infrastrukturę. Dostajecie pisemny raport o faktycznym stanie produktu.
Zakres i warunki
Miesięczny zakres z limitem godzin, uzgodniony czas reakcji na incydenty i jasna zasada na wypadek wyczerpania limitu.
Pierwsze wydanie
Naprawiamy pilne problemy i sami wydajemy nową wersję, co potwierdza, że cały łańcuch – budowanie, podpisywanie i zgłaszanie – działa.
Bieżące wsparcie
Monitoring, aktualizacje, wydania i poprawki w uzgodnionym zakresie oraz pisemny raport na koniec każdego miesiąca.
Platformy i narzędzia
iOS
- Swift
- Objective-C
- StoreKit
- Xcode, TestFlight
- App Store Connect
Android
- Kotlin
- Java
- Google Play Billing
- Google Play Console
Wieloplatformowo
- React Native
- Expo
- EAS Build
Backend i infrastruktura
- Ruby on Rails, NestJS, Fastify, .NET
- PostgreSQL
- AWS ECS i CloudFront, Hetzner
- Docker
- Firebase Crashlytics
Jak możemy współpracować
Miesięczny plan wsparcia
Stały miesięczny zakres po audycie, z limitem godzin i uzgodnionym czasem reakcji: monitoring, aktualizacje, wydania, poprawki płatności i pisemny raport.
Lider techniczny i zespół
Bierzemy też rolę lidera technicznego: priorytety, planowanie wydań i rozmowy z biznesem, a za tym stoją inżynierowie iOS, Androida i backendu.
Prace jednorazowe
Pilna poprawka, aktualizacja zgodności przed terminem sklepu lub odzyskanie konta – rozliczane godzinowo lub jako zadanie o stałej cenie.
Opinie
Zespół Revol stale usprawnia prace rozwojowe klienta dzięki wysokiej jakości pracy i niezawodnemu wsparciu. Sprawnie się komunikuje i doskonale rozumie potrzeby oraz biznes klienta.
Tomas
Praca Revol w pełni spełniła oczekiwania i zadowoliła klienta. Świeże podejście i stała gotowość do wsparcia okazały się ogromnym atutem. Kto szuka komunikatywnego, zorientowanego na klienta zespołu do realizacji swoich celów, może śmiało na nich postawić.
Andrey
Najczęściej zadawane pytania
Jak długo zwykle zostajecie przy produkcie?
Latami. Abuk jest wspierany przez nasz zespół od 2018 roku, a MemoWord od 2019. Wsparcie działa najlepiej, gdy ci sami inżynierowie znają kod, konta w sklepach i historię każdej decyzji, dlatego od pierwszego miesiąca planujemy długą współpracę.
Nasz programista zniknął, a my nie mamy dostępu do konta w sklepie. Czy da się je odzyskać?
Zwykle tak, choć wymaga to czasu i formalności z Apple lub Google. Pierwszym krokiem jest ustalenie, co macie (kod, konto, klucze podpisujące), bo odpowiedź zależy od tego, czego brakuje. Jeśli odzyskanie jest niemożliwe, aplikację można opublikować ponownie na koncie Waszej firmy.
Ile kosztuje utrzymanie aplikacji?
To zależy od wielkości aplikacji, liczby platform, backendu i tego, jak często chcecie wydawać nowe wersje. Po audycie podajemy miesięczny zakres z limitem godzin i stałą cenę. Nowe funkcje, redesign i migrację na inne technologie wyceniamy osobno.
Jak szybko możecie zareagować na krytyczny błąd?
Czas reakcji uzgadniamy dla każdej aplikacji w zależności od tego, co robi, i zapisujemy go w planie. Pamiętajcie, że poprawka mobilna musi też przejść weryfikację w sklepie; w pilnych przypadkach prosimy o przyspieszoną weryfikację w iOS i udostępniamy wydania etapami, aby ograniczyć szkody.
Czy utrzymujecie aplikacje w React Native i starsze bazy kodu?
Tak, zarówno React Native z Expo, jak i natywne aplikacje w Swift, Objective-C, Kotlin i Javie. W przypadku aplikacji na frameworkach, które nie są już rozwijane, audyt pokaże, jak długo utrzymanie jest realne i czego wymagałaby migracja.
Czy utrzymujecie też backend i serwery aplikacji?
Tak, i właśnie o to w tej współpracy chodzi. API, panel administracyjny, hosting i wdrożenia obejmuje ta sama umowa, więc nieudaną płatność czy brakujące powiadomienie push jeden zespół śledzi od telefonu aż do bazy danych.
Czy aplikacja pozostanie na naszym własnym koncie deweloperskim?
Powinna. Publikujemy na kontach Apple i Google Waszej firmy z dostępami, które nam przyznacie, więc własność aplikacji nigdy nie zależy od nas.
Opowiedzcie nam o swoim projekcie
Opiszcie zadanie w kilku zdaniach. W ciągu jednego dnia roboczego odpowiemy pytaniami lub wstępną oceną zakresu i kosztów.
Wolicie e-mail lub rozmowę telefoniczną?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallin, Estonia. Nasz zespół jest rozproszony po całym świecie.
Dołączcie do naszego zespołu
Wyślijcie CV na adres career@revolsource.com