Flutter i Dart Receptury

Book description

Tworzenie oprogramowania wymaga zarówno umiejętności, jak i wysiłku. Jeśli jednak zależy Ci na szybkich i satysfakcjonujących efektach, wypróbuj wieloplatformowy framework Flutter i język Dart. Obydwie technologie zapewniają bogaty zestaw narzędzi dla programistów i są świetnym punktem startowym do tworzenia pięknych aplikacji niewielkim nakładem pracy.

Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework Flutter czy posługiwania się rozwiązaniami dostawców usług chmurowych. Dowiesz się, jak należy pracować z bazami Firebase i platformą Google Cloud. Przy czym poszczególne receptury, poza rozwiązaniami problemów, zawierają również nieco szersze omówienia, co pozwoli Ci lepiej wykorzystać zalety Fluttera i Darta - spójnego rozwiązania do wydajnego budowania aplikacji!

Znajdziesz tu przykłady zastosowania języka Dart i frameworka Flutter w rozwiązywaniu problemów. Wisienką na torcie jest omówienie Firebase i Google Cloud!

Rob Edwards, Google Cloud UK&I

Dzięki recepturom:

poznasz zasady efektywnej pracy z Dartem
nauczysz się korzystać z narzędzi Fluttera
dowiesz się, jak integrować rozwiązania chmurowe z aplikacjami Fluttera
rozwiążesz problemy związane z zarządzaniem danymi przez API
rozpoczniesz pracę z bazami danych Firebase
zaczniesz budować wieloplatformowe, efektywne i efektowne aplikacje

Świetna książka dla każdego, kto chce się nauczyć języka Dart i frameworka Flutter!

Alex Moore, Google Cloud UK&I

Table of contents

  1. Wstęp
    1. Dla kogo jest ta książka?
    2. Dlaczego napisałem tę książkę?
    3. Organizacja książki
    4. Konwencje typograficzne przyjęte w tej książce
    5. Podziękowania
  2. Rozdział 1. Zmienne w języku Dart
    1. 1.1. Uruchamianie aplikacji napisanej w języku Dart
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 1.2. Praca z wartościami całkowitymi
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 1.3. Praca z wartościami zmiennoprzecinkowymi
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 1.4. Praca z wartościami boolowskimi
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 1.5. Praca z wartościami tekstowymi
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 1.6. Wyświetlanie informacji w konsoli
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 1.7. Dodawanie stałej (czas kompilacji)
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    8. 1.8. Dodawanie stałej (czas działania aplikacji)
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    9. 1.9. Praca ze zmiennymi null
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  3. Rozdział 2. Przepływ sterowania
    1. 2.1. Sprawdzanie, czy warunek został spełniony
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 2.2. Zapętlanie, dopóki nie zostanie spełniony warunek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 2.3. Iteracja po zakresie elementów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 2.4. Warunkowe wykonywanie instrukcji na podstawie wartości
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 2.5. Przedstawianie wartości za pomocą wyliczeniowego typu danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 2.6. Implementacja obsługi błędów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  4. Rozdział 3. Implementacja funkcji
    1. 3.1. Deklaracja funkcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 3.2. Dodawanie parametrów do funkcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 3.3. Stosowanie parametrów nieobowiązkowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 3.4. Zwracanie wartości przez funkcje
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 3.5. Deklaracja funkcji anonimowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 3.6. Dodawanie funkcjonalnego opóźnienia za pomocą klasy Future
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  5. Rozdział 4. Obsługa list i map
    1. 4.1. Tworzenie listy danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 4.2. Dodawanie elementów do listy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 4.3. Stosowanie list ze złożonymi typami danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 4.4. Obsługa par klucz-wartość w mapach
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 4.5. Wyświetlanie zawartości mapy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 4.6. Sprawdzanie zawartości mapy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 4.7. Wyświetlanie złożonych typów danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  6. Rozdział 5. Wprowadzenie do języka Dart zorientowanego obiektowo
    1. 5.1. Dart zorientowany obiektowo — początek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 5.2. Tworzenie klasy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 5.3. Inicjalizacja klasy za pomocą konstruktora
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 5.4. Dziedziczenie klasy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 5.5. Dodawanie interfejsu klasy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 5.6. Domieszkowanie
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  7. Rozdział 6. Testowanie w języku Dart
    1. 6.1. Dodawanie w swojej aplikacji paczki do testowania
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 6.2. Budowa przykładowej aplikacji testowej
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 6.3. Uruchamianie testów jednostkowych w aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 6.4. Grupowanie wielu testów jednostkowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 6.5. Dodawanie sztucznych danych na potrzeby testów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  8. Rozdział 7. Wprowadzenie do frameworku Flutter
    1. 7.1. Makieta interfejsu aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 7.2. Tworzenie wzoru projektu Fluttera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 7.3. Usuwanie baneru debugowania
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 7.4. Rozpoznawanie widżetów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 7.5. Drzewo widżetów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 7.6. Przyspieszenie wyświetlania się widżetów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  9. Rozdział 8. Dodawanie zasobów
    1. 8.1. Plik pubspec.yaml
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 8.2. Dodawanie folderu zasobów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 8.3. Odwoływanie się do obrazu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 8.4. Paczka Google Fonts
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 8.5. Importowanie paczek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  10. Rozdział 9. Praca z widżetami
    1. 9.1. Tworzenie bezstanowego widżetu we Flutterze
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 9.2. Tworzenie stanowego widżetu we Flutterze
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 9.3. Refaktoryzacja widżetów Fluttera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 9.4. Zastosowanie klasy Scaffold
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 9.5. Dodanie nagłówka widżetu AppBar
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 9.6. Budowa kontenera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 9.7. Zastosowanie widżetu Center
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    8. 9.8. Zastosowanie widżetu SizedBox
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    9. 9.9. Zastosowanie widżetu Column
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    10. 9.10. Zastosowanie widżetu Row
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    11. 9.11. Zastosowanie widżetu Expanded
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  11. Rozdział 10. Tworzenie interfejsów użytkownika
    1. 10.1. Używanie paczki z czcionkami Google
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 10.2. Zastosowanie widżetu RichText
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 10.3. Rozpoznawanie platformy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 10.4. Zastosowanie widżetu Placeholder
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 10.5. Zastosowanie widżetu LayoutBuilder
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 10.6. Uzyskanie wymiarów ekranu za pomocą klasy MediaQuery
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  12. Rozdział 11. Porządkowanie danych wyświetlanych na ekranie
    1. 11.1. Implementacja pionowego widżetu ListView
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 11.2. Implementacja poziomego widżetu ListView
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 11.3. Dodawanie widżetu SliverAppBar
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 11.4. Dodawanie widżetu SliverList
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 11.5. Dodawanie widżetu GridView
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 11.6. Dodawanie widżetu SnackBar
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  13. Rozdział 12. Nawigacja we Flutterze
    1. 12.1. Dodawanie nawigacji między stronami za pomocą tras (imperatywnie)
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 12.2. Dodawanie nawigacji między stronami za pomocą tras (deklaratywnie)
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 12.3. Implementacja nawigacji typu szuflada
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 12.4. Praca z zakładkami
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 12.5. Dodawanie dolnego paska nawigacyjnego
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 12.6. Zastosowanie kluczy do przekazywania informacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  14. Rozdział 13. Obsługa danych
    1. 13.1. Strategiczne zyskanie dostępu do danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 13.2. Refaktoryzacja danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 13.3. Generowanie klas Darta z danych w formacie JSON
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 13.4. Asynchroniczne użycie lokalnych danych JSON
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 13.5. Przetwarzanie zestawu danych w formacie JSON z folderu zasobów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 13.6. Dostęp do zdalnych danych w formacie JSON
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  15. Rozdział 14. Testowanie interfejsu użytkownika
    1. 14.1. Testy automatyczne widżetów we Flutterze
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 14.2. Przeprowadzanie automatycznych testów widżetów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 14.3. Przeprowadzanie testów integracyjnych z użyciem biblioteki Flutter Driver
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 14.4. Testowanie kompatybilności z systemami Android i iOS
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  16. Rozdział 15. Praca z Firebase i Flutterem
    1. 15.1. Użycie platformy Firebase z Flutterem
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 15.2. Konfiguracja projektu Firebase
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 15.3. Inicjalizacja SDK Firebase dla lokalnego tworzenia aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 15.4. Konfiguracja emulatorów Firebase
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 15.5. Dodanie paczki flutterfire_cli do środowiska programistycznego
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 15.6. Integracja z bazą danych Firestore
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 15.7. Zapis danych w bazie danych Firestore
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    8. 15.8. Odczyt danych z bazy Cloud Firestore
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    9. 15.9. Dodanie uwierzytelniania Firebase do aplikacji Fluttera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    10. 15.10. Aplikacja webowa we Flutterze z hostingiem Firebase
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  17. Rozdział 16. Wprowadzenie do usług chmurowych
    1. 16.1. Rozpoczęcie pracy z dostawcami usług chmurowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 16.2. Zarządzanie tożsamością i dostępem
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 16.3. Hostowanie obiektu w chmurze
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 16.4. Tworzenie backendowego serwera HTTP za pomocą Darta
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 16.5. Budowa kontenera Dart
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 16.6. Wprowadzenie do rozwiązań bezserwerowych z użyciem Darta
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  18. Rozdział 17. Rozpoczęcie przygody z tworzeniem gier
    1. 17.1. Dodawanie paczki Flame do frameworku Flutter
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    2. 17.2. Tworzenie podstawowej gry za pomocą Flame
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 17.3 Dodawanie sprite’a
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    4. 17.4. Dodawanie poziomego ruchu do sprite’a
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 17.5. Dodawanie automatycznego ruchu pionowego do sprite’a
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    6. 17.6. Dodawanie wykrywania kolizji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 17.7. Wyświetlanie tekstu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    8. 17.8. Dodawanie prostej grafiki
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    9. 17.9. Dodawanie efektów dźwiękowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  19. Dodatek Konfiguracja środowiska
    1. Wybór instalacji Darta
    2. Uruchamianie kodu Dart w DartPadzie
    3. Instalacja frameworku Flutter
    4. Użycie narzędzia Flutter Doctor
    5. Instalacja Dart SDK
    6. Programowanie z Visual Code
    7. Instalacja rozszerzenia Dart w Android Studio
    8. Ustawienie kanału wydania
    9. Ustawienie platformy docelowej za pomocą konfiguracji Fluttera
    10. O autorze
    11. Kolofon

Product information

  • Title: Flutter i Dart Receptury
  • Author(s): Richard Rose
  • Release date: February 2024
  • Publisher(s): Helion
  • ISBN: 9788328907096