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.
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.
Placement=”Right” - konfiguracja położenia
Obsługa skórek
ThemeResource - podobny do dynamicznych zasobów z WPF
Ładowanie zawartości na żądanie
Podpowiedź statycznych zasobów
Grupowanie w kontener zaznaczonego XAML
Uproszczony pasek aplikacji - kontrolka CommandBar
Go to definition dla statycznych zasobów
SwapChainPanel
Overlay nad WebView
Rozszerzenia w WebView
Obsługa w WebView własnych protokołów do obróbki danych
Renderowanie bitmap
Szybszy start dłuższych list (ładowanie tylko potrzebnych elementów)
Nie trzeba restartować aplikacji przy zmianie kontrastu (ThemeResource)
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).
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 …
CellSpaningLayout w nowej aplikacji ReadingList
Szybka nawigacja klawiszami po nagłówkach
Wsparcie dla snappingu. Aplikacja Xbox Music ma ListView z Vertical GridLayout.
Niestandardowy layout
Drag & drop, duża wydajność, realizowany w innym wątku
Nawigacja klawiaturą
Dopasowanie do przestrzeni
Niestandardowa zawartość
Przykład z SDK
Hub w aplikacji Store
Pasek nawigacyjny w aplikacjach Calendar i Store
Przykład z SDK
SearchBox
Automatycznie historia
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.
Kompatybilność projektu z Windows 8…
Menu kontekstowe na projekcie: “Retarget to Windows 8.1”
Po samym retargetowaniu …
Różnice wizualne po zmigrowaniu aplikacji HTML5. Zmiany w ListView, inne style CSS.
Narzędzia robią to same, ale dobierając numery ręcznie trzeba o tym pamiętać.
Brak komentarzy:
Prześlij komentarz