Skip to content

Commit

Permalink
feat: kmp page migration (#3859)
Browse files Browse the repository at this point in the history
* feat: kmp page migration

* fix: broken links
  • Loading branch information
danil-pavlov authored Oct 27, 2023
1 parent 5b96759 commit b9b4701
Show file tree
Hide file tree
Showing 46 changed files with 153 additions and 5,074 deletions.
45 changes: 13 additions & 32 deletions docs/kr.tree
Original file line number Diff line number Diff line change
Expand Up @@ -125,51 +125,32 @@
</toc-element>

<toc-element toc-title="Multiplatform development">
<toc-element toc-title="Kotlin Multiplatform for iOS and Android">
<toc-element id="multiplatform-mobile-getting-started.md" accepts-web-file-names="kmm-getting-started.html"/>
<toc-element id="multiplatform-mobile-setup.md" accepts-web-file-names="kmm-setup.html" toc-title="1. Set up an environment"/>
<toc-element id="multiplatform-mobile-create-first-app.md" accepts-web-file-names="kmm-create-first-app.html" toc-title="2. Create your first cross-platform app"/>
<toc-element id="multiplatform-mobile-dependencies.md" toc-title="3. Add dependencies"/>
<toc-element id="multiplatform-mobile-upgrade-app.md" toc-title="4. Upgrade your app"/>
<toc-element id="multiplatform-mobile-wrap-up.md" toc-title="5. Wrap up your project"/>
<toc-element id="multiplatform-mobile-understand-project-structure.md" accepts-web-file-names="kmm-understand-project-structure.html"/>
<toc-element id="multiplatform-mobile-integrate-in-existing-app.md" accepts-web-file-names="kmm-integrate-in-existing-app.html"/>
<toc-element id="multiplatform-mobile-publish-apps.md" accepts-web-file-names="kmm-publish-apps.html"/>
<toc-element id="multiplatform-mobile-ktor-sqldelight.md"/>
</toc-element>
<toc-element toc-title="Kotlin Multiplatform for other platforms">
<toc-element id="multiplatform-get-started.md" accepts-web-file-names="building-mpp-with-gradle.html,intro-to-kotlin-mpp.html,mpp-intro.html,mpp-get-started.html,multiplatform-tutorials.html"/>
<toc-element id="multiplatform-discover-project.md" accepts-web-file-names="mpp-discover-project.html"/>
<toc-element id="multiplatform-set-up-targets.md" toc-title="Set up targets manually" accepts-web-file-names="mpp-set-up-targets.html"/>
<toc-element id="multiplatform-full-stack-app.md" hidden="true"/>
</toc-element>
<toc-element toc-title="Creating multiplatform libraries">
<toc-element id="multiplatform-library.md" accepts-web-file-names="working-with-klib.html,multiplatform-create-lib.html,mpp-create-lib.html"/>
<toc-element id="multiplatform-publish-lib.md" accepts-web-file-names="mpp-publish-lib.html"/>
</toc-element>
<toc-element toc-title="Sharing code principles">
<toc-element id="multiplatform-get-started.md" accepts-web-file-names="building-mpp-with-gradle.html,intro-to-kotlin-mpp.html,mpp-intro.html,mpp-get-started.html,multiplatform-tutorials.html"/>
<toc-element id="multiplatform-discover-project.md" accepts-web-file-names="mpp-discover-project.html"/>
<toc-element id="multiplatform-set-up-targets.md" toc-title="Set up targets" accepts-web-file-names="mpp-set-up-targets.html"/>
<toc-element toc-title="Share code">
<toc-element id="multiplatform-share-on-platforms.md" accepts-web-file-names="mpp-share-on-platforms.html"/>
<toc-element id="multiplatform-expect-actual.md"/>
<toc-element id="multiplatform-hierarchy.md" accepts-web-file-names="migrating-multiplatform-project-to-14.html"/>
<toc-element id="multiplatform-android-layout.md"/>
</toc-element>
<toc-element toc-title="Adding dependencies">
<toc-element toc-title="Add dependencies">
<toc-element id="multiplatform-add-dependencies.md" toc-title="On multiplatform libraries" accepts-web-file-names="mpp-add-dependencies.html"/>
<toc-element id="multiplatform-mobile-android-dependencies.md" accepts-web-file-names="kmm-add-dependencies.html,multiplatform-mobile-add-dependencies.html" toc-title="For Android target platforms"/>
<toc-element id="multiplatform-mobile-ios-dependencies.md" toc-title="For iOS target platforms"/>
</toc-element>
<toc-element id="multiplatform-run-tests.md" toc-title="Running tests" accepts-web-file-names="mpp-run-tests.html"/>
<toc-element toc-title="Artifact compilation">
<toc-element toc-title="Compile artifacts">
<toc-element id="multiplatform-configure-compilations.md" accepts-web-file-names="mpp-configure-compilations.html"/>
<toc-element toc-title="[Experimental DSL] Build final native binaries" id="multiplatform-native-artifacts.md" hidden="true"/>
<toc-element id="multiplatform-build-native-binaries.md" accepts-web-file-names="mpp-build-native-binaries.html"/>
</toc-element>
<toc-element id="multiplatform-dsl-reference.md" accepts-web-file-names="mpp-dsl-reference.html,mpp-supported-platforms.html,multiplatform-supported-platforms.html"/>
<toc-element id="multiplatform-mobile-samples.md" toc-title="Samples" accepts-web-file-names="kmm-samples.html"/>
<toc-element id="multiplatform-mobile-faq.md" accepts-web-file-names="kmm-faq.html" toc-title="FAQ"/>
<toc-element id="multiplatform-publish-lib.md" accepts-web-file-names="mpp-publish-lib.html" toc-title="Publish libraries"/>
<toc-element id="multiplatform-mobile-introduce-your-team.md" accepts-web-file-names="kmm-introduce-your-team.html"/>
<toc-element id="multiplatform-compatibility-guide.md" toc-title="Compatibility guide"/>
<toc-element id="multiplatform-mobile-plugin-releases.md" accepts-web-file-names="kmm-plugin-releases.html"/>
<toc-element toc-title="Reference">
<toc-element id="multiplatform-dsl-reference.md" accepts-web-file-names="mpp-dsl-reference.html,mpp-supported-platforms.html,multiplatform-supported-platforms.html"/>
<toc-element id="multiplatform-android-layout.md"/>
<toc-element id="multiplatform-compatibility-guide.md" toc-title="Compatibility guide"/>
<toc-element id="multiplatform-mobile-plugin-releases.md" accepts-web-file-names="kmm-plugin-releases.html"/>
</toc-element>
</toc-element>

<toc-element toc-title="Platforms">
Expand Down
2 changes: 1 addition & 1 deletion docs/topics/android-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ on [the Google website for Android developers](https://developer.android.com/kot
To start using Kotlin for:

* Android development, read [Google's documentation for developing Android apps with Kotlin](https://developer.android.com/kotlin/get-started).
* Developing cross-platform mobile applications, see [Get started with Kotlin Multiplatform for Android and iOS](multiplatform-mobile-getting-started.md).
* Developing cross-platform mobile applications, see [Get started with Kotlin Multiplatform for Android and iOS](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-getting-started.html).
2 changes: 1 addition & 1 deletion docs/topics/cross-platform-frameworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Kotlin Multiplatform Mobile is an SDK developed by JetBrains for creating Androi

Even though this cross-platform mobile development framework is the youngest on our list, it has a mature community. It's growing fast and is already making a distinct impression on today's market. Thanks to its regularly updated documentation and community support, you can always find answers to your questions. What's more, many [global companies and startups already use Kotlin Multiplatform Mobile](https://kotlinlang.org/lp/multiplatform/case-studies/) to develop multiplatform apps with a native-like user experience.

> Create your first cross-platform mobile app with [Kotlin Multiplatform Mobile](multiplatform-mobile-getting-started.md).
> Create your first cross-platform mobile app with [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-getting-started.html).
>
{type="note"}

Expand Down
2 changes: 1 addition & 1 deletion docs/topics/cross-platform-mobile-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ Kotlin Multiplatform Mobile is an SDK for cross-platform mobile development prov
* Full control over the UI, along with the ability to use the latest UI frameworks, such as SwiftUI and Jetpack Compose.
* Easy access to Android and iOS SDKs without any restrictions.

> Share the logic of your iOS and Android apps. Get started with [Kotlin Multiplatform Mobile](multiplatform-mobile-getting-started.md).
> Share the logic of your iOS and Android apps. Get started with [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-getting-started.html).
>
{type="note"}

Expand Down
32 changes: 16 additions & 16 deletions docs/topics/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,32 +75,32 @@ If you've encountered any difficulties or problems, report an issue to our [issu

Here you'll learn how to develop and improve your cross-platform mobile application using [Kotlin Multiplatform](https://kotlinlang.org/lp/multiplatform/).

1. **[Set up your environment for cross-platform mobile development](multiplatform-mobile-setup.md).**
1. **[Set up your environment for cross-platform development](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-setup.html).**

2. **Create your first application for iOS and Android:**

* To start from scratch, [create a basic cross-platform mobile application with the project wizard](multiplatform-mobile-create-first-app.md).
* If you have an existing Android application and want to make it cross-platform, complete the [Make your Android application work on iOS](multiplatform-mobile-integrate-in-existing-app.md) tutorial.
* If you prefer real-life examples, clone and play with an existing project, for example the networking and data storage project from the [Create a multiplatform app using Ktor and SQLdelight](multiplatform-mobile-ktor-sqldelight.md) tutorial or any [sample project](multiplatform-mobile-samples.md).
* To start from scratch, [create a basic cross-platform mobile application with the project wizard](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-create-first-app.html).
* If you have an existing Android application and want to make it cross-platform, complete the [Make your Android application work on iOS](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-integrate-in-existing-app.html) tutorial.
* If you prefer real-life examples, clone and play with an existing project, for example the networking and data storage project from the [Create a multiplatform app using Ktor and SQLdelight](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-ktor-sqldelight.html) tutorial or any [sample project](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-samples.html).

3. **Use a wide set of multiplatform libraries** to implement the required business logic only once in the shared module. Learn more about [adding dependencies](multiplatform-add-dependencies.md).

|Library|Details|
|-------|-------|
| Ktor | [Docs](https://ktor.io/docs/client.html)|
| Serialization | [Docs](serialization.md) and [sample](multiplatform-mobile-ktor-sqldelight.md#create-an-application-data-model)|
| Coroutines | [Docs](coroutines-guide.md) and [sample](coroutines-and-channels.md)|
| DateTime | [Docs](https://github.com/Kotlin/kotlinx-datetime#readme)|
| SQLDelight | Third-party library. [Docs](https://cashapp.github.io/sqldelight/)|
|Library| Details |
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Ktor | [Docs](https://ktor.io/docs/client.html) |
| Serialization | [Docs](serialization.md) and [sample](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-ktor-sqldelight.html#create-an-application-data-model) |
| Coroutines | [Docs](coroutines-guide.md) and [sample](coroutines-and-channels.md) |
| DateTime | [Docs](https://github.com/Kotlin/kotlinx-datetime#readme) |
| SQLDelight | Third-party library. [Docs](https://cashapp.github.io/sqldelight/) |

> You can also find a multiplatform library in the [community-driven list](https://libs.kmp.icerock.dev/).
>
{type="tip"}

4. **Learn more about Kotlin Multiplatform for mobile:**
4. **Learn more about Kotlin Multiplatform:**
* Learn more about [Kotlin Multiplatform](multiplatform-get-started.md).
* Look through [samples on GitHub](multiplatform-mobile-samples.md).
* [Create and publish a multiplatform library](multiplatform-library.md).
* Look through [samples projects](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-samples.html).
* [Publish a multiplatform library](multiplatform-publish-lib.md).
* Learn how Kotlin Multiplatform is used at [Netflix](https://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23), [VMware](https://kotlinlang.org/lp/multiplatform/case-studies/vmware/), [Yandex](https://kotlinlang.org/lp/multiplatform/case-studies/yandex/), and [many other companies](https://kotlinlang.org/lp/multiplatform/case-studies/).

5. **Join the Kotlin Multiplatform community:**
Expand Down Expand Up @@ -130,9 +130,9 @@ Support for multiplatform programming is one of Kotlin's key benefits. It reduce

Here you'll learn how to develop and publish a multiplatform library:

1. **Create a multiplatform library:**
1. **Publish a multiplatform library:**

* Complete the [Create and publish a multiplatform library](multiplatform-library.md) tutorial. It shows how to create a multiplatform library for JVM, JS, and Native platforms, test it and publish to a local Maven repository.
* See [Publish a multiplatform library](multiplatform-publish-lib.md) to learn more.

2. **Use libraries in your application:**

Expand Down
2 changes: 1 addition & 1 deletion docs/topics/gradle/gradle-configure-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ plugins {
</tabs>
Learn more about [Kotlin Multiplatform for different platforms](multiplatform-get-started.md) and
[Kotlin Multiplatform for iOS and Android](multiplatform-mobile-getting-started.md).
[Kotlin Multiplatform for iOS and Android](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-getting-started.html).
## Targeting Android
Expand Down
8 changes: 4 additions & 4 deletions docs/topics/home.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@
<a href="roadmap.md" description="Future plans on Kotlin development">Kotlin public roadmap</a>
</group>
<group type="cards">
<title>Kotlin Multiplatform for mobile</title>
<a href="multiplatform-mobile-getting-started.md" description="Useful links to help you start using the SDK">Get started</a>
<title>Kotlin Multiplatform</title>
<a href="multiplatform-get-started.md" description="Useful links to help you start using the SDK">Get started</a>
<a href="multiplatform-mobile-plugin-releases.md" description="Features of the Kotlin Multiplatform Mobile plugin">Plugin releases for Android Studio</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmy_oVc9YQzjasSNoAk4hk_C" description="Videos about Kotlin Multiplatform for mobile on our YouTube channel">Kotlin Multiplatform Multiverse</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmy_oVc9YQzjasSNoAk4hk_C" description="Videos about Kotlin Multiplatform on our YouTube channel">Kotlin Multiplatform Multiverse</a>
</group>
<group type="links" display="normal">
<link-collection>
Expand All @@ -61,7 +61,7 @@
<a href="https://www.youtube.com/channel/UCP7uiEZIqci43m22KDl0sNw" description="Official Kotlin YouTube channel">Kotlin YouTube channel</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmxOJL0GSSZ1Vot4KL2Vwe7x" description="Tutorials on using Kotlin with Spring">Kotlin in Spring Framework</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmx-dpq9nkdaVJX0GnrM1Mp1" description="Webinars on using Kotlin for server-side development">Webinars with experts</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmy_oVc9YQzjasSNoAk4hk_C" description="Tutorials on using Kotlin Multiplatform for mobile">Kotlin Multiplatform Multiverse</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmy_oVc9YQzjasSNoAk4hk_C" description="Tutorials on using Kotlin Multiplatform">Kotlin Multiplatform Multiverse</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmyQA0l15nAfE1-pnu6fSvvG" description="Kotlin for competitive programming">Competitive programming</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmy6Fz9aq-JMlzk34ce5hJrg" description="Tutorials on using the standard library">Kotlin standard library</a>
<a href="https://www.youtube.com/playlist?list=PLlFc5cFwUnmz1TwkP9SKCHU978dqLTANB" description="Talking Kotlin podcast">Talking Kotlin podcast</a>
Expand Down
10 changes: 2 additions & 8 deletions docs/topics/kotlin-hands-on.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,6 @@ Learn how to serve files, use templating engines such as Freemarker and the kotl

[**Start**](https://ktor.io/docs/creating-interactive-website.html)

## Building a full stack web app with Kotlin Multiplatform

Create an application with Kotlin/JVM and Kotlin/JS, and explore topics around code sharing, serialization, server- and client-side development.

[**Start**](multiplatform-full-stack-app.md)

## Introduction to Kotlin coroutines and channels

Learn about coroutines in Kotlin and how you can communicate between them using channels.
Expand All @@ -61,10 +55,10 @@ Create a simple HTTP client that can run natively on multiple platforms using Ko

Learn how to create a mobile application for Android and iOS using Kotlin Multiplatform with Ktor and SQLDelight.

[**Start**](multiplatform-mobile-ktor-sqldelight.md)
[**Start**](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-ktor-sqldelight.html)

## Targeting iOS and Android with Kotlin Multiplatform

Learn how to create a mobile application that can target both iOS and Android using Kotlin Multiplatform.

[**Start**](multiplatform-mobile-create-first-app.md)
[**Start**](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-create-first-app.html)
2 changes: 1 addition & 1 deletion docs/topics/kotlin-ide.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ Also, you could use package managers, such as [Homebrew](command-line.md#homebre
## What's next?

* [Start your first project using IntelliJ IDEA IDE](jvm-get-started.md)
* [Create your first cross-platform mobile app using Android Studio](multiplatform-mobile-create-first-app.md)
* [Create your first cross-platform mobile app using Android Studio](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-create-first-app.html)
* Learn how to [install EAP version of the Kotlin plugin](install-eap-plugin.md)
Loading

0 comments on commit b9b4701

Please sign in to comment.