poniedziałek, lipca 26, 2010

O tym w czym iOS jest lepszy od Androida

Może ktoś z osób programujących iPhone'a zweryfikuje moje twierdzenie, ale wydaje mi się, że tam problem zmiany orientacji ekranu jest jakby lepiej rozwiązany niż w Androidzie.

Tam system wysyła do ichniej "aktywności" informację o zmianie orientacji, jeżeli kod odpowie, że wspiera taką orientację to proszony jest (i tutaj są domysły bo nie wiem tego na 100% ;-)) o odrysowanie się.

Jest prosto.

W Androidzie jest trudniej, można poprosić system by nam nie zmieniał orientacji, ale jak tego nie zrobimy to w momencie zmiany orientacji nasza aktywność zostanie zamordowana, a po chwili odpali się jej nowa kopia.

Razem z naszą aktywnością zginął wszystkie okienka postępu czy dialogi, a wszystkie wątki odpalone przez tą aktywność będą miały "linkę" do umarłej aktywności... czyli, że poleci nam wyjątek jak spróbujemy na niej coś zrobić ;-)

Z progresami i dialogami można sobie poradzić przez "podniesienie" ich na podstawie zapisanego stanu aktywności, ale to i tak nic nam nie da bo nasze wątki wystartowane ze starej aktywności i tak nie mają sposobu na kontakt z tymi oknami ;-)

Dlatemu trzeba się tu odwołać do serwisu i startować go w momencie gdy zaczynamy coś co chcielibyśmy zwątkować.

Strasznie to namotali. To powoduje, że programowanie dla Androida jest trudniejsze i o wiele prościej zrobić błąd straszący użytkownika.

Dodatkowo trzeba motać kod, a przez to łatwiej o kolejne błędy.

Dlatego wydaje mi się, że żeby napisać dobrą aplikację dla Androida trzeba świetnego kodera, w przypadku iPhone'a wystarczy dobry.

Tam jest ograniczenie nie od strony umiejętności, a finansów ;-)




Podobne postybeta
Modale nie takie dobre dla Androida ;-)
Programowanie jako sztuka oszukiwania ;-)
ISS poraz kolejny :-) tym razem poprzedzona HTV :-)
Androidowe boje... ale nie takie morskie ;-)
I jak "po bożemu" zrobić updatowanie widoku na podstawie danych z sieci w Androidzie?