Язык котлин для чего: Разработка на Kotlin — Инфографика «Экосистема разработки в 2020 году»

Практическое применение Kotlin в стартапах и энтерпрайзе / Хабр

Disclaimer: Я не имею никакого отношения к JetBrains, не получаю денег от продвижения Kotlin или от написания данной статьи. Весь материал — это лишь отражение моего личного опыта.

Выбор того или иного языка (и вообще любого инструмента) как правило продиктован как объективными, так и субъективными факторами. В каждом проекте могут быть свои особенности, влияющие на выбор. Я далек от того, чтоб устраивать очередной холивар на тему какой язык круче — языков много и у каждого своя ниша. Однако, на мой взгляд выбор между Kotlin и Java более определенный, поскольку Kotlin покрывает все возможности Java и добавляет много дополнительного функционала и сахара.

Исторически сложилось, что Java занял огромную часть рынка корпоративной разработки. Команды, начинающие новые проекты как в стартапах, так и в энтерпрайзе, по инерции в большинстве случаев выбирают в качестве основного языка именно Java. На мой взгляд, на сегодняшний день это является ошибкой, которая приводит лишь к увеличению стоимости разработки и дальнейшей поддержки кода.

В этой публикации я собираюсь объяснить свою позицию, а заодно опишу некоторые особенности перехода с Java на Kotlin как в условиях стартапа, так и в условиях крупного энтерпрайз-проекта.

Kotlin против Java

Можно было бы привести список из десятков-сотен преимуществ языковых конструкций в Kotlin против таких же конструкций в Java, но основной выигрыш от применения языка находится гораздо глубже.

На мой взгляд, Java зародилась как мощный ответ прежде всего C++. Поэтому в ней чувствуется сильное его влияние со всеми его недостатками. Проблема в том, что за 25 лет существования Java, она продемонстрировала значительную консервативность по сравнению с другими языками. В то время как множество языков экспериментировали с ключевыми словами типа async, с пунктуацией языка (точки с запятой, скобки и пр.), Oracle хранила исключительную верность «традиционным принципам», что привело лишь к моральному устареванию самого языка.

Печально то, что разрыв лишь нарастает, несмотря на попытки его сократить со стороны Oracle. Например, дата-классы в Kotlin появились в самых ранних версиях, а некий их аналог в Java появился лишь в 14 версии, полагаю, как раз под давлением конкуренции с JetBrains.

Kotlin, напротив, стремился вобрать в себя все самые передовые практики от всех других языков разработки, при этом поддерживая интероперабельность с Java. Поэтому, сравнивая Java и Kotlin, мне приходит на ум аналогия со старым добрым и надежным паровозом с его чугунными поршнями (Java) и автомобилем с его персональной аудиосистемой, противоугонкой, хромированными ручками дверей и прочими «наворотами» (Kotlin).

Если вам в вашем проекте требуется «возить лес в Сибири» вдали от селений и с полным отсутствием бензина, то, вероятно, паровоз вам действительно подойдет лучше. Но большинство проектов все же находятся не в столь экзотических условиях. Поэтому тот факт, что на Kotlin проект получается раза в 2-3 компактнее, более легкочитаемый, более надежный в плане защиты от NullPointerException, должен стать серьезным аргументом. Именно эти особенности и позволяют Kotlin снижать в 2 раза время разработки и количество багов, а в итоге, стоимость создания и владения программным продуктом.

Я лишь вкратце перечислю те преимущества, которые Kotlin предлагает из коробки, но которые с трудом достигаются в традиционном Java.

  1. Множество элементов, сокращающих бойлерплейт: data class, getters&setters — в разы сокращает количество кода.

  2. Более продуманная и юзабельная структура классов: вместо HashMap, например, Map (иммутабельный) и MutableMap (мутабельный) — позволяет с легкостью входить в язык новичкам и концентрироваться на бизнесовой постановке, а не на способах реализации.

  3. Прямо из коробки идут различные защиты, например от null:

    var str: String = ""
    str = null // Здесь будет ошибка компиляции, а не runtime
    var nullableStr: String? = null // а так можно

    — что приводит к значительным сокращениям ошибок в программах и снижению стоимости поддержки.

  4. На уровне языка идет поддержка асинхронных операций, которые существуют в Python и JS ES6 — приводит к упрощению работы с асинхронными и многопоточными операциями по сравнению с Java.

  5. Kotlin Multiplatform — возможность компиляции программ на Kotlin одновременно для JVM, JS, Native (C/C++, Object C) — допускает снижение дублирования кода, более легкую интеграцию с фронтендами и более оптимальную разработку в архитектуре Serverless.

  6. Domain Specific Language (DSL) — дает компактную и легкочитаемую замену билдерам.

Проблемы перехода на Kotlin

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

Где взять Kotlin разработчиков?

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

В любом случае, любой разработчик, знакомый с Java, вполне успешно и быстро переходит на Kotlin (см. следующий вопрос).

Сколько нужно времени для подготовки разработчиков?

Kotlin разрабатывался на базе Java и совместим с ним на 100%. Поэтому для перехода на него не обязательно проходить какие-то специализированные курсы. Начать разрабатывать на Kotlin можно с первого дня. Базовых отличий не так много между языками. Например, if работает и там, и там практически одинаково, дополнительно в Kotlin его можно использовать в виде выражения:

val x: Int = if (a == 1) 2 else 3

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

Однако, надо понимать, что новичок будет пользоваться Котлином в стиле Java, т.е. без использования всех преимуществ языка. Для освоения практики использования Kotlin с его особенностями, безусловно требуется практический опыт. Значительно ускорить вход в язык помогает опытный разработчик, который может отревьюировать код и подсказать лучшие решения, либо практические курсы.

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

Как быть с легаси кодом?

Kotlin полностью интероперабелен с Java, что позволяет прямо в программе на Kotlin использовать код, написанный в Java. Также в саму Intellij Idea включен плагин, который на лету умеет конвертировать куски кода (либо весь файл) из Java в Kotlin. Надо понимать, что качество автоконвертации не сравнится с работой человека, но тем не менее, инструмент очень полезный.

Также Kotlin позволяет писать код одновременно на Java и Kotlin в одном модуле. Для этого можно настроить сборщик либо на расширения, либо на директории, разнеся их в src/main/java и src/main/kotlin. Тут опять нужно знать о нюансах: код из Java легко подхватывается в коде на Kotlin, но для обратной совместимости приходится прилагать определенные усилия. Например, по умолчанию в Kotlin вместо статических методов используются объекты-компаньоны и для экспорта в Java требуется применить аннотацию @JvmStatic.

Начинающие разработчики на Kotlin бывает совершают ошибку, дублируя библиотеку для Java и для Kotlin. Поддерживать две версии библиотеки будет неэффективно, поэтому рекомендую либо просто продолжать ее разработку на Java и просто импортировать в Kotlin, а еще лучше сразу конвертировать ее в Kotlin и обеспечить совместимость с легаси семантикой.

У нас стартап, зачем нам Kotlin?

Довольно часто для стартапов применяется даже не Java, а такие языки как PHP, Python, JavaScript (NodeJS). В каких-то случаях это может быть оправдано, но надо иметь в виду следующее. Перечисленные языки могут себя неплохо показать для прототипирования, но из-за отсутствия строгой типизации, они меньше подходят для долгосрочных, крупных проектов. Просто потому, что строгая типизация позволяет избегать множества ошибок на этапе даже не компиляции, а на этапе написания кода в IDE. Ошибки, допущенные из-за отсутствия проверки типов, выливаются в простои в боевом режиме, приводя к убыткам. Поэтому вам нужно тщательно взвесить все выгоды от быстрой разработки на языках без строгой типизации и убытки от их применения в продуктовом режиме.

Довольно часто бытует мнение, что первую продажу можно сделать на каком-нибудь PHP, а затем мигрировать на Java/Kotlin. Мой опыт говорит, что сделать первую продажу можно вообще без кода хоть на PHP, хоть на Kotlin. Но времени для перехода с одного языка на другой на практике никто не даст при развитии стартапа. Каждый день будут задачи, которые нужно сделать вчера.

Безусловно, на любом языке можно написать плохо. Но PHP, Python, JS дают гораздо больше возможностей для низкокачественного кода, чем Java/Scala/Kotlin. И чем хуже изначально написанный код, тем хуже он поддерживается дальше, приводя к еще большим костылям. Я сталкивался со стартапом, который стартовал нормально, но за 7 лет своей работы получил совершенно нечитаемый и неподдерживаемый код на Python. Ситуация оказалась патовой: его нельзя было просто так закрыть из-за наличия обязательств, и нельзя было продолжить развивать из-за необходимости полностью переписать проект, на что бюджета уже не было.

Поэтому моя рекомендация для долгосрочных и потенциально крупных проектов — использовать Kotlin. Ускорение выхода на рынок можно реализовать не снижением качества разработки, а другими подходами типа правильного выбора MVP, гибкой архитектурой и сокращением расходов на техподдержку при качественно написанном коде.

Особенности разработки на Kotlin

Как я уже отмечал выше, применение Kotlin в реальных проектах может существенно отличаться от применения Java, благодаря тем дополнительным средствам, которые он предоставляет. Особенности эти, в итоге влияют в том числе и на общую архитектуру проекта. Поскольку особенностей много, я лишь для примера приведу несколько.

Ненулевые переменные и свойства класса

Kotlin предоставляет мощнейший элемент защиты от null. Приводит это к тому, что работать с nullable переменными просто неудобно — их ведь нужно всегда проверять на null. Хоть такая проверка выполняется очень просто в Kotlin, хочется избегать ее чрезмерного использования. Достигается это тем, что при создании большинства классов я определяю пустой элемент:

data class SomeClass(
    var x: String = "",
    var y: Int = -1
) {
    companion object {
        val NONE = SomeClass()
    }
}

, который и используется при инициализации в качестве значения по умолчанию вместо null.

Существует множество случаев, когда нам просто необходимо делать свойства нулевыми. Например, в API или в хранилище мы не можем быть уверенными, что нам придет всегда non-nullable значение. Как раз здесь и играет свою роль DDD (domain driven design). Мы для отправки данных или для сохранения делаем отдельные DTO-классы, которые содержат в себе нулевые поля, а в рабочие модели мы их мапим со всеми проверками:

data class StorableObject(
    var id: String? = null,
    var data: String? = null
) {
    // Место размещения мапера зависит от задачи
    constructor(wm: WorkModel): this(
        id = wm. id.takeIf { it != -1 }?.toString(),
        data = wm.data.takeIf { it.isNotBlank() }
    )
    // Место размещения мапера зависит от задачи
    fun toWorkModel(): WorkModel = WorkModel(
        id = id?.toInt() ?: -1,
        data = data ?: ""
    )
}

Таким образом, простое использование Null-safety в Kotlin стимулирует нас применять практику DDD, что в свою очередь делает наш код более гибким, защищенным от изменений API или внутренней логики.

Kotlin Multiplatform (KMP)

KMP — это довольно мощное средство и его стоит использовать в проектах при интеграции с JS и Native компонентами системы. На практике, KMP вполне неплохо себя показывает при описании API для потребления Single Page Application (SPI) типа React, Angular, Vue, а также мобильными приложениями под Android и iOS.

Но лично я предпочитаю разрабатывать фронтенд на Dart/Flutter, а с этим фреймворком простой интеграции через KMP пока не существует. Интеграцию между бэкендом на Kotlin и фронтендом на Dart можно реализовать с использованием OpenAPI, AsyncAPI, gRPC и других кодогенераторов.

На бэкенде KMP может быть применен, например, при использовании Serverless архитектуры, в том числе Google Cloud Functions, Yandex Cloud Functions, AWS Lambda и др. аналогов. Особенность бессерверных архитектур в том, что в них важна скорость старта приложения. Поэтому код на Python или NodeJs может показывать гораздо более низкое время отклика, чем на JVM. Использование KMP позволяет компилировать код в JavaScript или в Native executable, что вполне решает проблему быстрого старта.

Недостатки Kotlin

Наверное есть какие-то недостатки более бытового характера. Но для меня самым существенным недостатком является отсутствие фронтенд-фреймворка для Kotlin. Ktor, при всех его преимуществах, не достиг уровня фронтенд-фреймворка. Я как-то видел набор в Jetbrains фронт-разработчиков и думаю, что вскорости такой фреймворк будет анонсирован. Однако, на сегодняшний день на фронтенде я предпочитаю использовать Google Flutter, который использует язык Dart. Возможно для кого-то окажется более приемлемым переход на Dart как на фронтенде, так и на бэкенде вместо Котлина.

Заключение

В заключении хочу кратко суммировать основные утверждения настоящей статьи.

  1. Kotlin — это действительно мощный инструмент, который превосходит классическую Java по многим параметрам. Поэтому я ожидаю, что в ближайшие 5 -10 лет произойдет существенное вытеснение им последней с рынка.
  2. Перевод реальных проектов на Kotlin не создает непреодолимых препятствий, наоборот, его уместно осуществлять на легаси-проектах, так и новых; как в корпорациях, так и в стартапах.
  3. При том, что переход на Kotlin довольно прост, недостаточный опыт чреват Java-стилем, что неэффективно. Для более полноценного использования этого инструмента, рекомендую получение опыта, привлечение экспертов, либо прохождение практических курсов разработчиками.
  4. Использование Kotlin может заметно влиять на архитектуру проекта, делать ее более стройной, а также позволяет применять техники, которые неприменимы в Java, в частности Kotlin Multiplatform.
  5. Пока не существует достаточно мощного фронтенд-фреймворка на Kotlin. Кто-то может предпочесть Котлину Dart, который можно использовать одновременно на всех платформах как на фронтенде, так и на бэкенде.

Что такое 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 всё ещё не такой популярный, как Java. Причина в том, что Kotlin — это не продукт Гугл. Разработчики боятся, что через какое-то время Гугл откажется от него, придумает какую-то свою версию языка или поссорится с JetBrains.  

Малочисленное сообщество тормозит развитие Kotlin: под него медленно выпускаются новые библиотеки и обновления, а для решения технических проблем нужно обращаться в баг-трекер — написать в техподдержку JetBrains, добавить свою проблему в очередь задач, ждать и надеяться на её исполнение. 

В сентябре 2020 в баг-трекере Kotlin около 40 000 задач, которые закрываются по мере критичности. До некоторых задач очередь доходит через несколько лет, но есть и те, что остаются нерешёнными — в таких условиях разработчики вынуждены искать костыльные решения или переходить на другой язык с развитым сообществом.

Почему разработчик сегодня злой

С 2002 года популярность Java постепенно снижается, однако по-прежнему на высоком уровне

Для чего используется 

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

Для веб-разработки предусмотрена компиляция с JavaScript и инструменты для HTML и CSS-кода. 

Для бэкенда предусмотрена компиляция Java и Kotlin в одном проекте. По отдельности Kotlin и Java совместимы по умолчанию. 

Для мультиплатформенного программирования предусмотрены технологии разработки интерфейсов в 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. Если возникнут сложности с переводом — посмотрите неофициальную русскоязычную версию.

Текст и код

Александр Бабаскин

Редактор

Максим Ильяхов

Корректор

Ира Михеева

Иллюстратор

Даня Берковский

Вёрстка

Маша Дронова

Доставка

Олег Вешкурцев

404: Страница не найдена

Страница, которую вы пытались открыть по этому адресу, похоже, не существует. Обычно это результат плохой или устаревшей ссылки. Мы извиняемся за любые неудобства.

Что я могу сделать сейчас?

Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:

Поиск

  • Пожалуйста, свяжитесь с нами, чтобы сообщить, что эта страница отсутствует, или используйте поле выше, чтобы продолжить поиск
  • Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, WhatIs. com.
  • Посетите нашу домашнюю страницу и просмотрите наши технические темы

Просмотр по категории

Сеть


  • потоковая передача данных

    Потоковая передача данных — это непрерывная передача данных из одного или нескольких источников с постоянной высокой скоростью для обработки в определенные …


  • граница службы безопасного доступа (SASE)

    Пограничный сервис безопасного доступа, также известный как SASE и произносится как «дерзкий», представляет собой модель облачной архитектуры, объединяющую сеть и …


  • Протокол конфигурации сети (NETCONF)

    Протокол конфигурации сети (NETCONF) — это протокол сетевого управления инженерной группы Интернета (IETF), который …

Безопасность


  • черный список приложений (занесение приложений в черный список)

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


  • соковыжималка

    Juice jacking — это эксплойт безопасности, в котором зараженная зарядная станция USB используется для компрометации устройств, которые к ней подключаются.


  • безопасность гипервизора

    Безопасность гипервизора — это процесс обеспечения безопасности гипервизора (программного обеспечения, обеспечивающего виртуализацию) на протяжении…

ИТ-директор


  • Общепринятые принципы ведения учета (Принципы)

    Общепринятые принципы ведения документации — это основа для управления записями таким образом, чтобы поддерживать …


  • система управления обучением (LMS)

    Система управления обучением представляет собой программное приложение или веб-технологию, используемую для планирования, реализации и оценки конкретных …


  • Информационный век

    Информационная эпоха — это идея о том, что доступ к информации и контроль над ней являются определяющими характеристиками нынешней эпохи . ..

HRSoftware


  • аутсорсинг процесса подбора персонала (RPO)

    Аутсорсинг процесса найма (RPO) — это когда работодатель передает ответственность за поиск потенциальных кандидатов на работу …


  • специалист по кадрам (HR)

    Специалист по персоналу — это специалист по кадрам, который выполняет повседневные обязанности по управлению талантами, сотрудникам …


  • жизненный цикл сотрудника

    Жизненный цикл сотрудника — это модель человеческих ресурсов, которая определяет различные этапы, через которые работник проходит в …

Обслуживание клиентов


  • Платформа Adobe Experience

    Adobe Experience Platform — это набор решений для управления качеством обслуживания клиентов (CXM) от Adobe.


  • виртуальный помощник (помощник ИИ)

    Виртуальный помощник, также называемый помощником ИИ или цифровым помощником, представляет собой прикладную программу, которая понимает естественные . ..


  • входящий маркетинг

    Входящий маркетинг — это стратегия, направленная на привлечение клиентов или лидов с помощью созданного компанией интернет-контента, тем самым …

Начать работу с Kotlin | Kotlin Documentation

Kotlin — это современный, но уже зрелый язык программирования, призванный сделать разработчиков счастливее. Он лаконичен, безопасен, совместим с Java и другими языками и предоставляет множество способов повторного использования кода между несколькими платформами для продуктивного программирования.

Поднимите его, чтобы начать создавать мощные приложения!

Изучите основы Kotlin

  • Если вы уже знакомы с одним или несколькими языками программирования и хотите изучить Kotlin, начните с этих учебных материалов по Kotlin.

  • Если Kotlin — ваш первый язык программирования, мы рекомендуем начать с книги Atomic Kotlin или подписаться на бесплатный курс Kotlin Core от JetBrains Academy.

Установка Kotlin

Kotlin включен в каждый выпуск IntelliJ IDEA и Android Studio.
Загрузите и установите одну из этих IDE, чтобы начать использовать Kotlin.

Создайте свое мощное приложение с Kotlin

Вот как вы можете сделать первые шаги в разработке серверных приложений Kotlin.

  1. Создайте свое первое серверное приложение:

    • Чтобы начать с нуля, создайте базовое приложение JVM с помощью мастера проектов IntelliJ IDEA.

    • Если вы предпочитаете более надежные примеры, выберите один из фреймворков ниже и создайте проект: 03

      Развитое семейство фреймворков с устоявшаяся экосистема, которую используют миллионы разработчиков по всему миру.

      • Создайте веб-службу RESTful с помощью Spring Boot.

      • Создавайте веб-приложения с помощью Spring Boot и Kotlin.

      • Используйте Spring Boot с Kotlin и RSocket.

      Легкий каркас для тех, кто ценит свободу в принятии архитектурных решений.

      • Создавайте HTTP API с помощью Ktor.

      • Создайте чат WebSocket с Ktor.

      • Создайте интерактивный веб-сайт с Ktor.

      • Публикация серверных приложений Kotlin: Ktor на Heroku.

    • Используйте Kotlin и сторонние библиотеки в своем приложении . Узнайте больше о добавлении зависимостей библиотек и инструментов в ваш проект.

      • Стандартная библиотека Kotlin предлагает множество полезных вещей, таких как коллекции или сопрограммы.

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

    • Узнайте больше о Kotlin для серверной части:

      • Как написать свой первый модульный тест.

      • Как смешивать код Kotlin и Java в вашем приложении.

    • Присоединяйтесь к серверному сообществу Kotlin:

      • Slack: получите приглашение и присоединяйтесь к каналам #getting-started, #server, #spring или #ktor.

      • StackOverflow: подпишитесь на теги «kotlin», «spring-kotlin» или «ktor».

    • Следите за Kotlin в Twitter, Reddit и Youtube и не пропустите важные обновления экосистемы.

Если вы столкнулись с какими-либо трудностями или проблемами, сообщите о проблеме в нашу систему отслеживания проблем.

Здесь вы узнаете, как разрабатывать и улучшать кроссплатформенное мобильное приложение с помощью Kotlin Multiplatform.

  1. Настройте среду для кроссплатформенной мобильной разработки.

  2. Создайте свое первое приложение для iOS и Android:

    • Чтобы начать с нуля, создайте базовое кроссплатформенное мобильное приложение с помощью мастера проектов.

    • Если у вас есть существующее приложение Android и вы хотите сделать его кроссплатформенным, выполните руководство Как заставить ваше приложение Android работать на iOS.

    • Если вы предпочитаете примеры из реальной жизни, клонируйте и поэкспериментируйте с существующим проектом, например с проектом сети и хранения данных из учебника «Создание мультиплатформенного приложения с помощью Ktor и SQLdelight» или любого примера проекта.

  3. Используйте широкий набор мультиплатформенных библиотек для реализации необходимой бизнес-логики только один раз в общем модуле. Подробнее о добавлении зависимостей.

    Библиотека

    Детали

    Ктор

    90 189

    Документы

    Сериализация

    Документы и образец

    Coroutines

    Документы и образцы

    DateTime

    Документы

    9 0189

    SQLDelight

    Сторонняя библиотека. Документы

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

  4. Узнайте больше о Kotlin Multiplatform для мобильных устройств:

    • Узнайте больше о Kotlin Multiplatform.

    • Просмотрите примеры на GitHub.

    • Создайте и опубликуйте мультиплатформенную библиотеку.

    • Узнайте, как Kotlin Multiplatform используется в Netflix, VMware, Yandex и многих других компаниях.

  5. Присоединяйтесь к мультиплатформенному сообществу Kotlin:

  6. Следите за Kotlin в Twitter, Reddit и Youtube и не пропустите важные обновления экосистемы.

Если вы столкнулись с какими-либо трудностями или проблемами, сообщите о проблеме в нашу систему отслеживания проблем.

  • Если вы хотите начать использовать Kotlin для разработки под Android, прочитайте рекомендации Google по началу работы с Kotlin на Android.

  • Если вы новичок в Android и хотите научиться создавать приложения с помощью Kotlin, ознакомьтесь с этим курсом Udacity.

Следите за Kotlin в Twitter, Reddit и Youtube и не пропустите важные обновления экосистемы.

Поддержка мультиплатформенного программирования — одно из ключевых преимуществ Kotlin. Это сокращает время, затрачиваемое на написание и сопровождение одного и того же кода для разных платформ, сохраняя при этом гибкость и преимущества нативного программирования.

Здесь вы узнаете, как разработать и опубликовать многоплатформенную библиотеку:

  1. Создать многоплатформенную библиотеку:

    • Выполните руководство по созданию и публикации многоплатформенной библиотеки. В нем показано, как создать мультиплатформенную библиотеку для платформ JVM, JS и Native, протестировать ее и опубликовать в локальном репозитории Maven.

  2. Использование библиотек в вашем приложении:

    • Ktor

    • Сериализация

    • 900 09

      Coroutines

    • DateTime

    Узнайте больше о добавлении зависимостей от библиотек.

    This entry was posted in Популярное