sobota, 31 maja 2014

Windows Phone 8.1 - dokumentacja MSDN

Dokumentacja w MSDN dla aplikacji WinRT na Windows i Windows Phone także uległa konwergencji. Mamy teraz współdzieloną gałąź Windows Runtime app development, a każda strona, zagadnienie czy uwaga opatrzone są znaczkiem tabletu i/lub telefonu. Dla osób chcących skorzystać z Silverlight 8.x jest osobna gałąź Windows Phone Silverlight development. Poniżej wyrywkowo kilka dodatkowych informacji o WP 8.1, które rzuciły mi się przed oczy. Silverlight 8.1 posiada cztery nowe funkcjonalności dla aplikacji WP 8.1, które nie są dostępne dla stosu WinRT. Oczywiście dokumentacja jest bardzo obszerna i jak zajdzie potrzeba, to warto z niej skorzystać.

 

Aplikacje Windows Runtime

WinJS na WP

brak pewnych kontrolek, m.in DatePicker, TimePicker, Hub (zamiast niego zaleca się używać Pivot), SearchBox, Flyout i Menu (używać Popup), NavBar (używać AppBar), ToolTip (przekierować do następnej strony), brak wsparcia dla drag & drop w ListView

C#/VB/C++ na WP

http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn631755.aspx - helper ContinuationManager + interfejsy dla stron

Funkcjonalności:

  • WP nie wspiera długotrwających notyfikacji toast
  • można wysłać dowolny szablon z notyfikacją toast, ale i tak zawsze wygenerowany zostanie jeden widok
  • DeviceUseTrigger - w WP:
    • nie ma obsługi urządzeń USB, MTP, sieciowych (przewodowych i Wi-Fi), IDeviceIOControl
    • nie jest wymagana zgoda użytkownika
    • limit rejestracji tasków tego typu do 1 (urządzenia z 512 MB RAM) lub 2 (urządzenia z więcej niż 512 MB), nieco inne zasady podczas wykonywania

Silverlight 8.1

Kilka dodatkowych uwag:

  • nie wspiera WalletAgent z WP8 (do NFC trzeba użyć nowego NFC API)
  • lokalizowane kafelki sposobem z WP8 nie wyświetlają napisów jeśli przejdziemy na WNS
  • nie można korzystać z zarządzanych komponentów WinRT (i takich tasków w tle)
  • deklaracja DefaultTask w WMAppManifest.xml jest obowiązkowa (w przeciwieństwie do WP 8)
  • rozmiary AppBar na różnych urządzeniach (ekrany, DPI) w logicznych pikselach Silverlight nie są obecnie jednakowe
  • Silverlight/XNA zablokowany (w WP8 nieoficjalnie można było skorzystać)
  • aplikacje w foreground działają teraz w modelu STA (w WP8 MTA), zadania w tle dalej w MTA
  • jak padnie agent VOIP, to padnie także aplikacja foreground (w WP 8.1 aplikacje VOIP są zarządzane w ramach pakietu, a nie osobnych procesów)
  • trzeba wspierać wszystkie rozdzielczości
  • różnice w zachowaniu Panoramy i http
  • udoskonalony szablon dla projektu HTML5 z Web Browser
  • nie są obsługiwane pełne ścieżki w uri przy XDocument.Load
  • ms-app w parametrze konstruktura Uri
  • inaczej niż w aplikacjach WinRT implementuje się aktywację providera spotkań

Nowe funkcjonalności dostępne tylko w Silverlight 8.1:

Bindowanie kontaktów

You can use the contact bindings feature for Windows Phone Silverlight 8.1 apps to associate contacts from your app’s cloud-based contact store with local contacts on the device. When your app creates a contact binding, a tile for your app is displayed on the Connect pivot for the local contact in the People Hub. You can customize this tile to display images from your web service that are associated with the person. You can provide up to three images and the system will cycle through them. When the user taps your app’s Connect tile, your app is launched and is provided with the ID for the contact binding so you can show the user your app’s content for that person.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn642083(v=vs.105).aspx

Rozszerzenia mediów online

If you’re creating an app that uses a web service to host images or videos on behalf of your user, in Windows Phone 8.1 you can integrate your app into the built-in Photos Hub on the phone. Your app will have a tile on the Albums pivot of the Photos Hub that the user can use to quickly explore the online media hosted by your service.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn642079(v=vs.105).aspx

Integracja z kartą Me

On the Me card, a user can see their news feed and publish updates or location check-ins on social networks in one location on the phone. When your app is integrated with the Me card, the app appears in a list of apps that a user sees when they tap post an update or check in on the Me card. When the user taps your app name, your app launches and displays a UI in which the user can perform the requested task.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn744304(v=vs.105).aspx

Zmiana rozmowy z komórkowej na VOIP

http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn643752(v=vs.105).aspx

One additional step you must take to implement contact bindings for a VoIP call upgrade is specify the value CallUpgradeIdentifier as the value to the AppBindingAttributes property of the bindings you create. After a contact has been bound with your app this way, the contact is then recognized by the system as video-capable.

Zmiany w CallInProgressAgent i w aplikacji

Dodatkowe informacje o różnicach w stosunku do aplikacji WinRT:

Share target:  http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn655125(v=vs.105).aspx  (uwaga! aplikacja taka nie powinna wywoływać  ShareStatusTask, ShareLinkTask i ShareMediaTask, gdyż sama może znaleźć się na liście, co nie jest wspierane)

Appointment provider activation:  http://msdn.microsoft.com/en-us/library/windowsphone/develop/dn655123(v=vs.105).aspx

piątek, 30 maja 2014

Building Apps For Windows Phone 8.1 (JumpStart) - cz.3

Ostatni trzeci dzień Jump Start z czterema sesjami. Można odnaleźć pewne inspiracje do współdzielenia kodu między aplikacjami uniwersalnymi (z projektem Shared), a aplikacją Silverlight. Poza tym trochę bardziej szczegółówych informacji o Silverlight 8.1 np. że chodzi na tym samym runtime co aplikacje WinRT XAML. Należy zwrócić uwagę też na przypinanie w WinRT API kafelków z aktualizacją, które w podejściu wziętym wprost z Windows uśpi aplikację i nie wykona dalszego kodu na telefonie (nie jest to rzecz związana z Silverlight).

 

Building Apps for Windows Phone 8.1: (20) Tooling and Diagnostics

image

 

Building Apps for Windows Phone 8.1: (21) App Packaging, Monetization, and Publication

image

image

instalacja na SD dla aplikacji WinRT i Silverlight

image

image

image

image

 

Building Apps for Windows Phone 8.1: (22) Universal Apps for Windows

Przełączanie podglądu sharowanego XAML między projektem Windows a WP

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (23) Silverlight apps on Windows Phone 8.1

image

image

nie ma jeszcze toolkitu dla WP 8.1

dla Silverlight 8.1 ten sam runtime co dla aplikacji WinRT !!! 

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

wtorek, 27 maja 2014

Building Apps For Windows Phone 8.1 (JumpStart) - cz.2

Drugi dzień szkoleń w najnowszym Jump Start. 9 następnych odcinków (miało być 10, ale ten ostatni przeniesiono na dzień trzeci), które wnoszą interesujące uzupełnienia do ostatniego BUILD. Wśród nich warto wymienić:

  • omówienie kontrolek dla map (inna dla WP Silverlight 8/8.1, inna dla Windows 8/8.1 i jeszcze inna dla XAML w WP 8.1)
  • brak wsparcia dla serwisów WCF i ASMX w aplikacjach WP 8.1 WinRT (w Windows aplikacje WinRT mają takie wsparcie)
  • szczególowe omówienie API do zarządzania notyfikacjami w centrum akcji
  • przedstawienie nowości w NFC (wsparcie dla nowych scanariuszy, wsparcie m.in dla formatu NDEF i inteligentnych kart na urządzeniach z nowym chipem PN547)
  • szczegółowe omówienie API do nagrywania ekranu
  • przedstawienie aktualnych możliwości SqlLite, a także związanych z nim bibliotek i narzędzi

Przy każdej omawianej funkcjononalności autorzy pokazują, co było w WP8, co mamy na Windows 8.1, z czego możemy skorzystać w aplikacjach WinRT XAML w WP 8.1, a z czego w Silverlight 8.1. Dodatkowo objaśniają drobiazgowo pewne różnice w zachowaniach (np. WP mimo ponad 90%-owej konwergencji z Windows pewne parametry ignoruje, czegoś nie ma, a coś otrzymał nowego, czego nie ma w Windows). Wszystko rzetelnie, z praktycznymi przykładami, aż chce się oglądać mimo dość znaczącej ilości znanego już materiału.

 

Building Apps for Windows Phone 8.1: (11) Background Tasks and Multitasking

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (12) Maps, Geolocation, and Geofencing

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (13) Networking, Mobile Services, and Authentication

image

image

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (14) Tiles, Notifications, and Action Center

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (15) Sensors and Proximity: NFC and Bluetooth

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Dwa pierwsze pokazywane na JumpStart z WP 8

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (16) Interacting with User Data: Contacts and Appointments

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (17) Camera, Media, and Audio in Windows Phone 8.1

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (18) Windows Phone 8.1 for the Enterprise Developer

przykładowe aplikacje korporacyjne

czy jest miejsce na parkingu?  geofencing + notyfikacje

image

image

image

image

image

image

image

image

 

Building Apps for Windows Phone 8.1: (19) Programming SQLite on Windows Phone 8.1

image

image

wersja dla WP 8.1 na blogu, nie ma jeszcze oficjalnej

image

image

image

image

image

image

domyślnie klucze obce są wyłączone z powodów kompatybilności, trzeba je jawnie włączyć

image

image

image

image

image

image

image

image

image