Kotlin кроссплатформенный или нет

Share code on your terms and for different platforms

Kotlin Multiplatform technology simplifies the development of cross-platform projects. It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.

Kotlin applications will work on different operating systems, such as iOS, Android, macOS, Windows, Linux, watchOS, and others.

It is trusted in production by many of the world’s leading companies, including Philips, Netflix, Leroy Merlin, and VMWare.

Single codebase for application logic

Maintain a single codebase for networking, data storage and data validation, analytics, computations, and the other logic of your applications.

Share as much as you want – in a new project or in an existing one

Use Kotlin Multiplatform when you start a new project and implement data, business, and even presentation layers just once.

Kotlin Multiplatform can also simplify the development of existing projects. Choose a piece of logic (for example, data validation, filtering, or sorting), which changes frequently and usually goes out-of-sync, make it cross-platform, and connect it to your project as a micro-library.

Go 100% sharing with common UI

Want to go beyond sharing app logic and reuse the whole app code? Sharing the UI is possible with Compose Multiplatform – you can already experiment with sharing the UI between Android and iOS.

Where other technologies abstract away or completely replace platform specific app development, Kotlin Multiplatform is complementary to existing platform specific technologies and is geared towards replacing platform agnostic business logic. It’s a new tool in the toolbox as opposed to replacing the toolbox.

We loved the “shared business, native UI” idea that Kotlin Multiplatform promoted, and it meant that our teams did not have to give up using their preferred toolchains.

The advent of Kotlin Multiplatform provided a serious opportunity to not only become faster at implementing new features, but also to get more interaction in the team between Android and iOS developers.

Читайте также:  How to call a JavaScript function in HTML?

Performance on both Android and iOS in key areas using shared code was drastically improved when compared Kotlin Multiplatform to our previous Shared Javascript approach. On iOS, we had over 25x faster grading performance than using JavascriptCore. On Android, we had an average improvement of 1.5s off of J2V8 initialization time and 5x faster runtime of shared code itself.

Now, with Kotlin Multiplatform Mobile, the speed of development across the three client platforms is pretty much unmatched. A single engineer is able to do all of the UI implementations, now does all three clients and has re-skinned or otherwise changed the screens in Down Dog in just a few months.

Источник

Kotlin Multiplatform

Мультиплатформенные проекты находятся в стадии альфа-тестирования. Особенности языка и инструментарий могут быть изменены в будущих версиях Kotlin.

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

Примеры использования Kotlin Multiplatform

Android и iOS приложения

Использование одного кода на всех мобильных платформах является одним из основных вариантов использования Kotlin Multiplatform. С помощью Kotlin Multiplatform Mobile вы можете создавать мультиплатформенные мобильные приложения, совместно использующие один код и в Android, и в iOS, например бизнес-логику, возможности подключения и многое другое.

Ознакомьтесь с разделом Начало работы с Kotlin Multiplatform Mobile и Kotlin Multiplatform Hands-on: Сети и хранение данных, где вы создадите приложение для Android и iOS, включающее модуль с общим кодом для обеих платформ.

Фулстек веб-приложения

Другой сценарий, когда совместное использование кода может принести пользу, — это приложение, в котором логика может быть повторно использована как на стороне сервера, так и на стороне клиента, запущенного в браузере. С этим Kotlin Multiplatform тоже прекрасно справляется.

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

Мультиплатформенные библиотеки

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

См. руководство Создание и публикация мультиплатформенной библиотеки, в котором вы создадите мультиплатформенную библиотеку, протестируете ее и опубликуете в Maven.

Общий код для мобильных и веб-приложений

Еще одним популярным примером использования Kotlin Multiplatform является совместное использование одного и того же кода в Android, iOS и веб-приложениях. Это сокращает объем бизнес-логики, написанной фронтенд-разработчиками, и помогает более эффективно внедрять продукты, сокращая затраты на разработку и тестирование.

Читайте также:  How to convert int to array in java

Смотрите пример проекта RSS Reader — кроссплатформенное приложение для iOS и Android с десктоп- и веб-клиентами, реализованными в качестве экспериментальных функций.

Как работает Kotlin Multiplatform

Kotlin Multiplatform

  • Обычный Kotlin включает в себя язык, основные библиотеки и базовые инструменты. Код, написанный на обычном Kotlin, работает везде на всех платформах;
  • С помощью мультиплатформенных библиотек Kotlin вы можете повторно использовать мультиплатформенную логику в обычном и специфичном для платформы коде. Обычный код может полагаться на набор библиотек, которые охватывают повседневные задачи, такие как HTTP, сериализация и управление корутинами;
  • Для взаимодействия с платформами используйте версии Kotlin для конкретной платформы. Версии Kotlin для конкретной платформы (Kotlin/JVM, Kotlin/JS, Kotlin/Native) включают расширения для языка Kotlin, а также библиотеки и инструменты для конкретной платформы;
  • С помощью этих платформ вы можете получить доступ к встроенному коду платформы (JVM, JS и Native) и использовать все встроенные возможности.

Использование кода на разных платформах

Благодаря Kotlin Multiplatform тратьте меньше времени на написание и поддержку одного и того же кода для разных платформ – просто поделитесь им, используя механизмы, предоставляемые Kotlin:

Общий код для iOS

  • Использование одного кода на всех платформах, которые задействованы в вашем проекте. Используйте это для общей бизнес-логики, применимой ко всем платформам;
  • Использование одного кода только на некоторых платформах, которые включены в ваш проект, а не на всех. Поступайте так, когда вы можете повторно использовать большую часть кода на аналогичных платформах.
  • Если вам нужно получить доступ к API-интерфейсам, зависящим от платформы, из общего кода, используйте механизм Kotlin ожидаемых и фактических объявлений.

Начало работы

  • Ознакомьтесь с нашими примерами и руководствами, если вы хотите создавать приложения или библиотеки, ориентированные на JVM, JavaScript и другие платформы;
  • Начните с Начало работы с Kotlin Multiplatform Mobile, если вы хотите создавать приложения для iOS и Android с общим кодом.

Примеры проектов

Просмотрите примеры кроссплатформенных приложений, чтобы понять, как работает Kotlin Multiplatform:

© 2015—2023 Open Source Community

Источник

Kotlin Multiplatform

Kotlin Multiplatform is in Beta. It is almost stable, but migration steps may be required in the future. We’ll do our best to minimize any changes you have to make.

The Kotlin Multiplatform technology is designed to simplify the development of cross-platform projects. It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.

Читайте также:  Команда перезагрузить страницу php

Kotlin Multiplatform use cases

Android and iOS applications

Sharing code between mobile platforms is a major Kotlin Multiplatform use cases. With Kotlin Multiplatform for mobile, you can build cross-platform mobile applications that share code between Android and iOS to implement networking, data storage and data validation, analytics, computations, and other application logic.

Check out the Get started with Kotlin Multiplatform for mobile and Create a multiplatform app using Ktor and SQLDelight tutorials, where you will create applications for Android and iOS that include a module with shared code for both platforms.

Thanks to Compose Multiplatform, a Kotlin-based declarative UI framework developed by JetBrains, you can also share UIs across Android and iOS to create fully cross-platform apps:

Try this Compose Multiplatform mobile application template to create your own mobile application with UIs shared between both platforms.

Multiplatform libraries

Kotlin Multiplatform is also helpful for library authors. You can create a multiplatform library with common code and its platform-specific implementations for JVM, web, and native platforms. Once published, a multiplatform library can be used as a dependency in other cross-platform projects.

See the Create and publish a multiplatform library tutorial, where you will create a multiplatform library, test it, and publish it to Maven.

Desktop applications

Compose Multiplatform helps share UIs across desktop platforms like Windows, macOS, and Linux. Many applications, including the JetBrains Toolbox app, have already adopted this approach.

Try this Compose Multiplatform desktop application template to create your own project with UIs shared among desktop platforms.

Code sharing between platforms

Kotlin Multiplatform allows you to maintain a single codebase of the application logic for different platforms. You also get advantages of native programming, including great performance and full access to platform SDKs.

Kotlin provides the following code sharing mechanisms:

  • Share common code among all platforms used in your project.
  • Share code among some platforms included in your project to reuse much of the code in similar platforms:
  • If you need to access platform-specific APIs from the shared code, use the Kotlin mechanism of expected and actual declarations.

Get started

  • Begin with the Get started with Kotlin Multiplatform for mobile if you want to create iOS and Android applications with shared code
  • Explore sharing code principles and examples if you want to create applications or libraries targeting other platforms

New to Kotlin? Take a look at Getting started with Kotlin.

Sample projects

Look through cross-platform application samples to understand how Kotlin Multiplatform works:

Источник

Оцените статью