Pewne uzupełnienia do rzeczy wspominanych wcześniej, które wyłuskałem z dokumentacji MSDN. Spośród różnych rzeczy zwróćmy dodatkowo uwagę na wyświetlanie zawartości folderu, przekazywanie tokenu do pliku między aplikacjami, wyświetlanie zakładek Settings, walidację w kontrolkach XAML, obsługę stanu baterii, urządzeń IoT, strumieniowanie multimediów, transkodowanie w tle, warstwy w kompozycji multimedialnej, taski po zakończeniu transferu w tle, nowy trace logging, optymalizację przewijania list, skróty klawiszowe.
What’s new in Windows 10 Developer Preview
model aplikacji
- Launcher.LaunchFolderAsync - wyświetlenie zawartości folderu za pomocą eksploatora plików
- Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager - przekazywanie tokenu do pliku przy wywoływaniu drugiej aplikacji przez Uri
- wyświetlanie zakładek aplikacji Settings za pomocą Launcher.LaunchUriAsync i protokołu ms-settings
kontrolki
- WebView - nowe zdarzenia
- walidacja dla kontrolek XAML - każda z nich ma kolekcję ValidationErrors i propercję read-only ValidationState wpływającą na wizualne prezentowanie informacji o błędzie, można ustawić jej własny styl za pomocą ValidationIndicatorStyle lub zadecydować o pokazaniu/ukryciu – IsValidationIndicatorEnabled
- Windows.UI.Text.Core - dla własnych kontrolek tekstowych
urządzenia
- nowy sposób pytania użytkownika o pozwolenie na skorzystanie z geolokalizacji - RequestAccessAsync
- Windows.Devices.AllJoyn - implementacja środowiska Open Source z myślą o IoT
- Windows.Devices.Power - odczytanie informacji o stanie baterii
- Windows.Devices.Midi - obsługa urządzeń MIDI
- Windows.Devices.Sensors.Custom - definiowanie własnych czujników przez producentów sprzętu
media
- HTTP Live Streaming - nowa klasa AdaptiveMediaSource, obsługa protokołów w manifeście: Http Live Streaming (HLS), Dynamic Adaptive Streaming over HTTP (DASH) i Smooth Streaming
- Media Foundation Transcode Video Processor (XVP) w transformacjach Media Foundation (MFTs) - konwersja, skalowanie, transformacja surowych danych
- MediaProcessingTrigger - wykonywanie transkodowania w tasku w tle
- MediaElement - odtwarza materiał nawet przy problemie ze zdekodowaniem niektórych strumieni (wystarczy jeden poprawny), nowe zdarzenie PartialMediaFailureDetected
- integracja aplikacji desktop z systemowymi kontrolkami do odtwarzania multimediów
- kodowanie i dekodowanie JPEG z losowym dostępem
- wzbogacanie kompozycji multimedialnej o warstwy - MediaOverlay, MediaOverlayLayer
- Windows.Media.Effects - framework do definiowania efektów audio i wideo
sieć
- sokety
- socket broker - możliwość ustanawiania i zamykania połączeń w dowolnym stanie aplikacji w jej cyklu życia (np. wtedy, kiedy się nie wykonuje)
- optymalizacja przepustowości w Windows.Networking.Sockets
- definiowanie grupy tasków po zakończeniu transferu w tle - możliwość wykonania zadania w odpowiedzi na sukces lub błąd bez potrzeby czekania na uruchomienie/przywrócenie aplikacji przez użytkownika (BackgroundTransferCompletionGroup, BackgroundTransferCompletionGroupTriggerDetails)
- Windows.Devices.Bluetooth.Advertisement - wysyłanie, odbieranie, filtrowanie komunikatów Bluetooth LE
- Wi-Fi Direct
- parowanie urządzeń bez opuszczania aplikacji
- Windows.Devices.WiFiDirect - dodatki do bycia wykrywalnym, odbierania notyfikacji o połączeniu
bezpieczeństwo
- kodowanie ECC (alternatywa do RSA)
systemowe usługi
- informowanie aplikacji desktop o stanie baterii
- pobieranie informacji o wersji systemu - m.in nowa funkcja IsWindows10OrGreater
narzędzia i wydajność
- RegisterPropertyChangedCallback - rejestracja handlera do zmian dependency property wbudowanej w WinRT, do której nie ma zdefiniowanych zdarzeń (np. FrameworkElement.Tag)
- TraceLogging - nowe API bazujące na Event Tracing for Windows (ETW), nie wymagające definiowania manifestu w XML, dedykowane API dla WinRT, zarządzanego .NET oraz C/C++
user experience
- wirtualizacja przewijania - nowe zdarzenie ListViewBase.ChooseItemContainer w ListView i GridView w XAML, elementy są utrzymywane w widoku zamiast pełnego resetowania listy, tylko zmienione elementy są przetwarzane i wiązane z kontenerami
- Windows.ApplicationModel.DataTransfer.DragDrop - drag & drop pomiędzy aplikacjami desktop (także z folderów) a WinRT
- Windows.UI.Xaml.KeyAccelerator - skróty klawiszowe, możliwość lokalizacji
Guide to Windows universal apps
- możemy targetować aplikację także na wybraną rodzinę urządzeń (np. desktop) lub wybrane grupy urządzeń (np. desktop i mobile), nie musimy zawsze pisać aplikacji na wszystko
- możemy też wykluczyć niektóre wersje w danej rodzinie urządzeń
- istniejące aplikacje Silverlight i WinRT uruchamiają się na Windows 10, zachowując wygląd i zachowanie, po upgradzie do WinRT 10-tki mogą wystąpić różnice
- współczynniki skalowania kompatybilne z Android i iOS (400%, 200%, 100%)
- nowy InkCanvas / InkPresenter w XAML (m.in możliwość umieszczenia powstałej treści w innym elemencie UI)
- własna obsługa gestów
- nowy CoreInput - niskopoziomowe przechwytywanie w głównym wątku lub w wątku w tle
- PointerInput - zunifikowana obsługa dotyku, myszy i pióra korzystająca z CoreInput
- PointerDevice - odpytanie urządzenia o jego możliwości
- najnowsza wykładnia: XAML razem z C++/.NET daje “natywny experience”, JavaScript współdziała z “cross-platformowym” HTML (ani słowa o WinJS, czyżby mała rezygnacja, że aplikacja HTML5 to jednak nie taki natywny experience jak XAML ? byłoby to kolejne upodobnienie do możliwości Android i iOS, ale jakby krok wstecz)
- w dokumentacji API patrzymy na klasę urządzeń (np. Windows.UI.Core.SystemNavigationManager to “universal”)
- publikacja w Store nie jest jeszcze możliwa
Brak komentarzy:
Prześlij komentarz