Частые вопросы

Что такое Kotlin?

Kotlin - OSS-статически типизированный язык программирования с поддержкой JVM, Android, JavaScript и Native. Язык разработан JetBrains. Проект начался в 2010 и с самого начала был открытым. Версия 1.0 была выпущена в феврале 2016 г.

Какова текущая версия Kotlin?

Последняя выпущенная версия - 1.2.71, опубликована в сентябре 2018 г.

Свободен ли Kotlin?

Да. Kotlin был, есть и будет свободным. Он разрабатывается под лицензией Apache 2.0, а исходный код доступен на GitHub.

Является ли Kotlin обьектно-ориентированным или функциональным?

Kotlin является и тем, и другим. Вы можете как угодно использовать и комбинировать эти стили. При полной поддержке таких возможностей, как функции высшего порядка, функциональные типы и лямбда-выражения, Kotlin - отличный выбор, если вы используете или изучаете функциональное программирование.

Какие преимущества есть у Kotlin по сравнению с Java?

Kotlin более лаконичен. Код на Kotlin примерно на 40% короче. Также Kotlin является типобезопасным. Благодаря null-безопасности приложения менее уязвимы к NullPointerException. В списке других возможностей: умное приведение типов, функции высшего порядка, функции-расширения и лямбда-выражения с получателями. Они позволяют писать выразительный код и поддерживать создание DSL.

Совместим ли Kotlin с Java?

Да, Kotlin на 100% совместим с Java. Возможности вашего существующего кода на Java правильно взаимодействовать с Kotlin уделено много внимания. Вы можете запросто вызывать код на Kotlin из Java и наоборот. Благодаря этому, внедрение Kotlin в проект намного проще и безопасней. Также стоит отметить автоматический конвертер кода из Java в Kotlin. Он встроен в IDE и позволяет упростить переход существующего кода на Kotlin.

Для чего я могу использовать Kotlin?

Kotlin может быть использован для разработки для множества платформ, будь то сервер, клиент, веб или Android. C релизом Kotlin/Native (который на текущий момент в разработке) появится поддержка таких платформ, как встроенные системы, macOS и iOS. Люди используют Kotlin для мобильных и серверных приложений, клиентских приложений с JavaScript или JavaFX, в data science и так далее.

Можно ли использовать Kotlin для разработки для Android?

Можно. Kotlin поддерживается как основной язык для Android, наравне с Java. Сотни приложений для Android уже используют Kotlin, к примеру Basecamp, Pinterest и так далее. Чтобы узнать больше, смотрите статью про разработку для Android.

Можно ли использовать Kotlin для разработки серверных приложений?

Можно. Kotlin на 100% совместим с JVM, а значит вы можете использовать любые фреймворки для Java, такие как Spring Boot, vert.x или JSF. Также есть фреймворки для Kotlin, как например Ktor. Смотрите статью о разработке серверных приложений.

Можно ли использовать Kotlin для веб-разработки?

Да. Кроме использования в бэкэнде, вы также можете использовать Kotlin/JS для клиентской стороны. Kotlin может использовать определения из DefinitelyTyped для статической типизации для популярных библиотек на JavaScript. Также Kotlin совместим с модульными системи, такими как AMD и CommonJS. Смотрите статью о разработке для клиентской стороны.

Можно ли использовать Kotlin для разработки Desktop-приложений?

Да. Вы можете использовать любой UI-фреймворк, например JavaFx, Swing и т.д. В добавок, существуют фреймворки для Kotlin, такие как TornadoFX.

Можно ли использовать Kotlin для нативной разработки?

Kotlin/Native в текущий момент в разработке. Kotlin/Native позволит компилировать исходный код в нативный, который может работать без виртуальной машины. На данный момент готова технологическая демо-версия, но она еще не готова к продакшену и не поддерживает некоторые платформы, которые запланированы к версии 1.0. Смотрите пост, анонсирующий Kotlin/Native.

Какие IDE поддерживают Kotlin?

Kotlin поддерживается всеми крупными IDE для Java, включая IntelliJ IDEA, Android Studio, Eclipse и NetBeans. Также доступен отдельный компилятор, полностью поддерживающий все возможности компиляции и запуска приложений.

Какие инструменты для сборки поддерживают Kotlin?

На стороне JVM - Gradle, Maven, Ant и Kobalt. Также есть множество инструментов со стороны JavaScript.

Во что может компилироваться и транслироваться Kotlin?

В Java-байткод и ES5.1, поддерживаемый модульными системами AMD and CommonJS. Скоро появится возможность компилировать в код для конкретной платформы с LLVM.

Kotlin поддерживает лишь Java 6?

Не только. Вы можете выбирать между байткодом 6 или 8 версии. Чем новее версия Java, тем лучше и эффективнее байткод.

Сложен ли Kotlin?

Kotlin похож на Java, C#, JavaScript, Scala и Groovy. Мы пытались сделать Kotlin простым для изучения, чтобы на него можно было перейти всего за неколько дней. Более детальное изучение языка займёт немного больше времени, но в общем это несложный язык.

Какие компании используют Kotlin?

Kotlin используют множество компаний. Из числа тех, что обьявили об использовании языка: Square, Pinterest, Basecamp и Corda.

Кто разрабатывает Kotlin?

Kotlin разрабатывается в основном группой инженеров JetBrains (более чем 40 человек). Главный разработчик - Андрей Бреслав. В дополнение к команде, на GitHub есть примерно 100 активных вкладчиков.

Где можно узнать больше про язык?

Лучше всего начать прямо на этом сайте или на https://kotlinlang.org. На kotlinlang.org можно скачать компилятор или попробовать его онлайн Доступны справочник и туториалы.

Существуют ли книги про Kotlin?

Список книг есть здесь. Из самых популярных: Kotlin в Действии, написанная членами команды разработчиков Дмитрием Джемеровым и Светланой Исаковой, а также Kotlin for Android Developers.

Есть ли онлайн-курсы для изучения Kotlin?

Pluralsight Kotlin Course от Кевина Джонса, курс O’Reilly от Хади Харири и курс Udemy от Петра Соммерхоффа.

Также есть множество записей Kotlin talks, которые можно найти на YouTube и Vimeo.

Есть ли сообщество у Kotlin?

Да. У Kotlin очень отзывчивое сообщество на форумах Kotlin, StackOverflow и, наиболее активно, Kotlin Slack (примерно 7000 участников в мае 2017).

Are there Kotlin events?

Yes. There are many User Groups and Meetups now focused exclusively around Kotlin. You can find a list on the web site. In addition there are community organised Kotlin Nights events around the world.

Проходят ли конференции, посвящённые Kotlin?

Да. Первая официальная конференция - KotlinConf - прошла в Сан-Франциско со 2 по 3 ноября 2017 года. Kotlin также обсуждается во время различных конференций по всему миру. Вы можете найти список ближайших конференций на этом сайте.

Есть ли Kotlin в социальных сетях?

Наиболее активный аккаунт на Twitter. Также есть группа Google+.

Есть ли ещё какие-либо олайн-ресурсы по Kotlin?

В сообществе Kotlin вы можете найти множество ресурсов, включая Дайджесты Kotlin, организуемые сообществом, новостную рассылку, подкаст и так далее.

Где можно найти HD-логотип Kotlin?

Логотипы можно найти здесь. Следуйте указаниям guidelines.pdf в архиве.