1.60M

85. kotlin

1.

Александр Загоруйко © 2021
Kotlin Language Overview

2.

Преимущества языка Kotlin
Знаете ли вы, что сейчас около 1% всех и около 8% топовых
приложений, опубликованных в Google Play, используют
Kotlin? Это такие приложения, как Evernote, Foursquare,
Pinterest, Reddit. Учитывая небольшой возраст этого языка и
большое количество приложений в Google Play — это
достаточно весомая цифра. Вот только некоторые
преимущества:
• полная совместимость с Java
• уход от NullPointerExceptions
• интеграция в Android Studio
• официальная поддержка Google
• меньше кода
https://kotlinlang.org/docs/reference/

3.

4.

Quick Start – Variables, If, While
Типы данных, переменные, условия,
циклы и массивы: https://git.io/fAtDm
https://www.youtube.com/watch?v=9j7lQhMl3Lc
Kotlin-версия: https://git.io/fAtSQ
https://www.jetbrains.com/help/idea/converting-a-java-file-to-kotlin-file.html

5.

Quick Start – Strings and Regex
Строки и регулярные выражения:
https://git.io/fAt74
После преобразования в Kotlin:
https://git.io/fAtbL
https://kotlinlang.ru/docs/reference/basic-types.html
https://tproger.ru/news/kotlin-1-3-release/

6.

7.

Quick Start – Functions
Пример работы с функциями:
https://git.io/fAtAu
После преобразования в Kotlin:
https://git.io/fAtpd
https://antonioleiva
.com/functionreferences-kotlin/
https://kotlinlang.ru/docs/reference/functions.html

8.

Fight!
https://www.youtube.com/playlist?list=PLQ176FUIyIUbVvFMqDc2jhxS-t562uytr

9.

Quick Start – Classes
Пример работы с классами:
https://git.io/fAqeh
После преобразования в Kotlin:
https://git.io/fAqfq
• https://proandroiddev.com/wow-declaring-classes-in-kotlin-dbcb56388443
• https://stackoverflow.com/questions/33428957/kotlin-public-get-privateset-var
• https://eu.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011
https://kotlinlang.ru/docs/reference/classes.html

10.

Практика
Реализовать класс Fraction, который представляет собой пользовательский тип
данных для работы с обыкновенными дробями. Обязательные поля: числитель и
знаменатель (целочисленные). Обязательные методы: конструктор по умолчанию,
конструктор с одним параметром (передаётся десятичная дробь), конструктор с 2
параметрами (причём знаменатель не может быть равен 0),
сеттеры (знаменатель ≠ 0) и геттеры, показ дроби
Реализовать следующие методы: возврат значения типа double на основании
значений числителя и знаменателя дроби, сокращение дроби, сравнение дробей,
сложение, вычитание, умножение, деление дробей.
Добавить перегрузки: перегрузка операции ==, !=, >, <, >=, <=, перегрузка операции
+, -, *, /
Реализация должна быть на котлине!

11.

Getting Started With Kotlin
https://developer.android.com/kotlin/#getting-started-withkotlin
https://nuancesprog.ru/p/1761/
https://fernandocejas.com/2017/10/20/smooth-your-migration-to-kotlin/

12.

Kotlin прямо в браузере!
https://try.kotlinlang.org

13.

Kotlin Resources
https://www.kotlinresources.com/

14.

Статьи про Kotlin
https://blog.jetbrains.com/kotlin/
https://www.jetbrains.com/education/kotlin-edu/
https://tproger.ru/news/preview-android-ktx-kotlin-
development-for-android/
https://proandroiddev.com/modern-androiddevelopment-with-kotlin-september-2017-part-1f976483f7bd6
https://proglib.io/p/do-you-need-kotlin/
https://android.jlelse.eu/odd-things-to-look-out-forwhen-converting-code-to-kotlin-a00b6239828c
https://blog.devexperts.com/kotlin-from-the-trenches/

15.

Статьи про Kotlin
http://fragmentedpodcast.com/episodes/116/
https://www.mindinventory.com/blog/kotlin-vs-java-battle-forandroid-app-development/
https://medium.com/@Pinterest_Engineering/kotlin-forgrumpy-java-developers-8e90875cb6ab
https://medium.com/@Pinterest_Engineering/anything-javacan-do-kotlin-can-do-better-a1c1ddae8ffd
https://medium.com/@Pinterest_Engineering/the-caseagainst-kotlin-2c574cb87953
https://blog.indoorway.com/swift-v-kotlin-the-differences-thatmatter-50b2d393f526
https://www.kotlindevelopment.com/typical-kotlin/

16.

Статьи про Kotlin
https://kotlinexpertise.com/kotlin-coroutines-guide/
https://hackernoon.com/how-kotlin-calamity-devours-yourjava-apps-like-cancer-f3ce9500a028
https://medium.com/grand-parade/6-magic-sugars-that-canmake-your-kotlin-codebase-happier-part-1-ceee3c2bc9d3
https://medium.com/snapp-mobile/why-starting-a-newandroid-project-with-java-is-a-bad-idea-359bffe0bbd6
https://medium.freecodecamp.org/exploring-kotlin-usefulstandard-library-functions-6de19342f35a
https://medium.com/grand-parade/6-magic-sugars-that-canmake-your-kotlin-codebase-happier-part-3-6319a451cd5d
https://nuancesprog.ru/p/2131/

17.

Статьи про Kotlin
https://tproger.ru/news/kotlinconf-2018-announcements/
https://techrocks.ru/2018/10/04/transfer-from-java-to-kotlin/
https://proandroiddev.com/android-quiz-1-1f475c7170fd
https://kotlinlang.org/docs/reference/exceptions.html
https://www.infoq.com/presentations/kotlin-run-
anywhere
https://eu.udacity.com/course/kotlin-bootcamp-forprogrammers--ud9011

18.

Библиотеки
https://github.com/Daio-io/dresscode
https://github.com/AutSoft/Krate
https://github.com/infinum/Android-GoldenEye
https://blog.usejournal.com/googles-transition-api-for-
android-4fdc2ff7478
https://github.com/RedMadRobot/state-delegator
https://proandroiddev.com/the-making-ofaccordionview-using-constraintlayout-c86992ffbb7b

19.

Cheat-Sheet
English     Русский Правила