Wiele firm zostaje z aplikacją, którą nikt aktywnie się nie zajmuje. Pierwotny programista lub agencja odeszli, wydania ustały, sklep z aplikacjami ostrzega o nieaktualnych SDK, a nikt nie ma pewności, jak bezpiecznie zmieniać kod. Instynkt podpowiada często albo dalsze łatanie, albo rozpoczęcie od zera. Żadnej z tych decyzji nie należy podejmować instynktownie. Ten przewodnik po ratowaniu aplikacji wyjaśnia, jak ocenić porzuconą aplikację i wybrać między refaktoryzacją istniejącego kodu a jego przebudową, na podstawie dowodów, a nie frustracji.
Co to jest
Ratowanie aplikacji zaczyna się od zrozumienia, czym faktycznie Państwo dysponują. Oznacza to odzyskanie dostępu do kodu źródłowego, konfiguracji budowania, kluczy podpisujących, kont hostingowych, wpisów w sklepach z aplikacjami i usług stron trzecich; następnie przegląd struktury kodu, zależności, pokrycia testami i znanych defektów; a potem sprawdzenie, czy aplikacja nadal się buduje i działa na aktualnych wersjach systemów operacyjnych. Refaktoryzacja oznacza ulepszanie istniejącej bazy kodu na miejscu: aktualizację zależności, usuwanie defektów, przebudowę problematycznych obszarów i dodawanie testów przy zachowaniu działania aplikacji. Przebudowa oznacza napisanie nowej bazy kodu, zwykle z ponownym wykorzystaniem projektów graficznych, danych i usług backendowych tam, gdzie to możliwe, oraz migrację użytkowników. Refaktoryzacja chroni wcześniejsze inwestycje i pozwala uniknąć długiej przerwy bez wydań. Przebudowa może być lepszą opcją, gdy baza kodu jest nie do utrzymania, oparta na przestarzałym frameworku lub zasadniczo niedopasowana do obecnych potrzeb produktu. Często odpowiedzią jest połączenie obu: stabilizacja teraz, a następnie stopniowa wymiana poszczególnych części.
Dla kogo
Ten przewodnik jest przydatny dla:
- Firm, których programista lub agencja odpowiedzialni za aplikację nie są już dostępni
- Właścicieli produktów z aplikacją, która nie daje się zbudować, ulega awariom na nowych urządzeniach lub jest odrzucana przez sklep z aplikacjami
- Założycieli, którzy odziedziczyli niedokończoną aplikację po poprzednim zespole
- Zespołów decydujących, czy dalej inwestować w istniejącą bazę kodu
Co pomaga wyjaśnić
Uporządkowana ocena pomaga wyjaśnić:
- Czy mają Państwo pełną własność i dostęp do kodu, kluczy, kont i danych
- Jaka część istniejącego kodu jest solidna, jaka ryzykowna, a jakiej brakuje
- Czy framework i zależności są nadal wspierane
- Która ścieżka — refaktoryzacja, przebudowa czy etapowa wymiana — pasuje do Państwa harmonogramu i tolerancji ryzyka
Co jest zawarte
- Odzyskać dostęp: repozytoria kodu źródłowego, pliki budowania, certyfikaty podpisujące i magazyny kluczy (keystores), konta chmurowe i hostingowe, konta w sklepach z aplikacjami oraz klucze API stron trzecich
- Potwierdzić prawną własność kodu i ewentualnych licencji, w razie potrzeby z własnymi doradcami
- Sprawdzić, czy aplikacja buduje się z kodu źródłowego i działa na aktualnych wersjach systemów operacyjnych
- Przejrzeć zależności pod kątem nieaktualnych, niewspieranych lub podatnych bibliotek
- Ocenić strukturę kodu, pokrycie testami i dokumentację
- Sporządzić listę znanych defektów, raportów o awariach, skarg użytkowników i ostrzeżeń ze sklepów z aplikacjami
- Odwzorować backend, API i dane, od których zależy aplikacja
- Ocenić opcje — refaktoryzację, przebudowę lub etapową wymianę — pod kątem nakładu pracy, ryzyka i czasu bez wydań
- Uzgodnić plan stabilizacji pilnych problemów przed rozpoczęciem większych prac
Co nie jest uwzględnione
- Twierdzenia, że każdy problem odziedziczonego kodu zostanie znaleziony lub rozwiązany
- Rozwoju nowych funkcji poza potwierdzonym zakresem odzyskiwania
- Formalnej oceny bezpieczeństwa ani testów penetracyjnych, chyba że mają odrębnie określony zakres
- Porad prawnych dotyczących własności kodu lub sporów z byłymi dostawcami
Kiedy to wybrać
Należy działać, gdy aplikacji nie można już bezpiecznie wydawać, gdy wymagania platform wkrótce sprawią, że przestanie być zgodna z zasadami sklepów, albo gdy każda drobna zmiana wprowadza nowe problemy. Nie warto czekać, aż aplikacja zostanie usunięta ze sklepu lub krytyczna usługa przestanie działać. Jeśli nie mają Państwo dostępu do kodu źródłowego lub kluczy podpisujących, należy najpierw rozwiązać tę kwestię; bez nich przebudowa może być jedyną opcją niezależnie od jakości kodu.
Nasze podejście
Należy zacząć od dostępów i dowodów, a nie od opinii. Wiele porzuconych aplikacji okazuje się lepszych, niż się wydawało, gdy tylko znów się budują; inne wyglądają dobrze, ale opierają się na frameworkach, które nie są już opłacalne w utrzymaniu. Decyzję warto podjąć na podstawie pisemnej oceny obejmującej kod, zależności, infrastrukturę i potrzeby produktu. Nasza usługa App Rescue & Rebuild obejmuje ocenę i odzyskanie: przywrócenie działającego procesu budowania, stabilizację krytycznych problemów oraz zarekomendowanie i realizację potwierdzonej ścieżki odzyskiwania, wraz z dokumentacją odzyskiwania o określonym zakresie i materiałami przekazania. Jeśli problem obejmuje szerszą platformę, backend lub system odziedziczony, usługa Platform Rescue & Modernisation zapewnia mapę stanu obecnego, plan stabilizacji i plan modernizacji. Po odzyskaniu aplikacji warto zaplanować stałą opiekę, aby nie wróciła do tego samego stanu: zaplanowane aktualizacje zależności, rutynę wydań oraz jasną własność kont i kluczy.
Często zadawane pytania
Artykuły pokrewne
Zacznij
Mają Państwo aplikację, której nikt nie potrafi utrzymać?
Proszę opisać, do czego mają Państwo dostęp, co nie działa i co aplikacja ma robić dalej. Zaproponujemy pisemny zakres oceny i odzyskiwania.
Poproś o pisemny zakres