Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Java
- Programowanie w języku Kotlin. The Big Nerd Ranch Guide
Szczegóły ebooka
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!
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
- Tytuł: Programowanie w języku Kotlin. The Big Nerd Ranch Guide
- Autor: Josh Skeen, David Greenhalgh
- Tytuł oryginału: Kotlin Programming: The Big Nerd Ranch Guide
- Tłumaczenie: Piotr Rajca
- ISBN: 978-83-283-5537-8, 9788328355378
- Data wydania: 2019-10-11
- Format: Ebook
- Identyfikator pozycji: prokot
- Wydawca: Helion