wtorek, 22 kwietnia 2014

Marzenia Microsoftu stają się prawdą. Jedna aplikacja na wszystkie urządzenia z Windows 8.1 (w tym też Windows Phone 8.1)

Witajcie,

Od kiedy pojawił się system Windows Phone 8.1, Microsoft udostępnił również aktualizację do Visual Studio 2013 Update 2, umożliwiającą kompilację jednej aplikacji na wszystkie urządzenia posiadające 8.1

Microsoft bardzo mocno zachęca wszystkich do aktualizacji swoich aplikacji Windows 8 i Windows Phone 8 do wersji 8.1 i opisuje jak to można w prosty sposób zrobić. Posiadając jedną z powyższych solucji, wystarczy w nowej wersji Visual Studio dodać drugi projekt, dla przykładu do starego projektu Windows 8, utworzyć nowy Windows Phone 8.1.

Poniżej kilka fotek ze strony Microsoftu jak utworzyć na nowo zunifikowany projekt.

Najpierw należy wybrać nowy uniwersalny projekt.

Po wybraniu pustej aplikacji (Blank App) nasza solucja będzie prezentować się następująco, jak widać jest on podzielony na 3 części, pierwsza to część dla Windows 8.1, druga dla Windows Phone 8.1, a trzecia to część współdzielona.

Jak widać na poniższej fotce, Microsoft przeznaczył część współdzieloną w celu odwoływania się do bazy danych/pliku xml, przechowywania różnego typu stałych itp.

Microsoft udostępnił nie tylko pustą solucję. Można wybrać również HubApp, która już będzie trochę przygotowana do łatwiejszego startu dla osób nieznających tego rozwiązania.

Po wejściu do App.xaml mamy możliwość do przełączania się pomiędzy częściami dla Windows 8.1 oraz Windows Phone 8.1.

Jeżeli nasza aplikacja nie wspiera jeszcze Windows Phone 8.1, można to w łatwy sposób dodać, klikając Add Windows Phone 8.1. Utworzy się wtedy dodatkowy projekt w naszej solucji przeznaczony własnie na tą platformę.

Jeżeli potrzebujecie jakiś fragment kodu przeznaczyć dla tylko dla jednej z platform można to zrobić w prosty sposób.

#if WINDOWS_APP
     if (!rootFrame.Navigate(typeof(HubPage)))
#endif
#if WINDOWS_PHONE_APP
     if (!rootFrame.Navigate(typeof(WindowsPhoneStartPage)))
#endif
     {
          throw new Exception("Failed to create initial page");
     }
Mam nadzieję, że wielu programistów zdecyduje się tworzyć projekty uniwersalne, co spowoduje, że z jednej ulubionej aplikacji będzie można korzystać na Windows 8.1 oraz Windows Phone 8.1.