Universal Apps
Jedna z novinek, která byla oznámena na konferenci //build, jsou tzv. Universal Apps. Pomocí Universal Apps můžete vytvářet aplikace pro platformu Windows Runtime (Windows 8.1 nové uživatelské rozhraní, Windows Phone 8.1) Samozřejmě má každá platforma své specifické prvky, ale Windows Runtime je na obou platformách z více než 90% stejné, takže budete mít minimum kódu, který by byl specifický jen pro jednu platformu.
Třídy |
Struktury |
Rozhraní |
|
Windows 8.1 SDK |
566 |
119 |
59 |
Windows Phone 8.1 SDK |
624 |
131 |
57 |
+58 |
+12 |
-2 |
Co potřebujete za software
Universal apps jsou podporovány ve Visual Studio 2013 Update 2. Samozřejmě budete potřebovat Windows 8.1 jako operační systém. Pro instalaci Windows Phone 8.1 do vašeho mobilního telefonu je třeba, abyste byli registrovaní vývojáři na Windows Store a povolili instalaci Windows Phone 8.1 pomocí aplikace Preview for Developers.
Základní princip Universal Apps
Univeresal Apps jsou postaveny na sdílených zdrojových kódech. Pokud by se měla nějaká část aplikace chovat jinak na různých platformách, tak tuto část kódu vložíte buď do projektu pro danou platformu, nebo sdílený kód rozdělíte pomocí podmíněného překladu.
#if WINDOWS_PHONE_APP
Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed;
#endif
Uživatelské rozhraní
Na rozdíl od Portable Class Libraries můžete ve sdílené části aplikace sdílet i uživatelské rozhraní. Nezapomeňte však, že každá platforma se ovládá trochu jinak a tyto specifika byste měli dodržovat.
Sdílení nastavení mezi platformami
Jestliže si uživatel nainstaluje aplikaci jak na svůj počítač s Windows 8.1, tak na mobilní telefon s Windows Phone 8.1, tak se může nastavení sdílet. Obě platformy nyní podporují Roaming Settings a Roaming Folder. Aby to fungovalo, obě aplikace musejí mít stejný Package Family Name (PFN).
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
roamingSettings.Values["userName"] = "stepanb";
Data se sdílí přes OneDrive a jejich objem se nezapočítává do kvóty uživatele.
Vytvoření balíčků pro Windows Store
Pro každou platformu je třeba balíček vytvořit a nahrát zvlášť.
Zdroje informací
Build universal Windows apps that target Windows and Windows Phone
Building Apps for Windows Phone 8.1: (22) Universal Apps for Windows
Windows Store universal Windows app opportunity
Štěpán, @stepanb