Zaimponuj użytkownikom dzięki funkcjom aplikacji mobilnej, które są dostosowane do konkretnego urządzenia
Obecnie na świecie istnieje niesamowita różnorodność telefonów komórkowych i tabletów, a nowe modele są prezentowane nieustannie. Wszystkie te urządzenia mobilne charakteryzują się różnymi specyfikacjami i możliwościami, co może stanowić problem dla programistów tworzących aplikacje mobilne. Tablety mają duże ekrany, ale nie zawsze posiadają dostęp do sieci komórkowej, domyślne ustawienia kolorów różnią się w zależności od producenta telefonu, a wbudowane funkcje mobilne mogą działać inaczej w każdym systemie operacyjnym. Na szczęście, MobileTogether Designer oferuje zintegrowane środowisko programistyczne, które pozwala użytkownikom szybko projektować i tworzyć funkcje aplikacji mobilnych, które idealnie dopasowane są do urządzenia każdego użytkownika.

Trzy unikalne funkcje w narzędziu MobileTogether Designer wspierają tworzenie aplikacji działających na różnych platformach:
- Wbudowany symulator pozwala programistom zobaczyć, jak ich aplikacja wygląda i jak działa na różnych urządzeniach
- Rozbudowany zestaw zmiennych globalnych umożliwia programiście dostęp do charakterystyki urządzenia końcowego i pozwala na definiowanie operacji warunkowych w zależności od tego urządzenia
- Widoczność zależna od urządzenia – domyślnie, każdy element interfejsu dodany do aplikacji jest widoczny na wszystkich urządzeniach, ale programiści mogą ustawić widoczność każdego elementu interfejsu, aby była ona zależna od konkretnego urządzenia
Praca w programie MobileTogether Designer umożliwia tworzenie aplikacji, które działają płynnie i elegancko na wszystkich urządzeniach, w tym na iPhone'ach, iPadach, urządzeniach z systemem Android, a także na komputerach stacjonarnych z systemami Windows 8 i Windows 10. Jednocześnie, Twoja aplikacja może w pełni wykorzystywać bardziej zaawansowane funkcje, jeśli są dostępne na danym urządzeniu.
W aplikacji demonstracyjnej do geolokalizacji, o której wspomnieliśmy w naszym ostatnim wpisie zatytułowanym "[[rest-services-as-data-sources-for-mobile-apps|tytuł wpisu]", zaimplementowaliśmy kilka funkcji aplikacji mobilnej, które zależą od konkretnego urządzenia [Usługi REST jako źródła danych dla aplikacji mobilnych]]. W poprzednim wpisie opublikowaliśmy zrzuty ekranu aplikacji, która działała na iPhonie. Jednak w trakcie rozwoju aplikacji, korzystanie z symulatora MobileTogether okazało się przydatne, ponieważ pozwalało nam zobaczyć, jak aplikacja będzie wyglądać na różnych urządzeniach.
Poniżej znajduje się fragment okna symulatora, przedstawiający tę samą aplikację uruchomioną na różnych urządzeniach.
Android:

iOS:

Windows Phone:

Wszystkie trzy ilustracje prezentują te same informacje i opcje sterowania, które są dostępne w aplikacji mobilnej. Różnice w wyglądzie na różnych urządzeniach wynikają z różnic w rozmiarze ekranu oraz z odmienności interfejsu użytkownika w różnych systemach operacyjnych.
Nasza aplikacja zawiera zakładkę "Ustawienia", która umożliwia użytkownikom konfigurowanie preferencji aplikacji. Ta zakładka uwzględnia specyfikę danego urządzenia, ponieważ różne systemy operacyjne mobilne oferują różne możliwości. Poniżej znajduje się widok zakładki "Ustawienia" w głównym oknie projektowania:

Zakładki znajdujące się po lewych krawędziach elementów sterujących umieszczonych na środku ekranu określają, na jakich urządzeniach mobilnych te elementy będą wyświetlane. Aby ustawić widoczność zależną od urządzenia, programista tworzy element sterujący w standardowy sposób, a następnie korzysta z menu kontekstowego (dostępnego po kliknięciu prawym przyciskiem myszy), aby otworzyć okno dialogowe konfiguracji widoczności zależnej od urządzenia. Na naszej stronie przyciski "Plik GPX" są przeznaczone dla urządzeń Android i iOS, ale nie dla Windows, dlatego odpowiednie opcje są zaznaczone w oknie dialogowym widoczności.

Podczas uruchamiania aplikacji w emulatorze, możemy podglądać wygląd elementów sterujących na każdym urządzeniu. Na zdjęciu po lewej stronie znajduje się strona ustawień symulowana dla systemu Android, a po prawej stronie – dla systemu Windows Phone.

Narzędzie Designer umożliwia programistom definiowanie akcji, które mają być wykonywane w zależności od wartości globalnych i lokalnych zmiennych, przechowujących dane dotyczące urządzenia użytkownika. Istnieje ponad dwadzieścia zmiennych globalnych, przeznaczonych do przechowywania informacji o systemie operacyjnym i charakterystyce fizycznych urządzenia, oraz ponad tuzin zmiennych lokalnych, których wartości mogą się zmieniać w trakcie działania aplikacji. Zmienne lokalne pozwalają programistom tworzyć specjalne interfejsy użytkownika, dostosowane do różnych orientacji ekranu, np. pionowej i poziomej. Poniżej znajduje się fragment listy zmiennych globalnych.

Nasza aplikacja demonstracyjna została zaprojektowana tak, aby umożliwić użytkownikom urządzeń z systemem Android i iOS gromadzenie wszystkich zarejestrowanych punktów GPS w jednym pliku oraz wysyłanie tego pliku jako załącznik do wiadomości e-mail. System operacyjny Windows Phone nie pozwala aplikacjom zewnętrznym na łatwe tworzenie załączników do wiadomości e-mail, dlatego nie zaimplementujemy tej funkcji dla Windows Phone, a także nie musimy tworzyć tego pliku.
MobileTogether umożliwia zdefiniowanie grupy akcji, która dodaje współrzędne geograficzne (szerokość i długość) każdego punktu do pliku, ale tylko wtedy, gdy użytkownik korzysta z systemu Android lub iOS, jak widać na przykładzie poniżej:

Z drugiej strony, system Windows Phone oferuje bardziej eleganckie powiększanie mapy podczas wyświetlania adresów w porównaniu do innych systemów operacyjnych. Dlatego umożliwiamy użytkownikom systemu Windows wybór poziomu powiększenia mapy na stronie ustawień.
Jeśli chcieliby Państwo samodzielnie przetestować zachowanie aplikacji zależne od urządzenia w programie MobileTogether Designer, pobierzcie program MobileTogether Designer – jego używanie jest bezpłatne – oraz skopiujcie demonstracyjną aplikację do geolokalizacji oraz powiązane pliki z GitHub pod adresem https://github.com/altova/MobileTogether-geolocation-example.