Chciałbym napisać pewną aplikację na system Android i mam pewien dylemat związany z architekturą aplikacji. Uważam, że można aplikację tworzyć na co najmniej dwa sposoby:
Sposób 1
Jest jedno activity na całą aplikację a wszystkie widoki z kontrolkami przechowywane są we fragmentach. Dla przykłądu załóżmy, że tworzymy aplikację umożliwiającą zarządzanie produktami i potrzebujemy:
- wyświetlić listę produktów
- wyświetlić formularz dodawania nowego produktu
Listę produktów można by umieścić we fragmencie 1, a formularz dodawania produktu we fragmencie 2. Po starcie aplikacji pierwszy fragment umieszczony byłby na całej powierzchni głównego activity. Po kliknięciu na przycisk "dodaj produkt", fragment 1 zostałby podmieniony na fragment 2.
Sposób 2
Każdy ekran to osobne activity
Chciałbym wiedzieć jakie są wady i zalety obu rozwiązań. Teoretycznie drugi sposób wydaje się lepszym rozwiązaniem ponieważ kojarzy się z lepszą separacją poszczególnych części aplikacji. Z drugiej jednak strony odnoszę wrażenie, że sposób pierwszy ma jakieś zalety, których na chwilę obecną nie dostrzegam (może to być np. łatwość w wymianie danych między różnymi częściami aplikacji czy płynność w sytuacji zmiany jednego widoku na drugi).