2. Що таке Kotlin
Kotlin - статично типізована мова програмування від компанії
JetBrains.
2011 - вперше представлена
2016 - перший стабільний реліз
2017 - компанія Google оголосила Kotlin офіційно підтримуваною
мовою програмування для платформи Android
3. Переваги Kotlin
● Повна зворотня зумісність з Java
● Null-safe на рівні компіляції
● Data класи
● Підтримка як ООП, так і функціональної парадигми
● Зручна стандартна бібліотека
● Малий розмір (додає приблизно 100КБ до android
додатків)
26. Мінуси міграції на Kotlin
● Втрата історії git при конвертації файла
● Нестача Kotlin спеціалістів
● Менше інформації в мережі в порівнянні з Java
● Порушення null-safety при використанні Java і Kotlin разом
● Уповільнення швидкості зборки проекту за деяких умов
27. Менше інформації в мережі в порівнянні з Java
StackOverflow: Java ~1 300 000 питань, Kotlin ~5000
Менше тредів на форумах
Менше opensource проектів: github Java ~1 000 000, Kotlin ~2000
Менше книжок
29. Уповільнення швидкості зборки проекту
Час білда проекта з чистими build папками
Простий проект:
Java ~25 с.
Kotlin ~27c.
+ Dagger 2 + Data binding
Java: 42 c., 29 c., 26 c.
Kotlin: 55 c., 33 c., 32 c.
30. Курси MindK
SINGLE PAGE APPLICATIONS
● REST API
● SPA
● Vue.js
● Webpack,
● Asynchronous Programming
● JSON Web Tokens
● Full Stack
Реєстрація триває до 10 жовтня -> learn.mindk.com
31. Sumy Tech Battles
Coming soon
Tech Battle #8:
?
Приєднуйтесь до нас в соц. мережах
facebook.com/mindklab
instagram.com/mindklab
twitter.com/mindklab
linkedin.com/company/mindk
Код проекту є у вільному доступі на github
Може використовуватись як мова для JVM - компілиться в Java 6/8 байткод, також може бути скомпільована в JavaScript, і в native code
Android studio 3.0
IDE дають можливість згенерувати toString, equals, hashcode. Але коли ви додаєте, прибираєте, або змінюєте одне з полей класа, то ви маєте згенерувати ці методи наново. І якщо ви забудете це зробити, то матимете дуже цікавий баг.
Зверніть увагу, в Kotlin властивості класів завжди доступні через поля, а не через методи
Тернарного оператора в Kotlin не існує, так як if повертає значення
При використовуванні іменованих параметрів, порядок можна змінювати