Post on 28-Nov-2014
description
ABC architektury aplikacji mobilnych
Barbara Fusińska
barbara.fusinska@gmail.com
Agenda
• Aplikacje natywne a Responsive Design
• Multiplatformowość
• Wykorzystanie funkcjonalności smartfonów
• Personalizacja
• Praca offline
• Aktualizacje
Aplikacje natywne a Responsive design
• Web mobile app –strona internetowa zaprojektowana dla mniejszych ekranów
• Aplikacja natywna – sciagana i instalowana na urządzeniu
http://cdn.business2community.com/wp-content/uploads/2013/08/apps1.jpg
Architektura aplikacji mobilnych
http://www.c-sharpcorner.com/UploadFile/BlogImages/08132011175429PM/AppArch2.jpg
Aspekt A: Wieloplatformość
• Aplikacje natywne - specyficzny typ dla każdego rodzaju urządzenia
• Responsive Design – jedna aplikacja będzie działać wszędzie
http://www.responsivewebdesignblog.com/wp-content/uploads/2012/12/mashable-responsive-design.jpg
Aspekt B: Wykorzystywanie funkcjonalności smartfonów
http://i.istockimg.com/file_thumbview_approve/13178702/2/stock-illustration-13178702-mobile-cell-phone-functionality-smartphone.jpg
Aspekt C: Personalizacja
• Od aplikacji mobilnych oczekuje się łatwego zarządzania tożsamością i personalizacją
• Applikacje natywne są bezpośrednio związane z urządzeniem
http://blogcontent.yola.net/blog/wp-content/uploads/2013/09/Fotolia_42264576_S.jpg
Aspekt D: Praca offline
• W samolocie
• W lesie
• Przesył danych tylko jeśli wi-fi
• Jedynie natywne aplikacje – aplikacje webowe potrzebują sieci
http://kogodgraduateinsider.files.wordpress.com/2012/03/working-on-an-airplane1.jpg
Architektura systemu
• Lokalna przestrzeń persystencji (baza danych)
• Wszystko pięknie póki jesteśmy offline
http://i.msdn.microsoft.com/bb887608.figure4(en-us).png
Persystencja obiektów
John Smith
ID
InterCash
ID MegaDent
ID
Anna Brown
ID
Relacje miedzy obiektami
John Smith
ID
Telefon prywatny
ID
Telefon służbowy
ID
Synchronizacja danych
• Pobranie globalnych zmian
• Wysłanie lokalnych zmian
• Konflikty: identyfikatory, kolejność operacji, relacje
http://jkontherun.files.wordpress.com/2010/02/google-sync.png
Synchronizacja – dodawanie/usuwanie
Anna Brown
ID MegaDent
Local ID
John Smith
Local ID
Baza danych
InterCash
ID
Synchronizacja – obiekty powiązane
John Smith
ID
Telefon służbowy
Local ID
Baza danych
Local ID
Aspekt E: Aktualizacje
• Wymagania sklepów
• Częstotliwość
• Lokalne zasoby aplikacji (kafelki, bazy danych, pliki lokalne)
http://images.apple.com/support/assets/images/assistant/shared/updateappiphone.png http://liveside.net/wp-content/images/2012/06/Windows-Phone-Marketplace.jpg https://lh4.ggpht.com/E8abWF0D4nt9Il12VRFBqWkqawYF2g7vPmyspPOYqXzh9PH8VWDdT0hIF9viC5le-Lc=w300
Podsumowanie
• Mobilne aplikacje natywne a webowe
• Aspekty budowy aplikacji mobilnych
• Zagadnienie pracy offline i synchronizacji danych jest trudne!
Pytania?