что такое kotlin в intellij idea
IntelliJ IDEA — Среда разработки на Kotlin
Добро пожаловать в Kotlin! В первом уроке мы настроим среду разработки для программирования на данном языке. С ее помощью вы сможете написать свой первый код на Kotlin и запустить его на компьютере.
Содержание статьи
Основным инструментом, который мы будем использовать для создания проектов на Kotlin, является IntelliJ IDEA от JetBrains. JetBrains также является компанией, стоящей у истоков самого языка, поэтому разработка на Kotlin тесно интегрирована в IntelliJ IDEA.
IntelliJ IDEA является Интегрированной средой разработки, или IDE. Она похожа на другие IDE вроде Visual Studio или Xcode. IntelliJ IDEA предоставляет основу для многих других IDE от JetBrains, включая Android Studio для разработки приложений на Android, PyCharm для программирования на Python и CLion для программирования на C и C++.
IDE используется для написания кода в редакторе, компиляции кода для запуска на компьютере, просмотра результатов программы, исправления ошибок кода и многого другого! В этом уроке мы познакомимся с возможностями IntelliJ IDEA, и это станет важной подготовкой к дальнейшему изучению языка Kotlin.
Установка и настройка IntelliJ IDEA
IntelliJ IDEA можно скачать с сайта JetBrains. В наличии есть версии Community и Ultimate. Для работы с примерами из уроков подойдет версия Community, которая является бесплатной для скачивания.
Перейдите на сайт и скачайте IntelliJ IDEA 2019.2 или более позднюю версию. Выберите свою систему — macOS, Windows или Linux. Установите IntelliJ IDEA, следуя инструкции. Большинство скриншотов в уроках сделаны на системе macOS, но работа на Windows или Linux проходит точно так же.
Перед запуском IntelliJ IDEA требуется также установить Java Development Kit, или JDK, который нужен для запуска Kotlin кода на компьютере.
Java и JDK
Kotlin позволяет программировать на нескольких различных платформах. Двумя наиболее популярными являются Java Virtual Machine, или JVM и Android.
По большому счету, изначально Kotlin задумывался как современная замена языку Java. Java был создан в девяностых, став ранней попыткой кроссплатформенного прикладного языка программирования. Подход “Write Once, Run Everywhere” звучал многообещающе.
Вместо компиляции в нативный машинный код на каждой платформе, программы на Java компилируются в формат, который называется байт-кодом. Байт-код выполняется внутри приложения на Java Virtual Machine. JVM можно рассматривать как слой над вашей реальной машиной. Запустив байт-код на виртуальной машине, можно совместно использовать Java-код и приложения на многих типах компьютерных систем.
Одной из целей языка Kotlin является 100% совместимость с языком Java. Это включает конвертацию Kotlin-кода в Java-совместимый код с помощью компилятора Kotlin, чтобы Kotlin-код мог запускаться на JVM.
Большая часть кода и проектов из данного курса предназначены для запуска в качестве Kotlin-проектов на JVM. Для этого наравне с IntelliJ IDEA требуется установить JDK. Проще всего это сделать на сайте Oracle. Лучше скачать и установить самую последнюю версию JDK — по крайней мере начиная с 8 версии. Инструменты программного обеспечения Java называются «Java SE». Они включают JDK и Java Runtime Environment, или JRE.
На заметку: Будьте внимательны, скачайте и установите JDK, а не только JRE, так как JRE позволяет запускать только Java-приложения и не включает инструменты для создания новых.
Запуск IntelliJ IDEA
После установки IntelliJ IDEA и JDK выполните обычный процесс запуска приложения IntelliJ IDEA на вашей платформе.
Если вы ранее устанавливали предыдущие версии IntelliJ IDEA на тот же компьютер, установщик, скорее всего, предложит импортировать настройки из предыдущей версии. В противном случае вам будет предложено выбрать цветовую тему и плагины для установки в IDE. Можете просто выбрать настройки по умолчанию и продолжить.
После этих действий вы увидите окно Welcome to IntelliJ IDEA.
Из приветственного окна можно создать новый проект, импортировать или открыть существующие проекты, извлечь код из системы контроля версий вроде Git, запустить инструменты настройки или получить справку по IDE.
Создание простого проекта на Kotlin
В приветственном окне выберите пункт Create New Project. Вы увидите первый экран конфигурации.
Выберите Kotlin из списка опций слева, Kotlin JVM в качестве типа проекта и нажмите Next.
Вы должны увидеть следующее:
Затем вы увидите экран для проекта с названием и местом хранения файлов. Вы также увидите Project SDK, который должен быть установленной ранее версией JDK — или другой версией JDK, если у вас на ПК установлено более одной версии.
Введите hellokotlin для названия проекта, выберите место для проекта или просто оставьте значения по умолчанию. Ничего больше не указывайте и нажмите Finish.
IntelliJ IDEA создает и конфигурирует ваш проект.
По завершении вы попадете в окно Tip of the Day, или Совет дня, в котором каждый раз при открытии приложения показываются полезные советы по IntelliJ IDEA.
Вы должны увидеть следующее:
Закройте окно подсказки и проверьте панель Project слева от главного окна IntelliJ IDEA. На панели Project можно управлять всеми файлами, связанными с проектом, например файлами исходного кода Kotlin, у которых расширение .kt.
Кликните на стрелку рядом с hellokotlin, чтобы открыть его содержимое, и вы увидите папку src для проекта. Щелкните правой кнопкой мыши на папку src и выберите New ▸ Kotlin File/Class.
Должно открыться новое диалоговое окно New Kotlin File/Class. Введите hello и кликните OK.
Затем файл hello.kt откроется редакторе IntelliJ IDEA.
Базовый макет окна IntelliJ IDEA содержит панель Project слева, панель Editor посередине и Toolbar в верхней правой части, который можно использовать для запуска кода.
По ходу настройки проекта мы разобрали главные части окна IntelliJ IDEA. Пришло время для запуска Kotlin-кода!
Пример программы на Kotlin!
В данном уроке мы просто напишем в редакторе код на Kotlin и запустим его, для чего необязательно разбирать все его части. Каждый элемент кода будет подробнее разобран в дальнейшем. Если у вас есть опыт программирования в Java, Swift или Python, вы быстро вникните в ход дела.
Tutorial: Create your first Kotlin application
In this tutorial, you will learn how to:
Create a Kotlin project.
Write code using the basic coding assistance features.
Run your code from IntelliJ IDEA.
Build and package the application.
Run the packaged application.
You can choose to build your app with one of the four supported build tools.
The instructions are provided for Gradle and Kotlin as DSL. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for Gradle and Groovy as DSL. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for Maven. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for IntelliJ IDEA build tool. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
Create a new project
In IntelliJ IDEA, a project helps you organize everything that is necessary for developing your application in a single unit.
In Project JDK select a JDK (version 8 or later is recommended).
Write code
Source code is the central part of your project. In source code, you define what your application will be doing. Real projects may be very big and contain hundreds of thousands lines of code. In this tutorial we are going to start with a simple three-line application that asks the user their name and greets them.
In the Project tool window on the left, expand the node named after your project and open the /src/main/kotlin/main.kt file.
The file only contains the main() function with a single print statement. This function is the entry point of your program.
Now that the program asks the user for input, we must provide them with a way to give it. Also, the program needs to store the input somewhere.
Now we have a working code that reads the user name from the console, stores it in a read-only variable, and outputs a greeting using the stored value.
Run code from IntelliJ IDEA
Let’s verify that our program works as expected.
IntelliJ IDEA allows you to run applications right from the editor. You don’t need to worry about the technical aspect because IntelliJ IDEA automatically does all the necessary preparations behind the scenes.
When the program has started, the Run tool window opens, where you can review the output and interact with the program.
Package as JAR
At this point, you know how to write code and run it from IntelliJ IDEA, which is convenient in the development process. However, this is not the way the users are supposed to run applications. For the users to run it on their computers, we are going to build and package the application as a jar file.
JAR is a file format for distributing applications as a single file.
Building the app includes the following steps:
Bundling the dependencies – for the application to function correctly, we need to provide the libraries it depends on. The only required library for this project is Kotlin runtime, but still, it needs to be included. Otherwise, the users will have to provide it themselves every time they run the program, which is not very convenient.
The instructions are provided for Gradle and Kotlin as DSL. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for Gradle and Groovy as DSL. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for Maven. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
The instructions are provided for IntelliJ IDEA build tool. To learn how to accomplish the same using other build tools, use the Build tool switcher at the top of the page.
Open the build.gradle.kts build.gradle script.
The build script is the file that tells the build tool how exactly to build the project.
The build script is the file that tells the build tool how exactly to build the project. It is written in Kotlin just like the source code of your program.
In the build script, add the following task definition:
The manifest section specifies the entry point of the program, and the rest tells the build tool to recursively scan the project for dependencies and include them in the build.
In the right-hand sidebar, open Gradle and run the jar task ( Tasks | build | jar ). If the sidebar is not present, go to View | Appearance and toggle the Tool Window Bars menu item.
The resulting JAR appears in the build/libs directory.
Go to File | Project Structure Ctrl+Alt+Shift+S and open the Artifacts tab.
In the Main Class field, click the Browse button, and select Main.kt as the main class.
Specify the absolute path to /src/main/resources as the manifest directory, for example: /Users/me.user/IdeaProjects/greeting/src/main/resources
Click OK in the Create JAR from Modules dialog.
Click OK in the Project Structure dialog.
The resulting JAR appears in the out/artifacts directory.
Run the JAR
Run from IntelliJ IDEA
Run from CLI
Open the terminal and from the containing folder, run:
This is how the users of your application would run it.
Get started with Kotlin
Before you start working with Kotlin, make sure that the plugin is enabled. The plugin is bundled with IntelliJ IDEA and is activated by default. If the plugin is not activated, enable it on the Plugins page of the IDE settings Ctrl+Alt+S as described in Manage plugins.
IntelliJ IDEA provides first-class support for Kotlin. It includes Kotlin-specific project templates, coding assistance, refactorings, debugging, analysis tools, and so on. Most of the Java tools are available for Kotlin, so, for example, if you know how to use Java debugger or refactorings, your experience will be enough to use these in Kotlin. In this topic, you will find the instructions to get started with Kotlin in IntelliJ IDEA.
This page covers Kotlin support in IntelliJ IDEA. For the language itself, refer to Kotlin documentation.
Create a Kotlin project
Select the project template. The template defines the project structure and dependencies. The following project templates are available:
Console Application : console application with Kotlin/JVM. Use it for prototyping or testing purposes.
Library : library for sharing common code among different platforms.
Native Application : application with Kotlin/Native that works as a standalone application under a specific platform.
Full-Stack Web Application : full-functional web application using Kotlin/JS for the frontend and Kotlin/JVM for the backend.
React Application : frontend application with Kotlin/JS and React UI framework for browser.
Node.JS Application : a standalone application with Kotlin/JS for the Node.js runtime.
Compose Desktop Application : a compose application targeting the desktop JVM platform (Windows, Linux, macOS).
Compose Multiplatform Application : Multiplatform (JVM/Windows, JVM/Linux, JVM/macOS, Android) Compose project with shared code in common modules.
Compose Web Application : a web Compose project for JS.
Select the build system that you are going to use in the project.
Some project templates only support specific build systems.
Specify the JDK that will be used in the project (version 1.8 or later is recommended). The JDK:
is essential for projects built with IntelliJ IDEA build system.
used for coding assistance in projects built with Gradle and Maven
If you don’t have a JDK installed, you can download it right in the dialog.
If you chose IntelliJ as the build system, specify the Kotlin Runtime library that will be used in the project.
Click Next to proceed to configuring the module structure. For detailed information, see New Project Wizard.
Mix Java and Kotlin in one project
You can call Java code from Kotlin and vice versa. This enables you to gradually transition a project to Kotlin or use both languages in parallel, for example, by using Kotlin for testing an existing Java codebase.
The peculiarities of Kotlin/Java interop at the language level are not covered in this topic. For detailed information, refer to Calling Java from Kotlin and Calling Kotlin from Java in the Kotlin language documentation.
In order to start using Kotlin in your project, make sure that the Kotlin plugin is enabled and the Kotlin dependency is added to your project.
Add Kotlin dependency to an existing JVM project
For other build tools, follow the steps in:
Convert Java to Kotlin
IntelliJ IDEA allows you to automatically convert your Java code to Kotlin. The resulting code is not supposed to be perfect, however, it may be helpful in some situations.
Что такое Kotlin
И зачем он андроид-разработчику.
Kotlin — это язык программирования компании JetBrains, который за 9 лет потеснил Java и стал важным инструментом андроид-разработчиков. Разберёмся, что особенного в Kotlin, какие у него риски и с чего начать.
🤔 Зачем понадобился ещё один язык вместо Java
На этот вопрос есть два ответа.
Официальный ответ: в 2017 году языком Kotlin пользовались около миллиона программистов, и им не хватало поддержки на Андроиде. Гугл пошёл навстречу разработчикам и сделал Kotlin приоритетным языком на Андроиде.
Догадки и слухи: с 2010 года Гугл судится с компанией Oracle по поводу использования Java в системе Андроид. Вот почему:
в основе первых версий Андроида лежала виртуальная машина Dalvik,
Dalvik построена на основе платформы Apache Harmony,
Apache Harmony — это платформа Java, на которую у Гугл нет лицензии.
В 2010 году Oracle потребовала от Гугл миллиардную компенсацию и трижды выигрывала суд: в 2012, 2014 и 2015-м. Дело не закрывалось, поскольку в Гугл отказывались столько платить. В 2016 году иск вырос до девяти миллиардов, однако суд встал на сторону Гугл. Дело висит с 2017 года, а Гугл постепенно переводит всю андроид-инфраструктуру с Java на Kotlin.
✅ Преимущества
Совместимость с Java. Kotlin и Java можно использовать в одном проекте. Для этого у языка Kotlin есть собственный компилятор, который выдаёт байт-код, совместимый с обычной Java-машиной. Получается, что с точки зрения Java неважно, из какого языка был сделан байт-код.
Упрощенная схема взаимодействия Java и Kotlin
Выразительность. Kotlin — это компактный язык без кусков избыточного кода:
В простых программах у Kotlin проще синтаксис и меньше вспомогательных конструкций
В некоторых случаях код на Kotlin может быть в несколько раз короче, чем код на Java
Безопасность. Язык Kotlin и его среда программирования — это продукт одной компании, которая постоянно обновляет базу ошибок и помогает разработчикам редактировать код до момента исполнения программы.
На этапе компиляции в Kotlin срабатывает null-защита: Kotlin автоматически проверяет типы данных, отслеживает null-значения и предотвращает появление NullPointerException — распространённой Java-уязвимости.
❌ Недостатки
Низкая скорость. Чаще всего разработчики жалуются на непредсказуемую скорость компиляции. По быстродействию Kotlin уступает Java, поскольку в его основе лежит виртуальная машина JVM — фундаментальная программа, выпущенная специально под язык Java, а не под Kotlin.
Другие нюансы смотрите в твиттере Даниила Попова — андроид-инженера Авито, который изучает Kotlin на практике и рассказывает о свежих технических багах.
Маленькое сообщество и единственный владелец языка. Kotlin всё ещё не такой популярный, как Java. Причина в том, что Kotlin — это не продукт Гугл. Разработчики боятся, что через какое-то время Гугл откажется от него, придумает какую-то свою версию языка или поссорится с JetBrains.
Малочисленное сообщество тормозит развитие Kotlin: под него медленно выпускаются новые библиотеки и обновления, а для решения технических проблем нужно обращаться в баг-трекер — написать в техподдержку JetBrains, добавить свою проблему в очередь задач, ждать и надеяться на её исполнение.
В сентябре 2020 в баг-трекере Kotlin около 40 000 задач, которые закрываются по мере критичности. До некоторых задач очередь доходит через несколько лет, но есть и те, что остаются нерешёнными — в таких условиях разработчики вынуждены искать костыльные решения или переходить на другой язык с развитым сообществом.
Для чего используется
Kotlin используется для создания мобильных приложений, веб-разработки, бэкенда и мультиплатформенного программирования:
Для мультиплатформенного программирования предусмотрены технологии разработки интерфейсов в React, создания серверного HTTP API в Ktor и адаптирования андроид-приложений под операционную систему iOS.
Google, Netflix, Twitter, Uber, Netflix и другие компании переводят некоторые свои продукты на Kotlin. Кейсы есть на developer.android.com в разделе «Истории разработчиков».
Андроид-приложения с оптимизированным Kotlin-кодом. Источник: developer.android.com
С чего начать
Почитайте у нас статью про Java — это язык, на котором написано множество приложений, библиотек и фреймворков. Перечисленное часто используется в мобильной разработке и в обозримом будущем не будет переводиться на Kotlin.
Скачайте IntelliJ IDEA или Android Studio. Обе программы — это среда разработки под язык Kotlin. IntelliJ IDEA больше подходит для сайтов и десктопных программ, а Android Studio — для разработки мобильных приложений под андроид.
Установите плагин EduTools — это специальный инструмент, разработанный для изучения языка Kotlin. Есть в IntelliJ IDEA и Android Studio. Познакомьтесь с официальным руководством по языку Kotlin. Если возникнут сложности с переводом — посмотрите неофициальную русскоязычную версию.