Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- Java
- Programowanie w języku Kotlin. The Big Nerd Ranch Guide
E-book details
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
- Title: Programowanie w języku Kotlin. The Big Nerd Ranch Guide
- Author: Josh Skeen, David Greenhalgh
- Original title: Kotlin Programming: The Big Nerd Ranch Guide
- Translation: Piotr Rajca
- ISBN: 978-83-283-5537-8, 9788328355378
- Date of issue: 2019-10-11
- Format: Ebook
- Item ID: prokot
- Publisher: Helion