2012-07-30 14:00Szólj hozzá!
Már mindenki megnézegethette magának a Windows Phone 8 SDK-t, azonban fejlesztői szemmel az SDK-ban más is van, mint az új API-k, ezekről pedig nem olvashattunk túl sokat. Mi ebbe a témába is belenéztünk, érdekességeket és fontos információkat felfedezve.
Amit először le kell szögezni, az az új SDK működése. A Microsoft korábban már említette, hogy az alkalmazások portolása másolás alapon is működni fog minimális átírásokkal. Az elvárások alapján komoly átalakításokkal is lehetett volna számolni, hiszen a Windows 8 és a WP7 között is komoly különbségek vannak. Ezzel ellentétben a Windows Phone 8 működése szinte teljes egészében ugyan az, mint a Windows Phone 7-é, kisebb vagy nagyobb eltérésekkel - ezek inkább új lehetőségek, mint változtatások, így a már létező kódrészleteket megváltoztatni nem szükségszerű. Nem fogok minden apró részletre kitérni, csupán a nagyobb, fontosabb dolgokra.
Az egyik legkomolyabb új lehetőség a Windows 8-ashoz hasonló async és await kulcsszavak használata, együtt a Task osztály megjelenésével. Ezekkel könnyedén és gyorsan hozhatunk létre aszinkron függvényeket BackgroundWorker nélkül. A most létező függvények viszont nem alakulnak át a jelek szerint, tehát például a WebBrowser.DownloadStringAsync() sem lesz awaitable.
Megjelenik egy újfajta hibrid alkalmazás is, a Direct3D XAML Application. Ez hasonlóan működik, mint a Silverlight-XNA hibrid, de a Direct3D-nek köszönhetően sokkal natívabb hozzáférést tesz lehetővé.
Egy jó hír, hogy az új SDK-nak köszönhetően a WMAppManifest.xml beállítása sokkal felhasználó-barátabb lett - az xml közvetlen szerkesztése helyett egy négy lapból álló menü segítségével navigálhatunk az elérhető beállítások között.
Kapunk egy új lapkát is, a CycleTileData. Ez 1-9 darab képet fogad magába, amelyeket az idő múlásával cserélget. Különböző képszerkesztési módszerekkel kombinálva ez egy remek lehetőség arra, hogy jelentős mennyiségű adatot jeleníthessünk meg egyetlen lapkán.
A Proximity funckió segítségével a fejlesztők használhatják az NFC-t is, mint adatátviteli eszközt. A készülékek, amelyeken épp ugyanaz az alkalmazás fut, érzékelik egymást és képesek adatok cseréjére.
Az emulátor is bővül néhány új lehetőséggel. Kijelzőmérettől függően immár 3 különböző emulátor áll a rendelkezésre - WVGA, WXGA és 720p-s felbontásokkal probálhatjuk ki alkalmazásunkat. Az emulátor már képes különböző nehézségek szimulálására is, mint például a rossz internetkapcsolat, a gyenge jel; az alkalmazás megszakítása különböző események által, mint például egy naptári esemény; illetve az alkalmazás reakcióját is a képernyő lezárására.
A térképkezelés is bővül, és vele együtt új Launchereket is kapunk. A fejlesztők hozzáférést nyernek a Microsoft.Phone.Maps-hez, így sokkal több térképes alkalmazási mód tárul fel. Az új Launcherek a következő eseményeket kezelik:
- SaveAppointmentTask
- MapDownloaderTask
- MapsTask
- MapsDirectionsTask
A Windows Phone 8 ezeken kívül rengeteg új függvénnyel és osztállyal bővül, amelyeket a Windows RT-től "örököl meg". Ezek közül csak a legfontosabbakat említem meg, mert a lista igazán hosszú.
Az ApplicationDataContainer a Windows 8 új adatkezelési módszere, amely segítségével könnyen és gyorsan csinálhatunk és kezelhetünk adatbázist. A Microsoft dokumentációja ITT található, de az egyszerűség kedvéért az alapvető kezelést ide is leírom:
Inicializálás:
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Adat hozzáadása:
if (!localSettings.Containers.ContainsKey(blog.url))
localSettings.CreateContainer(blog.url, Windows.Storage.ApplicationDataCreateDisposition.Always);
localSettings.Containers[blog.url].Values["title"] = blog.title;
Adat törlése:
if (localSettings.Containers.ContainsKey(blog.url)) {
localSettings.Containers[blog.url].Values.Remove("title");
localSettings.DeleteContainer(blog.url);
sort();
}
A WinRT-ből örökség még a Windows.Storage osztály, amely korlátozott hozzáférést ad a fájlrendszerhez. Erről nem tudni, hogy nyilvánosan elérhető lesz-e, vagy csupán a megbízható Microsoft partnerek kiváltsága lesz. Ennek fontos része még a FileOpenPicker is, amely ITT van dokumentálva.
Továbbá a következő namespace-ek lesznek még újdonságok a WP8 operációs rendszerben:
- Windows.Phone.Media.Capture(kamera és vaku vezérlés)
- Windows.Phone.Networking.Voip (harmadik fél által készített VOIP alkalmazásokhoz)
- Windows.Phone.PresonalInformation (kapcsolatok elérése és kezelése)
- Windows.Phone.Speech.Recognition (beszédfelismerés)
- Windows.Phone.Speech.Synthesis (hangszintézis bármely alkalmazában)
Mint már említettem, nem állítom, hogy ez az áttekintés mindent tartalmaz, de a fejlesztők számára megpróbáltam minél több olyan információt összeszedni, amely fontos lehet a Windows Phone 8 megjelenésekor. Sajnos az itt talált információkat gyakorlatban nem sikerült letesztelni, mivel a Visual Studio 2012 az alkalmazás futtatásakor leáll, ezzel megszakítva a Debugolást is. Ha valakinek sikerül saját alkalmazást futtatnia, az kérem jelezze!
Képek:
Rusznyák Dániel
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.