Знакомство с Kotlin #
Васильев Андрей Михайлович, 2024
Версии презентации
Язык Kotlin #
- Разработан компанией JetBrains
- Представлен в 2011 году
- Версия 1.0 выпущена в 2016 году
- С 2019 является основным языком разработки под Android
- Версия 1.6 вышла в ноябре 2021 года
- Версия 1.7 вышла в июне 2022 года
- Версия 1.8 вышла в декабре 2022 года
- Версия 1.9 вышла в июле 2023 года
- Версия 2.0 вышла в мае 2024 года
Примерно каждые полгода-год выходит новая версия. Тематика последних выпусков — расширение списка поддерживаемых платформ и переход на унифицированный компилятор
Особенности платформы #
- Можно разрабатывать приложения под несколько платформ:
- Мобильные приложения Android
- Настольные приложения без JVM, платформенный бинарный код
- Приложения под iOS, бинарный код в архитектуре aarch64
- Серверные веб-приложения
- Клиентские веб-приложения (платформа JavaScript)
- Клиентские веб-приложения (платформа WebAssembly)
- Можно разрабатывать библиотеки с поддержкой множества платформ
- Можно использовать общую кодовую базу при разработке приложений под разные платформы
Мы будем рассматривать классический вариант — разработку приложений под JVM
Особенности языка Kotlin #
- Язык общего назначения, т.е. можно разрабатывать любые приложения
- Поддерживает современные парадигмы программирования:
- Императивная, процедурная
- Объектно-ориентированная
- Функциональная
- Обладает современным компактным синтаксисом
- Изначально нацелен на решение практических ограничений языка Java 7/8 (разработчикам JetBrains надоело писать слишком много кода)
- Динамично развивается, разработчики оставляют право за собой изменять детали работы языка, но делают это через систему устареваний
Изучение языка Kotlin #
- Официальный сайт языка
- Портал с документацией
- Руководство по языку Kotlin, русскоязычный перевод документации
- Упражнения для закрепления основ языка Kotlin Koans
- Дополнение EduTools для IDEA с задачами для изучения Kotlin
- Книга Kotlin. Программирование для профессионалов
Ментальная модель при изучении языка #
- В качестве целевой платформы будем использовать только JVM
- Можно легко перенести идиоматические для Java решения:
- Деление кода на пакеты
- Написание классов
- Создание объектов из классов
- Использование коллекций (только стоит использовать классы Kotlin:
List
,Map
) - Использование перечислений
- Другие инструменты хорошо дополняют известные элементы и решают проблемы многословности Java-кода
- Разбираться с поддержкой других платформ в рамках курса не надо
Как разрабатывать приложения на Kotlin #
- https://play.kotlinlang.org - ресурс для запуска простых приложений на Kotlin
- JetBrains IDEA
- Среда разработки Eclipse с плагином
- Редактор Visual Studio Code с плагином Kotlin.
- Любой текстовый редактор + система сборки
- Среда разработки + система сборки
В рамках данного курса будем рассматривать разработку с использованием системы сборки Gradle и среды разработки IDEA