sobota, 29 czerwca 2013

BUILD 2013 (4): Windows 8.1 - co nowego w XAML i WinJS, migracja aplikacji

W tym poście podsumuję fundamentalne informacje dotyczące zmian w API w XAML i WinJS 2.0. Kolejnym istotnym tematem jest migracja dotychczasowych aplikacji na nową wersję platformy.

 

What's New in XAML

XAML uzupełnił częściowo braki kontrolek w stosunku do WinJS, dostał też m.in lepszą obsługę skórek, nowe kontrolki Hub i SearchBox, udoskonaloną kontrolkę WebView i data binding (choć nadal o mniejszej funkcjonalności niż w Silverlight i WPF), kontrolę stosu nawigacji. Trzymany jest obecnie w formacie binarnym XBF.

image

image

image

Placement=”Right” - konfiguracja położenia

image

image

Obsługa skórek

image

image

ThemeResource - podobny do dynamicznych zasobów z WPF

image

image

image

image

Ładowanie zawartości na żądanie

Podpowiedź statycznych zasobów

image

Grupowanie w kontener zaznaczonego XAML

image

Uproszczony pasek aplikacji - kontrolka CommandBar

image

Go to definition dla statycznych zasobów

image

image

image

image

image

image

image

image

image

SwapChainPanel

Overlay nad WebView

image

Rozszerzenia w WebView

image

Obsługa w WebView własnych protokołów do obróbki danych

image

Renderowanie bitmap

image

image

image

image

image

Szybszy start dłuższych list (ładowanie tylko potrzebnych elementów)

image

image

image

image

image

image

image

image

image

image

Nie trzeba restartować aplikacji przy zmianie kontrastu (ThemeResource)

 

What's New in WinJS

Nowy WinJS to kontynuacja obecnej wersji. Dostajemy udoskonalone kontrolki ListView (z natywną wydajnością!) i AppBar, nowe - Hub, SearchBox, NavBar, BackButton (dwie pierwsze dodano także do nowego XAML) oraz elementy pozwalające na lepszą strukturalizację UI - Repeater i ItemContainer. Istotnymi zmianami są nowe elementy infrastruktury - kolejkowanie asynchronicznych zadań, by odpowiednio to współgrało z samą biblioteką i systemem operacyjnym, zwalnianie obiektów (by nie zostawały w pamięci) oraz debugowanie asynchroniczne (dostępne także dla aplikacji .NET).

image

image

WinJS 2.0

  • Szybkość (np. w Hub)
  • Więcej gotowych wzorców (np. drag & drop)
  • Większa elastyczność dla indywidualizacji
  • Rozszerzona efektywność dla końcowego użytkownika

To co w WinJs 1.0, i więcej …

image

image

image

image

image

image

CellSpaningLayout w nowej aplikacji ReadingList

image

Szybka nawigacja klawiszami po nagłówkach

image

Wsparcie dla snappingu. Aplikacja Xbox Music ma ListView z Vertical GridLayout.

image

Niestandardowy layout

image

image

Drag & drop, duża wydajność, realizowany w innym wątku

image

image

image

image

Nawigacja klawiaturą

image

Dopasowanie do przestrzeni

image

Niestandardowa zawartość

image

image

image

image

Przykład z SDK

image

image

image

image

image

image

Hub w aplikacji Store

image

image

image

Pasek nawigacyjny w aplikacjach Calendar i Store

image

image

Przykład z SDK

image

image

image

image

image

SearchBox

image

Automatycznie historia

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Upgrading Windows 8 Apps to Windows 8.1

Jeśli mówimy o migracji, to aplikacje dedykowane dla Windows 8 będą oczywiście działać na Windows 8.1. Jednak będą wykonywać się wolniej i mniej płynnie niż aplikacje Windows 8.1, nie będą wykorzystywały nowych funkcjonalności i dla użytkowników nowego systemu bedą niżej pozycjonowane w Windows Store . Z tych powodów warto migrować i utrzymywać dwie wersje aplikacji (trudno jest to zrobić przez współdzielenie kodu). Migracja w niektórych przypadkach może nie wymagać zmian w samym kodzie. Na obu platformach zmienił się sposób obsługi zmiany widoku i orientacji (nie ma stanu snapowania, CSS-y są zgodne teraz z webowym standardem). W WinJS mamy więcej niekompatybilności niż w XAML np. zmienione style CSS dla ListView.

image

image

image

image

image

image

image

Kompatybilność projektu z Windows 8…

image

Menu kontekstowe na projekcie: “Retarget to Windows 8.1”

image

Po samym retargetowaniu …

image

Różnice wizualne po zmigrowaniu aplikacji HTML5. Zmiany w ListView, inne style CSS.

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Narzędzia robią to same, ale dobierając numery ręcznie trzeba o tym pamiętać.

image

image

image

Brak komentarzy: