|
1 | 1 | [//]: # (title: Stability of Kotlin components) |
2 | 2 |
|
3 | | -The Kotlin language and toolset are divided into many components such as the compilers for the JVM, JS and Native targets, the Standard Library, various accompanying tools and so on. |
4 | | -Many of these components were officially released as **Stable** which means that they are evolved in the backward-compatible way following the [principles](kotlin-evolution.md) of _Comfortable Updates_ and _Keeping the Language Modern_. |
5 | | -Among such stable components are, for example, the Kotlin compiler for the JVM, the Standard Library, and Coroutines. |
6 | | - |
7 | | -Following the _Feedback Loop_ principle we release many things early for the community to try out, so a number of components are not yet released as **Stable**. |
8 | | -Some of them are very early stage, some are more mature. We mark them as **Experimental**, **Alpha** or **Beta** depending on how quickly each component is evolving and how much risk the users are taking when adopting it. |
| 3 | +* 👀Kotlin language & toolset -- are divided into -- MANY components 👀 |
| 4 | + * == |
| 5 | + * compilers for the |
| 6 | + * JVM, |
| 7 | + * JS |
| 8 | + * Native targets, |
| 9 | + * Standard Library, |
| 10 | + * accompanying tools |
| 11 | + * SOME components |
| 12 | + * 💡-- were officially released as -- Stable 💡 |
| 13 | + * == backward-compatible / -- follow -- [Kotlin evolution principles](kotlin-evolution.md) |
| 14 | + * _Examples:_ |
| 15 | + * Kotlin compiler for the JVM, |
| 16 | + * Standard Library, |
| 17 | + * Coroutines |
| 18 | + * ⚠️-- are NOT YET -- Stable ⚠️ |
| 19 | + * / -- follow the -- [Feedback Loop principle](kotlin-evolution.md) |
| 20 | + * Reason: 🧠 release earlier -- for the -- community 🧠 |
| 21 | + * evolution stages NOT stable |
| 22 | + * Experimental |
| 23 | + * Alpha |
| 24 | + * Beta |
9 | 25 |
|
10 | 26 | ## Stability levels explained |
11 | 27 |
|
12 | | -Here's a quick guide to these stability levels and their meaning: |
13 | | - |
14 | | -**Experimental** means "try it only in toy projects": |
15 | | - * We are just trying out an idea and want some users to play with it and give feedback. If it doesn't work out, we may drop it any minute. |
| 28 | +* **Experimental** |
| 29 | + * == "try it ONLY | toy projects" |
| 30 | + * Reason: 🧠if it doesn't work out -> we MAY drop it any minute 🧠 |
16 | 31 |
|
17 | | -**Alpha** means "use at your own risk, expect migration issues": |
18 | | - * We intend to productize this idea, but it hasn't reached its final shape yet. |
| 32 | +* **Alpha** |
| 33 | + * TODO: means "use at your own risk, expect migration issues": |
| 34 | + * We intend to productize this idea, but it hasn't reached its final shape yet. |
19 | 35 |
|
20 | 36 | **Beta** means "you can use it, we'll do our best to minimize migration issues for you": |
21 | 37 | * It's almost done, user feedback is especially important now. |
|
0 commit comments