Facebook - konwersja
  • promocja

Programowanie w języku Kotlin. The Big Nerd Ranch Guide - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
11 października 2019
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Programowanie w języku Kotlin. The Big Nerd Ranch Guide - ebook

Gdy w 2017 roku na konferencji Google ogłoszono, że Kotlin jest jednym z oficjalnie wspieranych języków programowania aplikacji dla Androida, język ten błyskawicznie stał się popularny. Najpoważniejsze firmy technologiczne doceniają jego zalety, takie jak zwarta składnia i integracja z kodem Javy. Co ważne, twórcy Kotlina czerpali z doświadczeń projektantów Javy i zapewnili, że te dwa języki są ze sobą ściśle powiązane. W ten sposób świeżość rozwiązań i nowoczesne mechanizmy zostały znakomicie połączone z najlepszymi cechami Javy, a Kotlin stał się wszechstronnym wieloplatformowym językiem programowania.

Ta książka jest przeznaczona dla programistów, którzy chcą poznać język o możliwościach wykraczających poza Javę i pisać solidne aplikacje dla różnych platform. Pozwala w praktyczny sposób zapoznać się z unikalnymi możliwościami Kotlina i - na podstawie licznych przykładowych projektów - stopniowo zgłębiać złożone zagadnienia. Znakomitym uzupełnieniem prezentowanych treści są informacje o wewnętrznych mechanizmach działania języka wraz z ćwiczeniami do samodzielnego wykonania. Dzięki tej książce nawet początkujący programista szybko zacznie pisać efektywne i solidne aplikacje, które będą służyć użytkownikom różnych platform.

W tej książce między innymi:

  • wprowadzenie do Kotlina
  • funkcje w Kotlinie, w tym funkcje anonimowe
  • praca na obiektach: dziedziczenie, klasy, klasy abstrakcyjne
  • programowanie funkcyjne w Kotlinie
  • najciekawsze biblioteki i współdziałanie z Javą

Big Nerd Ranch mieści się w Atlancie w USA. Firma została założona w 2001 roku przez Aarona Hillegassa, znakomitego programistę i trenera programowania. Jej misją jest krzewienie wiedzy o rozwijających się technologiach mobilnych. Słynie ze świetnych szkoleń i znakomitych trenerów.

Kotlin: najlepsze rozwiązania nie tylko dla Androida!

Spis treści


Podziękowania 13

Przedstawienie Kotlina 15

  • Dlaczego Kotlin? 15
  • Dla kogo jest przeznaczona ta książka? 16
  • Jak korzystać z tej książki? 16
    • Dla ciekawskich 17
    • Wyzwania 17
    • Konwencje typograficzne 17
  • Patrząc w przyszłość 17

1. Pierwsza aplikacja w Kotlinie 19

  • Instalowanie IntelliJ IDEA 19
  • Pierwszy projekt programu w Kotlinie 20
    • Tworzenie pierwszego pliku źródłowego w Kotlinie 25
    • Wykonywanie pliku źródłowego 27
  • Kotlin REPL 29
  • Dla ciekawskich: Dlaczego warto używać właśnie IntelliJ? 30
  • Dla ciekawskich: Pisanie kodu przeznaczonego na JVM 31
  • Wyzwanie: Arytmetyka REPL 32

2. Zmienne, stałe i typy 33

  • Typy 33
  • Deklarowanie zmiennych 34
  • Wbudowane typy języka Kotlin 36
  • Zmienne tylko do odczytu 37
  • Wnioskowanie typów 40
  • Stałe czasu kompilacji 41
  • Oglądanie kodów bajtowych 42
  • Dla ciekawskich: Podstawowe typy danych Javy w Kotlinie 45
  • Wyzwanie: hasSteed 46
  • Wyzwanie: Szynk Hipolit'a 46
  • Wyzwanie: Magiczne lustro 46

3. Instrukcje warunkowe 47

  • Instrukcje if/else 47
    • Dodawanie kolejnych warunków 50
    • Zagnieżdżone instrukcje if/else 52
    • Bardziej eleganckie wyrażenia warunkowe 53
  • Zakresy 59
  • Wyrażenia when 60
  • Szablony łańcuchowe 62
  • Wyzwanie: Eksperymenty z zakresami 64
  • Wyzwanie: Rozbudowa aury 64
  • Wyzwanie: Konfigurowalny format statusu 65

4. Funkcje 67

  • Wyodrębnianie kodu do funkcji 67
  • Anatomia funkcji 69
    • Nagłówek funkcji 70
    • Ciało funkcji 72
    • Zasięg funkcji 73
  • Wywoływanie funkcji 74
  • Refaktoryzacja funkcji 75
  • Pisanie własnych funkcji 76
  • Argumenty domyślne 78
  • Funkcje jednowyrażeniowe 79
  • Funkcje typu Unit 80
  • Nazwane argumenty funkcji 81
  • Dla ciekawskich: Typ Nothing 82
  • Dla ciekawskich: Funkcje plikowe w Javie 83
  • Dla ciekawskich: Przeciążanie funkcji 84
  • Dla ciekawskich: Nazwy funkcji w odwrotnych apostrofach 85
  • Wyzwanie: Funkcje jednowyrażeniowe 87
  • Wyzwanie: Poziom upojenia magicznego 87
  • Wyzwanie: Status upojenia magicznego 87

5. Funkcje anonimowe i typ funkcyjny 89

  • Funkcje anonimowe 89
    • Typ funkcyjny 91
    • Niejawne instrukcje return 92
    • Argumenty funkcyjne 92
    • Słowo kluczowe it 93
    • Akceptowanie wielu argumentów 94
  • Wsparcie dla wnioskowania typów 95
  • Definiowanie funkcji akceptujących inne funkcje 96
    • Składnia skrócona 97
  • Wpisywanie funkcji 98
  • Referencje funkcji 99
  • Typ funkcyjny jako typ wyniku 100
  • Dla ciekawskich: Funkcje lambda w Kotlinie są domknięciami 102
  • Dla ciekawskich: Funkcje lambda a anonimowe klasy wewnętrzne 102

6. Bezpieczeństwo wartości pustych i wyjątki 105

  • Akceptowanie wartości pustych 105
  • Jawny typ null w Kotlinie 107
  • W czasie kompilacji czy w czasie wykonywania? 108
  • Bezpieczeństwo wartości pustych 109
    • Opcja pierwsza: bezpieczny operator wywołania 110
    • Opcja druga: operator podwójnego wykrzyknika 111
    • Opcja trzecia: użycie if do sprawdzania, czy wartość jest równa null 112
  • Wyjątki 115
    • Zgłaszanie wyjątków 116
    • Niestandardowe wyjątki 117
    • Obsługa wyjątków 118
  • Warunki wstępne 120
  • Null: do czego się przydaje? 122
  • Dla ciekawskich: Wyjątki sprawdzane i niesprawdzane 123
  • Dla ciekawskich: Jak wymuszana jest możliwość stosowania wartości null? 123

7. Łańcuchy 125

  • Pobieranie fragmentów łańcuchów 125
    • Funkcja substring 125
    • Funkcja split 127
  • Operacje na łańcuchach 129
    • Łańcuchy są niezmienne 131
  • Porównywanie łańcuchów 131
  • Dla ciekawskich: Unicode 133
  • Dla ciekawskich: Przeglądanie znaków w łańcuchu 133
  • Wyzwanie: Usprawnianie smoczej mowy 134

8. Liczby 135

  • Typy liczbowe 135
  • Liczby całkowite 136
  • Liczby dziesiętne 138
  • Konwersja łańcuchów na typy liczbowe 138
  • Konwersja typu Int na Double 139
  • Formatowanie wartości typu Double 141
  • Konwertowanie wartości typu Double na Int 142
  • Dla ciekawskich: Operacje bitowe 143
  • Wyzwanie: Pozostałe kwaterki 144
  • Wyzwanie: Obsługa ujemnego stanu sakiewki 144
  • Wyzwanie: Smoczykojn 145

9. Funkcje standardowe 147

  • Funkcja apply 147
  • Funkcja let 148
  • Funkcja run 149
  • Funkcja with 150
  • Funkcja also 151
  • Funkcja takeIf 151
    • Funkcja takeUnless 152
  • Stosowanie funkcji standardowych 152

10. Listy i zbiory 155

  • Listy 155
    • Dostęp do elementów listy 157
    • Zmienianie zawartości listy 159
  • Iteracja 163
  • Wczytywanie pliku do listy 167
  • Destrukturyzacja 169
  • Zbiory 169
    • Tworzenie zbiorów 169
    • Dodawanie elementów do zbioru 171
  • Pętle while 173
  • Wyrażenie break 175
  • Konwersje kolekcji 175
  • Dla ciekawskich: Typy tablicowe 176
  • Dla ciekawskich: Tylko do odczytu a niezmienny 177
  • Wyzwanie: Formatowanie menu gospody 178
  • Wyzwanie: Zaawansowane formatowanie menu 179

11. Mapy 181

  • Tworzenie map 181
  • Dostęp do wartości mapy 183
  • Dodawanie elementów do map 183
  • Modyfikowanie wartości mapy 186
  • Wyzwanie: Wykidajło 190

12. Definiowanie klas 191

  • Definiowanie klasy 191
  • Tworzenie instancji 191
  • Funkcje klasowe 192
  • Widoczność i hermetyzacja 194
  • Właściwości klas 195
    • Akcesory get i set i ich właściwości 197
    • Widoczność właściwości 200
    • Właściwości obliczane 200
  • Refaktoryzacja kodu projektu NyetHack 201
  • Stosowanie pakietów 209
  • Dla ciekawskich: Bliższe spojrzenie na właściwości var i val 210
  • Dla ciekawskich: Zapobieganie występowaniu wyścigu 213
  • Dla ciekawskich: prywatny w pakiecie 214

13. Inicjalizacja 217

  • Konstruktory 218
    • Konstruktory podstawowe 218
    • Definiowanie właściwości w konstruktorze podstawowym 219
    • Konstruktory dodatkowe 220
    • Argumenty domyślne 221
    • Argumenty nazwane 222
  • Blok inicjalizatora 223
  • Inicjalizacja właściwości 224
  • Kolejność inicjalizacji 227
  • Odraczanie inicjalizacji 228
    • Inicjalizacja opóźniona 228
    • Inicjalizacja leniwa 229
  • Dla ciekawskich: Kruczki inicjalizacji 231
  • Wyzwanie: Zagadka Excalibura 233

14. Dziedziczenie 235

  • Definiowanie klasy Room 235
  • Tworzenie klas pochodnych 236
  • Sprawdzanie typów 242
  • Hierarchia typów w języku Kotlin 244
    • Rzutowanie typów 245
    • Inteligentne rzutowanie 246
  • Dla ciekawskich: Klasa Any 247

15. Obiekty 249

  • Słowo kluczowe object 249
    • Deklaracje obiektów 250
    • Wyrażenie obiektowe 255
    • Obiekty uzupełniające 255
  • Klasy zagnieżdżone 256
  • Klasy danych 259
    • Funkcja toString 260
    • Funkcja equals 261
    • Funkcja copy 261
    • Deklaracje destrukturyzujące 261
  • Klasy wyliczeniowe 263
  • Przeciążanie operatorów 264
  • Eksplorowanie świata NyetHack 266
  • Dla ciekawskich: Definiowanie porównań strukturalnych 269
  • Dla ciekawskich: Algebraiczne typy danych 271
  • Wyzwanie: Polecenie "Wyjdź" 273
  • Wyzwanie: Implementacja mapy świata 274
  • Wyzwanie: Dzwonimy 274

16. Interfejsy i klasy abstrakcyjne 275

  • Definiowanie interfejsów 275
  • Implementacja interfejsu 276
  • Domyślne implementacje 279
  • Klasy abstrakcyjne 279
  • Walka w świecie NyetHack 282

17. Typy sparametryzowane 287

  • Definiowanie typów sparametryzowanych 287
  • Funkcje sparametryzowane 289
  • Wiele parametrów typów sparametryzowanych 290
  • Ograniczenia typów sparametryzowanych 291
  • vararg i get 293
  • in i out 295
  • Dla ciekawskich: Słowo kluczowe reified 299

18. Rozszerzenia 303

  • Definiowanie funkcji rozszerzenia 303
    • Definiowanie rozszerzenia dla klasy bazowej 304
  • Sparametryzowane funkcje rozszerzeń 305
  • Właściwości rozszerzające 307
  • Rozszerzenia dla typów akceptujących wartości puste 308
  • Funkcje rozszerzeń - za kulisami 309
  • Wyodrębnianie kodu do rozszerzeń 310
  • Definiowanie plików rozszerzeń 311
  • Zmiana nazwy rozszerzenia 313
  • Rozszerzenia w standardowej bibliotece Kotlina 314
  • Dla ciekawskich: Literały funkcyjne z odbiorcami 315
  • Wyzwanie: Funkcja rozszerzenia toDragonSpeak 316
  • Wyzwanie: Funkcja rozszerzenia frame 316

19. Podstawy programowania funkcyjnego 319

  • Kategorie funkcji 319
    • Przekształcenia 319
    • Filtry 321
    • Złączenia 323
  • Dlaczego programowanie funkcyjne? 324
  • Sekwencje 325
  • Dla ciekawskich: Profilowanie 326
  • Dla ciekawskich: Arrow.kt 327
  • Wyzwanie: Odwracanie wartości w mapie 328
  • Wyzwanie: Zastosowanie programowania funkcyjnego w pliku Tavern.kt 328
  • Wyzwanie: Ruchome okno 329

20. Współdziałanie z Javą 331

  • Współdziałanie z klasami Javy 331
  • Współdziałanie a stosowanie wartości pustych 332
  • Odwzorowywanie typów 335
  • Akcesory get, set i współdziałanie 337
  • Więcej niż tylko klasy 339
  • Wyjątki a współdziałanie 347
  • Typy funkcyjne w Javie 350

21. Tworzenie w Kotlinie pierwszej aplikacji na Androida 353

  • Android Studio 353
    • Konfiguracja Gradle 356
    • Organizacja projektu 359
  • Definiowanie interfejsu użytkownika 359
  • Uruchamianie aplikacji w emulatorze 362
  • Generowanie postaci 363
  • Klasa aktywności 365
  • Podłączanie widoków 366
  • Syntetyczne właściwości rozszerzeń Kotlina dla Androida 368
  • Tworzenie obiektu nasłuchującego kliknięć 370
  • Zapisany stan instancji 371
    • Odczyt zapisanego stanu instancji 374
  • Refaktoryzacja do postaci rozszerzeń 374
  • Dla ciekawskich: Biblioteki Kotlin KTX i Anko 377

22. Wprowadzenie do Kotlin Coroutines 379

  • Parsowanie danych postaci 379
  • Pobieranie rzeczywistych danych 381
  • Główny wątek aplikacji na Androida 384
  • Włączanie koprocedur 385
  • Tworzenie koprocedur przy użyciu funkcji async 385
  • Funkcje launch a async i await 387
  • Funkcje zawieszające 387
  • Wyzwanie: Rzeczywiste dane 388
  • Wyzwanie: Minimalna siła 388

23. Posłowie 389

  • Co dalej? 389
  • Bezwstydna reklama 389
  • Dziękujemy! 390

A. Więcej wyzwań 393

  • Korzystanie z Exercism 393

Skorowidz 401

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-5537-8
Rozmiar pliku: 7,1 MB

BESTSELLERY

Kategorie: