Windows 10. Programowanie uniwersalnych aplikacji mobilnych - ebook
Windows 10. Programowanie uniwersalnych aplikacji mobilnych - ebook
Windows 10 to uniwersalna platforma kontrolująca komputery stacjonarne, urządzenia mobilne, rozproszone urządzenia wbudowane IoT (Internet of Things), smartfony, stacje robocze, komputery przenośne, tablety, urządzenia Surface Hub, konsole Xbox, a także okulary holograficzne HoloLens. Z tego powodu, uniwersalna platforma Windows (UWP) otwiera przed programistami olbrzymie możliwości, gdyż tworzenie aplikacji na tę platformę realizuje się z wykorzystaniem jednego zestawu narzędzi programistycznych. Automatycznie umożliwia to tworzenie oprogramowania dla olbrzymiego grona użytkowników oraz dla zaawansowanych urządzeń mobilnych i optoelektronicznych. W tej książce, za pomocą dużej ilości przykładowych aplikacji, omówione zostały techniki tworzenia aplikacji UWP.
W szczególności publikacja zawiera informacje o: - aspektach programowania uniwersalnych aplikacji, dostępnych modelach tworzenia aplikacji UWP, a także technikach programowania asynchronicznego, - deklarowaniu interfejsu użytkownika z wykorzystaniem języka XAML, adaptywnych wyzwalaczy styli, dynamicznego konfigurowania stanów komponentów wizualnych, a także nowych kontrolek do tworzenia adaptywnego interfejsu użytkownika aplikacji UWP - tworzeniu animacji oraz konstruowania dwu- i trójwymiarowych przekształceń elementów wizualnych, - zaawansowanych funkcjach systemu Windows 10, takich jak: odczytywanie lokalizacji urządzenia, komunikacja z serwisami sieciowymi, serwisy aplikacji, pobieranie informacji z wbudowanych czujników urządzenia (akcelerometr, magnetometr, czujnik światła, wysokościomierz), rozpoznawanie twarzy, czy pisma odręcznego, a nawet syntezacja mowy, - technikach nawigacji pomiędzy widokami aplikacji, tworzeniu animowanych przejść, jak również przekazywania danych pomiędzy stronami, a także wzorzec architektoniczny Model View ViewModel oraz techniki dostępu do baz danych SQLite, - tworzeniu i aktualizowaniu dynamicznych kafelków oraz adaptywne i interaktywne notyfikacje typu toast.
Spis treści
Od Autora
1. Wprowadzenie do programowania uniwersalnych aplikacji dla platformy Windows
1.1. Programowanie uniwersalnych aplikacji wieloplatformowych
1.2. Przygotowanie środowiska pracy
1.3. Modele programowania aplikacji UWP
1.3.1. C#/XAML
1.3.2. VB/XAML
1.3.3. C++/XAML
1.3.4. JS/HTML/CSS
1.4. Opis struktury projektu
1.5. Podsumowanie
2. Programowanie asynchroniczne
2.1. Wprowadzenie
2.2. Model programowania wielowątkowego uniwersalnych aplikacji Windows
2.3. Uzasadnienie potrzeby wykorzystania wątków
2.4. Wątki robocze i współdzielony dostęp do komponentów interfejsu użytkownika
2.5. Przerywanie działania wątków roboczych
2.6. Modyfikatory async i await
2.7. Raportowanie postępu operacji asynchronicznej
2.8. Wbudowane mechanizmy zrównoleglania kodu
2.9. Klasa DispatcherTimer
2.10. Synchronizacja wątków
2.11. Podsumowanie
3. XAML i projektowanie interfejsu użytkownika
3.1. Wprowadzenie
3.2. Przestrzenie nazw
3.3. Znaczniki, atrybuty i właściwości
3.4. Zdarzenia
3.5. Propagacja zdarzeń
3.6. Rozszerzenia znaczników i wiązanie właściwości kontrolek
3.7. Właściwości dołączane
3.8. Pozycjonowanie komponentów wizualnych
3.8.1. StackPanel
3.8.2. Grid
3.8.3. RelativePanel
3.9. Podsumowanie
4. Formatowanie kontrolek
4.1. Wprowadzenie
4.2. Deklaracja i definicja stylu
4.3. Rozszerzanie styli i szablony kontrolek
4.4. VisualStateManager
4.5. Wyzwalacze stanów wizualnych
4.6. Zasoby aplikacji i słowniki zasobów
4.7. Automatyczne tworzenie i stosowanie styli oraz szablonów kontrolek
4.8. Domyślne style kontrolek i plik generic.xaml
4.9. StyleSelector
4.10. Przykładowy projekt – Kalkulator
4.11. Podsumowanie
5. Animacje, efekty przejść, transformacje afiniczne i przekształcenia 3D
5.1. Wprowadzenie
5.2. Biblioteka animacji
5.2.1. Efekty przejść
5.2.2. Efekty animacji
5.3. Dynamiczna konfiguracja i kontrola scenorysu
5.4. Tworzenie własnych efektów animacji
5.4.1. DoubleAnimation
5.4.2. ColorAnimation
5.4.3. PointAnimation
5.5. Nieliniowa modyfikacja animowanych własności
5.6. KeyFrames – definiowanie stanów pośrednich animacji
5.7. Matematyczne podstawy transformacji kontrolek i klasa MatrixTransform
5.8. Przekształcenia kontrolek w trzech wymiarach
5.9. Efekty przejść pomiędzy stanami wizualnymi
5.10. Blend i projektowanie animacji
5.11. Podsumowanie
6. Przegląd podstawowych kontrolek
6.1. Wprowadzenie
6.2. Kontrolki typu AppBar
6.3. AutoSuggestBox i PasswordBox
6.4. ToggleSwitch i ToggleButton
6.5. ComboBox i ListBox
6.6. ProgressBar i ProgressRing
6.7. ScrollViewer
6.8. DatePicker, TimePicker
6.9. CalendarDatePicker, CalendarView
6.10. Flyout, MenuFlyout oraz PickerFlyout
6.10.1. Flyout
6.10.2. MenuFlyout
6.10.3. PickerFlyout
6.11. Podsumowanie
7. Zaawansowane kontrolki i wbudowane mechanizmy systemu Windows 10
7.1. Wprowadzenie
7.2. Kontrolka Image i detekcja twarzy 305
7.3. InkCanvas i rozpoznawanie pisma
7.4. WebView i serwisy sieciowe
7.4.1. WebView i serwis Google Maps
7.4.2. Deserializacja obiektów JSON
7.5. MapControl i odczytywanie lokalizacji
7.6. SemanticZoom i wiązanie danych z kontrolkami
7.7. MediaElement i syntezacja mowy
7.8. Dostęp do warstwy sprzętowej
7.9. Podsumowanie
8. Gesty oraz ich programowa obsługa
8.1. Wprowadzenie
8.2. Rodzaje gestów dotykowych
8.3. Programowa obsługa gestów
8.3.1. Zdarzenia myszy
8.3.2. Zdarzenia manipulacji
8.4. Niskopoziomowa obsługa gestów i klasa GestureRecognizer 378
8.5. Podsumowanie
9. Cykl życia, aktywacja aplikacji oraz serwisy aplikacji
9.1. Wprowadzenie
9.2. Cykl życia aplikacji i zapisywanie ustawień aplikacji
9.3. Aktywacja aplikacji zainstalowanych w systemie 391
9.4. Aktywacja aplikacji systemowych
9.5. Serwisy aplikacji i interfejs IBackgroundTask
9.6. Podsumowanie
10. Rozszerzenia SDK i programowanie adaptywne
10.1. Wprowadzenie
10.2. Rdzeń platformy (.NET Core)
10.3. Rozszerzenia SDK
10.4. Tworzenie widoków dedykowanych specyficznej platformie
10.5. Podsumowanie
11. Nawigacja pomiędzy widokami i wzorzec architektoniczny MVVM
11.1. Wprowadzenie
11.2. Rodzaje nawigacji
11.3. Pivot
11.4. Hub
11.5. Programowa kontrola nawigacji z wykorzystaniem metod klasy Frame
11.6. Obsługa przycisku Wstecz
11.7. Zapisywanie stron w pamięci podręcznej
11.8. Animowanie przejść pomiędzy widokami
11.9. Stos odwiedzonych widoków
11.10. Kontrolka SplitView i wzorzec architektoniczny MVVM
11.10.1. Klasy pomocnicze
11.10.2. Implementacja modeli
11.10.3. Obiekty typu ViewModel
11.10.4. Widoki aplikacji
11.11. Podsumowanie
12. Baza danych SQLite
12.1. Wprowadzenie
12.2. Instalacja narzędzi i konfiguracja projektu
12.3. Tworzenie bazy danych, tabeli oraz operacje typu CRUD
12.4. Podsumowanie
13. Dynamiczne kafelki, notyfikacje i centrum akcji
13.1. Wprowadzenie
13.2. Dynamiczne kafelki
13.3. Pomocnicze kafelki
13.4. Notyfikacje typu toast i centrum akcji
13.5. Scenariusze notyfikacji
13.6. Interaktywne notyfikacje
13.7. Wysyłanie notyfikacji z tła
13.8. Podsumowanie
Zakończenie
Dodatek. Instalacja środowiska Visual Studio 2015 Enterprise
Wprowadzenie
Proces instalacji
Podsumowanie
Indeks
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-01-18481-0 |
Rozmiar pliku: | 3,7 MB |
FRAGMENT KSIĄŻKI
Windows 10 to uniwersalny system operacyjny przeznaczony dla komputerów stacjonarnych, urządzeń mobilnych, rozproszonych urządzeń wbudowanych IoT (Internet of Things), smartfonów, stacji roboczych, komputerów przenośnych, tabletów, urządzeń Surface Hub, konsoli Xbox, a także okularów holograficznych HoloLens.
Po miesiącu od swojej premiery system Windows 10 został zainstalowany na 75 milionach urządzeń, a docelowo, zgodnie z założeniami jego twórców, ma on kontrolować bilion różnego rodzaju urządzeń. Z tego powodu, uniwersalna platforma Windows (UWP) otwiera przed programistami olbrzymie możliwości, gdyż tworzenie aplikacji na tę platformę realizuje się z wykorzystaniem jednego zestawu narzędzi programistycznych. Dzięki temu twórcy aplikacji mogą powiększyć grono swoich użytkowników i programować zaawansowane urządzenia mobilne i optoelektroniczne, zamiast tworzyć aplikacje wyłącznie dla komputerów, tabletów i smartfonów.
W tej książce, za pomocą dużej liczby przykładowych aplikacji, zostały omówione techniki tworzenia aplikacji UWP. Rozdział 1 zawiera opis podstawowych aspektów programowania uniwersalnych aplikacji oraz modele programowania dostępne w interfejsie programistycznym systemu Windows 10. W rozdziale 2 są omówione zasady programowania wielowątkowego, ponieważ wiele metod zaimplementowanych w ramach interfejsu programistycznego Windows 10 jest asynchronicznych. Rozdziały 3–6 dotyczą zagadnień związanych z tworzeniem interfejsu użytkownika aplikacji UWP. W szczególności opisano podstawy języka XAML, wykorzystywanego do deklarowania widoków aplikacji (rozdział 3), a także techniki formatowania (rozdział 4) i animowania elementów wizualnych (rozdział 5). W rozdziale 6 jest przedstawiony przegląd podstawowych kontrolek dostępnych w interfejsie programistycznym UWP.
Po dokładnym omówieniu tworzenia interfejsu użytkownika aplikacji UWP opisane zostały zaawansowane funkcjonalności zaimplementowane w systemie Windows 10, takie jak: odczytywanie lokalizacji urządzenia, komunikacja z serwisami sieciowymi, dostęp do warstwy sprzętowej, rozpoznawanie twarzy czy pisma odręcznego, a nawet synteza mowy (rozdział 7).
W rozdziale 8 są omówione aspekty dotyczące programowania aplikacji reagujących na dotyk, a w rozdziale 9 znajdują się informacje o cyklu życia i aktywacji aplikacji. Z kolei rozdział 10 traktuje o rozszerzeniach interfejsu programistycznego UWP oraz o programowaniu adaptywnym. Nawigacja pomiędzy widokami aplikacji, a także wzorzec architektoniczny Model View zostały przedstawione w rozdziale 11, a wykorzystanie baz danych SQLite – w rozdziale 12. Z kolei tworzenie powiadomień, jak również dynamicznych i pomocniczych kafelków oraz ich aktualizacja jest tematem rozdziału 13.
Ta książka nie zawiera szczegółowego opisu języka C#. Zamiast tego koncentruje się głównie na jego wykorzystaniu do implementowania przykładowych aplikacji dla uniwersalnej platformy Windows 10. Warto również zwrócić uwagę na wykorzystywaną nomenklaturę dotyczącą funkcji, metod i procedur. Formalnie rzecz biorąc, w programowaniu proceduralnym funkcja to zbiór poleceń, których wynikiem jest wartość określonego typu. Metoda to w programowaniu obiektowym szczególny przypadek funkcji, działającej na rzecz danego obiektu, a procedura to funkcja niezwracająca żadnej wartości. W tej książce w celu ograniczenia powtórzeń te pojęcia (metoda, funkcja i procedura) stosowane są wymiennie.
Książka zawiera dużą liczbę listingów, które ze względu na ograniczenie długości linii, w wielu miejscach musiały być łamane. W związku z tym podczas samodzielnego implementowania przykładowych aplikacji na podstawie zawartych tu listingów należy zwrócić uwagę na to, aby wszelkie zmienne znakowe, jak również niektóre ze znaczników (np. {x:Bind}) były zapisane w jednej linii. Niezależnie od tego, wszystkie kody źródłowe mogą zostać pobrane z witryny księgarni Wydawnictwa Naukowego PWN.
Tytuł książki dotyczy aplikacji mobilnych. Taki był również jej główny cel. Mianowicie, aby zaprezentować techniki programowania aplikacji mobilnych na platformie Windows. Jednakże, ze względu na integrację interfejsów programistycznych dla platform mobilnych i desktopowych, dostępną w UWP, wszystkie przedstawione tu przykłady mogą być uruchamiane na urządzeniach mobilnych i desktopowych. Z tego powodu prezentowane zrzuty ekranu zawierają przykładowe działanie aplikacji w trybie desktop oraz na emulatorach urządzeń mobilnych z systemem Windows 10.
W tym miejscu chciałbym podziękować mojej żonie Agnieszce i córce Zuzannie za wyrozumiałość okazaną mi podczas pisania tej książki.
Dawid Borycki, sierpień 2015