Знакомство с Kotlin #
Васильев Андрей Михайлович, 2022
Версии презентации
Язык Kotlin #
- Разработан компанией JetBrains
 - Представлен в 2011 году
 - Версия 1.0 выпущена в 2016 году
 - С 2019 является основным языком разработки под Android
 - Версия 1.6 вышла в 2021 году
 
Особенности платформы #
- Можно разрабатывать приложения под несколько платформ:
- Мобильные приложения Android и iOS
 - Серверные веб-приложения
 - Клиенсткие веб-приложения (платформа JavaScript)
 
 - Можно разрабатывать библиотеки для различных платформ
 - Можно использовать общую кодовую базу при разработке приложений под разные платформы
 
Мы будем рассматривать классический вариант — разработка приложений под JVM
Особенности языка Kotlin #
- Язык общего назначения, т.е. можно разрабатывать любые приложения
 - Поддерживает современные парадигмы программирования:
- Императивное, процедурное
 - Объектно-ориентированное
 - Функциональное
 
 - Обладает современным компактным синтаксисом
 - Изначально нацелен на решение практических ограничений языка Java
 - Динамично развивается, разработчики оставляют право за собой изменять детали работы языка
 
Как запускать приложения #
- https://play.kotlinlang.org - ресурс для запуска простых приложений на Kotlin
 - JetBrains IDEA
 - Любой текстовый редактор + система сборки
 
Минимальное приложение #
За исключением конфигурации системы сборки минимальное приложение состоит только лишь из функции:
fun main() {
    println("Я работаю!")
}- Синтаксис языка Си-подобный, т.е. уже знакомый и привычный
 - Для описания функций и методов используется ключевое слово 
fun - Аргументы описываются в скобках после имени функции
 - Для вызова функции используется знакомый синтаксис: название функции, за которым в круглых скобках указывается набор аргументов
 
Базовый синтаксис #
Рассмотрим основы синтаксиса языка Kotlin
Разработка простого приложения #
Реализуем небольшое приложение, которое позволит:
- Считать последовательность чисел со стандартного потока ввода
 - Найти минимальный элемент
 - Найти максимальный элемент
 - Подсчитать среднее значение последовательности
 
Функции в Kotlin #
Рассмотрим основы работы с функциями в Kotlin
Пакеты и импорты #
Рассмотрим пакеты и импорты в Kotlin
Null-безопасность #
Рассмотрим вопрос null-безопасности в Kotlin