Programowanie w języku Kotlin. The Big Nerd Ranch Guide (e-book) Tychy

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. …

od 43,45 Najbliżej: 32 km

Liczba ofert: 1

Oferta sklepu

Opis

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

Specyfikacja

Autor
  • Josh Skeen, David Greenhalgh
Wybrane wydawnictwa
  • Helion
Rok wydania
  • 2019
Format
  • PDF
  • MOBI
  • EPUB
Kategorie
  • Programowanie
Ilość stron
  • 408