Знакомство с 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 надоело писать слишком много кода)
- Динамично развивается, разработчики оставляют право за собой изменять детали работы языка, но делают это через систему устареваний
Ментальная модель при изучении языка
#
- В качестве целевой платформы будем использовать только JVM
- Можно легко перенести идиоматические для Java решения:
- Деление кода на пакеты
- Написание классов
- Создание объектов из классов
- Использование коллекций (только стоит использовать классы Kotlin:
List
, Map
)
- Использование перечислений
- Другие инструменты хорошо дополняют известные элементы и решают проблемы многословности Java-кода
- Разбираться с поддержкой других платформ в рамках курса не надо
Как разрабатывать приложения на Kotlin
#
В рамках данного курса будем рассматривать разработку с использованием системы
сборки Gradle и среды разработки IDEA