Android legacy, część 2
Android legacy, część 2
W pierwszej części naszego artykułu zaczęliśmy szukać szablonu, którego możemy używać w przypadku Android legacy projects. Kontunuujmy zatem omawianie tej kwestii.
17 lip 2018
1253
Other articles
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 2
Jak przygotować się do certyfikacji IIBA. Wyzwania i hacki
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 2
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 1
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 2
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1
Test Driven Development z użyciem JUnit 5. Część 6
Test Driven Development z użyciem JUnit 5. Część 5
Test Driven Development z użyciem JUnit 5. Część 4
Test Driven Development z uzyciem JUnit 5. Czesc 3
W pierwszej części naszego artykułu zaczęliśmy szukać szablonu, którego możemy używać w przypadku Android legacy projects. Kontunuujmy zatem omawianie tej kwestii.
Dodaj Frameworki jeśli to potrzebne
Mało używaj refaktoryzacji, izoluj
Czasami łatwo jest pogodzić się z realnym światem: nie zmieniaj tego, co działa - po prostu izoluj, dostarcz wrappery, jeśli to konieczne oraz opieraj się na tym, co jest naprawdę potrzebne.
Można to bardzo łatwo zrobić w systemie Android:
Miej wzgląd na Android Framework
Przede wszystkim miej wzgląd na Android Framework. Zawiera tylko 5 głównych komponentów do budowy pracy całej aplikacji:
Użyj tych komponentów, aby umożliwić "hostowanie" obiektów kontrolnych/danych, mając na uwadze cykl życia oraz czas, przez jaki ten lub inny składnik systemu Android musi/może istnieć.
Chwalimy śmiałość wszystkich odważnych marzycieli
Uważam, że legacy projects stanowią doskonałą podstawę do nauki i doskonalenia umiejętności. Jest to kopalnia złota zilustrowanych przykładów tego, jak różne podejścia mogą powodować problemy. Każdy programista aplikacji na Androida musi prędzej czy później rozwikłać "klasyczną plątaninę Androida" składającą się z Activity, AsyncTask, brakujących plików DataLayer itp.
Dodaj Frameworki jeśli to potrzebne
- Dagger może pomóc w zarządzaniu grafem zależności
- RxJava jest dobra dla złożonych sekwencji i operacji asynchronicznych
- MVC / MVP / MVVM dla łatwego utrzymywania kodu w porządku i prostego testowania
Mało używaj refaktoryzacji, izoluj
Czasami łatwo jest pogodzić się z realnym światem: nie zmieniaj tego, co działa - po prostu izoluj, dostarcz wrappery, jeśli to konieczne oraz opieraj się na tym, co jest naprawdę potrzebne.
Można to bardzo łatwo zrobić w systemie Android:
- Użyj niezależnego Activity/Fragment
- Oddzielnie uruchom IntentService
Miej wzgląd na Android Framework
Przede wszystkim miej wzgląd na Android Framework. Zawiera tylko 5 głównych komponentów do budowy pracy całej aplikacji:
- Activity - do tworzenia interfejsu użytkownika i uzyskiwania działań użytkownika
- Service - dla długowiecznych komponentów używanych na różnych ekranach
- ContentProvider - do obsługi danych w stylu "REST"
- BroadcastReceiver - do odbierania/przekazywania komunikatów/powiadomień (trzeba być z nimi bardzo ostrożnym)
- Application - kontekst globalny, "przyjaciel, który zawsze będzie z tobą"
Użyj tych komponentów, aby umożliwić "hostowanie" obiektów kontrolnych/danych, mając na uwadze cykl życia oraz czas, przez jaki ten lub inny składnik systemu Android musi/może istnieć.
Chwalimy śmiałość wszystkich odważnych marzycieli
Uważam, że legacy projects stanowią doskonałą podstawę do nauki i doskonalenia umiejętności. Jest to kopalnia złota zilustrowanych przykładów tego, jak różne podejścia mogą powodować problemy. Każdy programista aplikacji na Androida musi prędzej czy później rozwikłać "klasyczną plątaninę Androida" składającą się z Activity, AsyncTask, brakujących plików DataLayer itp.