Article name: What’s new in Windows Phone SDK 8.0
This article has been published in Info IT magazine released in February 2013, number 181 (BH IT magazine -http://info.ba). Article language: serbian, bosnian, croatian.
Tekst je izašao u februarskom broju Info za 2013 (BH Informatički magazin) – http://info.ba broj 181:
Kompanija Microsoft je početkom novembra izdala novu Windows Phone 8.0 platformu koja ima značajna unapređenja u odnosu na pređašnju verziju te se kao najbrže rastuća platforma nametnula kao izbiljan igrač u svijetu mobilnih platformi. Ono što vam je potrebno kao programeru, kako bi kreirali nove Windows Phone 8 aplikacije, je da instalirate Windows Phone SDK 8.0. Windows Phone SDK 8.0 sadrži niz novih alata za razvoj, debagiranje i testiranje aplikacija.
C++
Uvedena je mogućnost korišćenja C++ jezika u fazi razvoja Windows Phone aplikacija što je inače bio zahtjev velikog broja programera. Razlog je veoma jasan, C++ se može koristiti za razvoj mobilnih aplikacija na drugim platformama te se može iskoristiti veliki dio poslovne logike koju su programeri koristili za razvoj na drugoj platformi ali i dio funkcionalnosti koji je pisan pomoću C++ za open source projekte. Moguće je C++ koristiti za razvoj Windows Phone 8 aplikacija koje koriste XAML kako u C# tako i u Visual Basic programskim jezicima ali je takođe moguće da aplikaciju u potpunosti kreirate isključivo pomoću C++.
Razvoj Direct3D aplikacija
Windows Phone 8 omogućava programerima korištenje nove platforme za razvoj 3D igara pomoću C++: Direct3D. Novi aplikacioni model omogućava pristup niskog nivoa Direct3D API-ju za grafiku, XAudio2 i WASAPI za audio. Takođe novi model omogućava da se kao odredišna platforma izabere Windows 8. Nova C++ platforma će omogućiti korištenje popularnih alata za kreiranje igara kao što su: Unity3D, Havok, FMOD, Audiokinetic Wwise i Autodesk Scaleform što bi značajno trebalo da omasovi kreiranje igara za Windows Phone 8 platformu. Direct3D aplikacije su pisane u native code, značajno su teže za programiranje ali su namijenjene za aplikacije od kojih se očekuju visoke perfomanse kao što su složene 3D igre.
XAML kontrole
Kontrole koje je moguće u Windows Phone 8 i koje su doživjele unapređenja u odnosu na prethodnu verziju ili su kreirani od početka su:
-
Map kontrola. Kontrola koja je kreirana od početka i koja koristi Nokia mapping engine obezbjeđuje podršku za off-line pristup mapama i podatke prikazuje u vektorskom obliku za kvalitetniji prikaz podataka bez obzira na nivo uvećanja mape. Korištenjem skupa alata za mape-Maps API, moguće je kreirati aplikacije koje koriste mape i u okviru kojih je moguće vršiti pretraživanje kao i prikaz podataka na osnovu upotrebe lokacijskog servisa na telefonu.
-
WebBrowser kontrola. Kontrola bazirana na Internet Explorer 10 verziji koja omogućava prikaz CSS3 i HTML5 sadržaja a za brži odziv se koristi hardverska akceleracija.
-
LongListSelector kontrola. Kontrola koja se koristi za prikaz liste podataka u okviru Windows Phone aplikacije. Omogućava grupisanje podataka i prikaz zaglavlja za grupu podataka, podršku za jump list koja pomaže u navigaciji (osobina koja olakšava navigaciju u listi pristupom određenoj sekciji liste), grid rapored elemenata za prikaz sadržaja kojeg čine umanjene slike (thumbnails) kao i skup događaja za prikaz podataka u beskonačnoj listi (lista koja se konstantno dopunjuje novim podacima na svom kraju).
Perfomanse kontrola su značajno unaprijeđene, tj. odziv kontrola je brži i kontrole koriste manje memorije za svoj rad (na primjer Panorama kontrola koristi 50% manje memorije nego u prethodnoj verziji). Interesantna je činjenica da su kontrole Pivot i Panorama uklonjene iz SDK i da su postavljene u dio memorije telefona koji je moguće samo čitati (ROM). Na ovaj način mnogo je učinjeno na brzini odziva aplikacije prilikom korišćenja Pivot i Panorama kontrola. ProgressBar kontrola se sada izvršava u posebnoj niti (thread) što utiče na kvalitetnije izvršavanje aplikacije.
Rezolucija ekrana
Windows Phone 8 podržava tri rezolucije:
- WVGA 480×800 px (odnos 15:9, skalirana rezolucija 480×800). Ovo je rezolucija koju podržava Windows Phone OS 7.1
- WXGA 768×1280 px (odnos 15:9, skalirana rezolucija 480×800)
- 720p 720×1280 px (odnos 16:9, skalirana rezolucija 480×853)
S obzirom da postoje 3 različite rezolucije sa dva različita odnosa 15:9 i 16:9 izuzetno je bitno da se prilikom razvoja Windows Phone 8 aplikacija vodi računa o rasporedu kontrola na stranici aplikacije tačnije da se ne vrši zakucavanje vrijednost za visinu i širinu kontrola. Za rješavanje ovog problema se savjetuje korištenje kontejner kontrole Grid i korištenje * i Auto za određivanje visine i širine redova i kolona. Na ovaj način će razvlačenje kontrola u dvije dimenzije biti odgovarajuće u odnosu na veličinu ekrana vašeg telefona.
Različite rezolucije Windows Phone 8 mogu uticati i na grafičke elemente u okviru aplikacije kao što su pozadinske slike, ikone, splash ekran, pločice i ikonice za ekran sa spiskom aplikacija. Naime, preporuka je da se za sve ove elemente kreiraju grafički elementi za rezoluciju WXGA koja ima najbolji kvalitet a sam telefon će odraditi skaliranje za ostale rezolucije. Ukoliko želite da za različite rezolucije imate savršen izgled vaših grafičkih elemenata koje odgovaraju rezoluciji telefona koja nije WXGA onda je potrebno obezbijediti posebno fajlove za ostale rezolucije. Tako je za splash ekran potrebno samo obezbijediti 3 različita fajla sa određenim nazivom dok za pozadinske slike treba obezbijediti slike za sve rezolucije i kroz kod izvršiti prepoznavanje koju rezoluciju telefon podržava. Primjer upita da li telefon podržava WXGA rezoluciju:
App.Current.Host.Content.ScaleFactor == 160;
Lančeri
Novi lančeri (Launchers) koji predstavljaju način za jednostavno pozivanje određenih funkcionalnosti u okviru Windows Phone 8 telefona su:
-
SaveAppointmentTask. Omogućava da se pokrene aplikacija za kalendar sa opcijom za unos termina novog sastanka (new appointment).
-
MapDownloaderTask. Pokretanje podešavanja za mapu i koristi se za download podataka za mapu za offline korištenje.
-
MapsTask. Omogućava pokretanje aplikacije za mapu sa centrom u lokaciji određenoj pomoću atributa Center ili da u centru mape bude prikazana trenutna pozicija korisnika telefona.
-
MapsDirectionsTask. Pokretanje aplikacije za mapu koja prikazuje instrukcije za kretanje ukoliko se obezbijede početna i/ili krajnja lokacija
-
ShareMediaTask. Pokretanje dijaloga koji služi za izbor tipa dijeljenja multimedijalnih sadržaja na socijalnim mrežama.
Novčanik i kupovina u okviru aplikacija
Nova mogućnost predstavljena u Windows Phone 8 je novčanik (Wallet). Pomoću novčanika možete na jednom centralizovanom mjestu na telefonu čuvati informacije o kreditnim karticama, kuponima, članskim kartama, čuvati informacije koje pomažu prilikom kupovine aplikacija i muzičkih sadržaja na Windows Phone Store, odraditi kupovinu pomoću bezkontaktnog pristupa (Near-Field Communication-NFC) ili obaviti kupovinu u okviru aplikacije (in-app purchase). Putem Windows Phone 8 aplikacija korištenjem Wallet API moguće je pristupiti svim stavkama novčanika i vršiti bilo koju vrstu manipulacije nad podacima kao što su kreiranje, čitanje, upisivanje i brisanje. Jedna od ključnih osobina novčanike su agenti (Wallet Agents). Agenti omogućavaju programerima da dinamički vrše izmjene stavki u novčaniku ali mogu biti korišteni da prikažu određene informacije u vidu poruka (stanje računa za određenu karticu ili prikaz informacija o posebnoj ponudi ili popust na određene proizvode).
Takođe, Window Phone 8 je predstavio novi način kupovine, kupovinu u okviru aplikacije (in-app purchase). Za programera to znači da je moguće u okviru aplikacije prodavati digitalne stvari kao što su: avatar, elektronska knjiga, otključavanje određenog nivoa igre, iznajmljivanje video materijala, prodaja virtuelnog novca kao što su zlato ili kovanice. Korisnik vrši kupovinu na način kao što kupuje aplikacije korištenjem kreditne kartice ili PayPal naloga. Nakon kupovine, Microsoft obezbjeđuje elektronski dokaz o načinjenoj kupovini sa svim relevantnim podacima koji određuju datu kupovinu.
Komunikacija između uređaja
Windows Phone 8 je uveo novi način komunikacije između Windows Phone 8 telefona pomoću Proximity API. NFC standard omogućava komunikaciju između uređaja i ovaj standard je zadužen za funkcionisanje Proximity API (proximity znači blizina na engleskom jeziku). Osnovne karakteristike NFC su komunikacija između uređaja na malim međusobnim rastojanjima (3-4 cm) sa brzinama protoka od 30 kbits/s do 60 kbits/s.
Proximity API se može koristiti za sledeće situacije:
-
Povezivanje uređaja. Ostvarivanje veze između vaše aplikacije na vašem telefonu i instance vaše aplikacije na drugom telefonu putem Wi-Fi ili Bluetooth konekcije.
-
NFC tagovi. Telefon se može koristiti za čitanje sadržaja koji sadrže NFC tagove.
-
Razmjena digitalnog sadržaja. Omogućava slanje podataka sa jednog na drugi telefon kako bi se na primjer razmijenili kontakt podaci u obliku poslovne kartice (vCard).
Na telefonima koji imaju NFC čip, korisnici mogu ostvariti prethodne scenarije povezivanja ili razmjene podataka jednostavnim međusobnim dodirivanjem telefona.
Lock ekran, pločice i notifikacija
Windows Phone 8 omogućava da se za bilo koju Windows Phone 8 aplikaciju postavi notifikacija na Lock screen. Da bi to bilo moguće, potrebno je u aplikaciji u manifest fajlu dodati ovu mogućnost notifikacije i potrebno je obezbijediti ikonicu koja će predstavljati ovu funkcionalnost. Uključivanje notifikacije je moguće programski, iz vaše aplikacije, ili kroz podešavanja u okviru telefona u okviru settings\lock screen ekrana. Pored notifikacije, moguće je u okviru Windows Phone 8 aplikacije odabrati da se vaša aplikacija ponaša kao provajder za sliku koja se potom postavlja kao pozadina na lock screen. Sistem postavljana je istovjetan kao i za notifikaciju.
Windows Phone 8 dolazi sa novim veličinama pločica (Tiles) kao i sa novim šablonima za rad sa ovim pločicama. Pločice predstavljaju vašu aplikaciju na početnom ekranu (Start screen) i pojavljuju se kada korisnik sa spiska aplikacija na telefonu odradi akciju pinovanja (pinovanje aplikacije je moguće i kroz aplikaciju). Šabloni koji se koriste za pločice su: Flip, Cycle i Iconic. Veličine pločica za rezoluciju WXGA su small (159×159 px ili 1×1), medium (226×226 px ili 2×2) i wide (691×336 px ili 2×4) i za svaku veličinu je potrebno obezbijediti odgovarajuću sliku u okviru aplikacije. Kako Windows Phone 8 podržava pored WXGA i druge dvije rezolucije WVGA i 720p sam operativni sistem vrši skaliranje slika koje ste obezbijedili za svaku od pločica sa rezolucije WXGA na odredišnu rezoluciju vašeg telefona
Podrška distribucije kompanijskih aplikacija
Windows Phone 8 omogućava distribuciju aplikacija unutar kompanije te je ovim Windows Phone 8 platforma postala ozbiljan igrač u oblasti upotrebe mobilnih uređaja za biznis. Telefoni kojima se dodjeli privilegija za pristup kompanijskim aplikacijama koji se nalaze na centralnom skladištu aplikacija Company Hub mogu instalirati aplikacije koje kompanija ima da ponudi za svoje zaposlene. Company Hub je vlasništvo isključivo kompanije i nema nikakve veze sa Windows Phone Store. S druge strane, kompanija zadržava pravo kontrole nad telefonima koji pristupaju Company Hub i ako je to potrebno moguće je da se izvrši brisanje svih podataka koji su vezani za kompaniju pri čemu se ne diraju ostali podaci sa telefona zaposlenog. Preduslovi za ostvarivanje pogodnosti postavljanja i distribucije aplikacija za zaposlene je da kompanija registruje nalog na Windows Phone Dev Center i zatraži kompanijski sertifikat od firme Symantec. Potom se kreira token koji služi da se potpišu aplikacije koje će biti postavljene na Company Hub. Aplikacije se postavljaju na sigurnu lokaciju kao što je sigurni web sajt kome kompanijski telefoni mogu pristupiti ili se aplikacije postavljaju na server gdje se postavljaju XAP fajlovi i kojima se pristupa putem servisa. Kompanija pored kreiranja aplikacije kreira i Company Hub čija je uloga pretraga kompanijskih aplikacija sa sigrune lokacije kao i instalacija tih aplikacija.
Windows Phone 8 Emulator
Windows Phone Emulator je desktop aplikacija koja emulira Windows Phone uređaj. Emulator vam nudi virtuelno okruženje koje zamjenjuje fizički uređaj i pomoću koga možete testirati vašu aplikaciju ali je preporuka da se prije postavljanja aplikacije na Windowsw Phone Store aplikacija testira i na stvarnom telefonu. Za pokretanje emulatora je potrebno da vaš računar podržava vitruelizaciju što neće biti izvodivo za malo starije računare. Emulator se pokreće pod Windows Hyper-V virtuelnom mašinom koja zahtjeva iste hardverske i softverske mogućnosti koje je potrebno da ispuni vaš računar kao za Hyper-V. Ukoliko vaš računar ne podržava rad emulatora i dalje ćete moći razvijati aplikacije za Windows Phone 8 ali ćete u tom slučaju morati testirati aplikaciju na Windows Phone 8 telefonu.
Manifest dizajner
U novom okruženju je moguće mijenjati podatke u app manifest fajlu kroz set ekrana kreiranih u grafičkom korisničkom interfejsu za razliku od prethodne verzije kada je bilo moguće mijenjati podatke u xml fajlu koji je bio prikazan u tekstualnom obliku.
