Mark L. Murphy - Elements Of Kotlin 1.0 [2021, PDF/EPUB/MOBI, ENG]

Страницы:  1
Ответить
 

Mikrobuzzz

Стаж: 17 лет 6 месяцев

Сообщений: 334

Mikrobuzzz · 17-Фев-19 15:27 (6 лет 5 месяцев назад, ред. 10-Июн-21 01:22)

Elements Of Kotlin 1.0
Год издания: 2021
Автор: Mark L. Murphy
Жанр или тематика: Программирование
Издательство: CommonsWare
ISBN: Отсутствует
Язык: Английский
Формат: PDF, EPUB, MOBI
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 418
Описание:
The programming language for the first generation of Android app development was Java.
The programming language that will dominate the second generation of Android app development will be Kotlin.
Kotlin is a powerful language, designed to be concise yet expressive, both for application code and for libraries. However, some of that comes at a cost, as Kotlin has a lot more keywords and specialty features than does Java. A lot of that complexity is only needed by intermediate to advanced Kotlin developers, though.
This introductory book to Kotlin focuses on helping existing programmers get up to speed on reading and writing Kotlin code. Particular emphasis is placed on the sorts of syntax and language capabilities that most Kotlin developers will need, with light coverage of the advanced capabilities that allow library developers to create easy-to-use APIs.
Right now, this book is in a very early "beta" state, but it covers most of basics of Kotlin programming. It should reach Version 1.0 in the first half of 2019, with more complete coverage.
Примеры страниц
Оглавление
  1. Preface
    1. Prerequisites
    2. About the Updates
    3. What’s New in Version 1.0?
    4. Warescription
    5. Book Bug Bounty
    6. Source Code and Its License
    7. Creative Commons and the Four-to-Free (42F) Guarantee
    8. Acknowledgments
  2. Introducing Kotlin
    1. Why?
    2. …And Why Not?
    3. What You Need to Know
    4. Look At All the Kotlins!
    5. Getting Kotlin, Normally
    6. Introducing the Klassbook
    7. How This Book is Structured
  3. A Few “Hello, World!” Examples
    1. Just the Statement
    2. Wrapped in a Function
    3. Wrapped in a Class
    4. So, What Does This Do?
    5. Using the Klassbook
    6. Running These Snippets in an IDE
  4. Basic Types and Expressions
    1. Basic Types and “Objectness”
    2. Numbers
    3. Boolean
    4. Strings
    5. Characters
    6. A Quick Note About Equality
  5. Variables… Whether They Vary or Not
    1. Declaring Variables
    2. Declaring Read-Only Variables
    3. Prefer val Over var
    4. String Interpolation
    5. More Operators
    6. No Automatic Number Conversions
    7. Hey, What About ?
  6. Functions
    1. Functions with Parameters
    2. Functions with Return Types
    3. Local Variables
    4. Fancier Functions
  7. Collections and Lambdas
    1. Major Collection Types and Creation Functions
    2. Basic Usage
    3. Immutability and Collections
    4. Introducing Lambda Expressions
    5. Common Collection Operations
    6. Varargs
    7. Other JVM Collections
    8. get() and [] Syntax
  8. If, When, and While
    1. If
    2. When
    3. While
    4. If/When As Expressions
    5. Bustin’ Out
  9. Basic Classes
    1. Basic Classes
    2. Creating Instances of Classes
    3. Packages
    4. Common Contents
    5. this
    6. Constructors
    7. Inheritance
  10. Comments and Documentation
    1. Basic Comment Syntax
    2. Introducing KDoc
  11. Properties
    1. Initialization
    2. Constants
    3. Getting Down in the Weeds
  12. Visibility and Scope
    1. Visibility
    2. Scope
  13. Abstract Classes and Interfaces
    1. The Objective: Contracts
    2. Abstract Classes
    3. Interfaces
    4. Which Do You Use?
  14. Data Class
    1. How You Declare It
    2. What You Gain
    3. What You Lose
    4. Data Classes with Other Properties
  15. The object Keyword
    1. Singletons
    2. Companion Objects
    3. Nested Objects
    4. Object Expressions
  16. Nested Objects and Classes
    1. Nested Objects
    2. Nested Classes
    3. Nested Interfaces and Abstract Classes
  17. Enums and Sealed Classes
    1. Enums
    2. Sealed Classes
  18. Generics
    1. OK, What Are These For Again?
    2. Instantiation with Generics
    3. Applying Generics to Classes and Interfaces
    4. Upper Bounds
    5. Generics, WTF?
  19. Exceptions
    1. Catching Exceptions
    2. Raising Exceptions
    3. Defining Exceptions
    4. Checked vs. Unchecked Exceptions
  20. Annotations
  21. Where Annotations Come From
  22. Applying Annotations
  23. Defining Annotations
  • Nullability
    1. Introducing Nullable Types
    2. Expressions with Nullable Types
    3. Nullable Types and Generics
    4. Nullable Types and Casts
    5. Objective: Minimize Nulls
  • Scope Functions
    1. let()
    2. apply()
    3. run()
    4. with()
    5. also()
    6. use()
    7. Summary
  • Functional Programming
    1. Your App Might Not Be Functional
    2. Where Immutability Comes Into Play
    3. Examples of Functional Kotlin
    4. Function Types
    5. Arrays, Collections,… And Sequences
  • Extension Functions
    1. The Case of the Utility Function
    2. Monkeying Around
    3. Declaring Extension Functions
    4. Calling Extension Functions
    5. The Limitations
  • Java Interoperability
    1. Recap of Interoperability
    2. Kotlin Calling Java
    3. Java Calling Kotlin
    4. Decompiling Kotlin to Java
  • Changes in Newer Kotlin Versions
    1. Version 1.3
    2. Version 1.4
  • Custom Accessors
    1. Defining Custom Accessors
    2. Anti-Patterns
    3. Alternative: Delegates
  • Extension Properties
    1. Recapping Extension Functions
    2. Recapping Property Custom Accessors
    3. Extension Properties = A Mashup
  • Escaping Keywords
    1. The Scenario: Mockito
    2. The Problem: Keywords
    3. The Solution: Backticks
  • Escaped Method Names
    1. The Scenario: JUnit Tests
    2. The Problem: You Are Tired of CamelCase
    3. The Solution: Backticks
  • Property Delegates
    1. A Refresher on lazy
    2. What’s Really Going On
    3. Other Stock Property Delegates
  • Class Delegation
    1. Playing Favorites
    2. Manual Delegation
    3. The Class Delegate Alternative
  • Constants
    1. Declaring a Constant
    2. Why Bother, When We Have val?
    3. Constant Type Limitations
  • Abstract Properties
    1. But, But, But… Why?
    2. Abstract val
    3. Abstract var
  • Covariance in Generics
    1. You Can’t Put That in That!
    2. out Is a Direction
    3. Declaration-Site and Use-Site Variance
  • Contravariance in Generics
    1. Declaration-Site and Use-Site Variance
  • Anonymous Functions
    1. The Problem: Return Types
    2. The Solution: Anonymous Function Syntax
    3. Constraints and Effects
  • Local Functions
    1. I Heard You Like Functions…
    2. …So I Put a Function in Your Function
    3. Funception
  • Local Types
    1. Scenario: Perils of Pair Programming
  • Inline Functions
    1. Macro History
    2. Inline Functions: Like Macros
    3. Inline Properties
  • Inline Classes
    1. What?
    2. Why?
    3. Alpha!
  • Reified Type Parameters
    1. Type Erasure (Other Than Via the Backspace Key)
    2. Reified = Retained Type for Inline Functions
  • noinline and crossinline
    1. noinline: Keep the Lambda as an Object
    2. crossinline: Allowing return
  • Receivers in Function Types
    1. What with() Looks Like
    2. What apply() Looks Like
    3. Use Case: DSL
  • Renamed Imports
    1. The Scenario: Observable
    2. The Problem: Import Name Collisions
    3. The Solution: import ... as
  • Operator Overloading
    1. What the #$@&%!?
    2. The Concept of Operator Overloading
    3. Example: Dividing a String
    4. So. Many. Operators
  • Infix Functions
    1. Postfix and Infix
    2. The infix Keyword
    3. Limitations
  • Destructuring Declarations
    1. The Components of a Class
    2. OK, Why Would We Use This?
    3. So, Why Does This Exist?
  • Labeled Returns
    1. Where return Goes By Default
    2. Returning Just from a Lambda
    3. Applying a Label
    4. Is Any of This a Good Idea?
  • Nothing
    1. Nothing: It’s On the Bottom
    2. Uses of Nothing
  • Types of Keywords
    1. Hard Keywords
    2. Soft Keywords
    3. Modifier Keywords
    4. In General, Avoid Keywords

[2021-04-23] Обновление до версии 1.0 (changelog)
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

Mikrobuzzz

Стаж: 17 лет 6 месяцев

Сообщений: 334

Mikrobuzzz · 31-Янв-21 05:12 (спустя 1 год 11 месяцев, ред. 31-Янв-21 05:12)

Пересоздал торент - забыл правильно переименовать файлы и папку
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error