Les coroutines Kotlin peuvent-elles être utilisées en production et que signifie leur statut expérimental?
Réponse
Trop de publicités?Mise à JOUR: Kotlin coroutines sont plus expérimentales comme de Kotlin 1.3.
Kotlin coroutines peuvent et doivent être utilisés dans la production. C'était la principale raison de publication officielle dans Kotlin 1.1. Après avoir publié, le JetBrains équipe s'était engagée à maintenir la compatibilité avec le respect de toutes les modifications qui sont introduites dans les versions mineures à mesure qu'ils évoluent, tout en permettant à des personnes en toute sécurité les essayer dans un complexe de production d'applications.
En bref, la différence entre "expérimental" et "normal", est celle de la Kotlin fonctionnalités de nouvelles choses ne peuvent pas être ajoutés dans les mises à jour mineures, car il y a une "compatibilité" de garantie, tandis que pour les fonctionnalités expérimentales de nouvelles choses peuvent être ajoutés, mais rien ne peut être enlevé (à cause de la rétro-compatibilité garantie).
Expérimentale coroutines séparer kotlin.coroutines.experimental
nom de paquet, de sorte que lorsque les coroutines conception est terminée et ils se déplacent en kotlin.coroutines
paquet, ancien code compilé ne se cassera pas, mais continuera à travailler par le biais d'une bibliothèque de prise en charge.
La poursuite de la discussion (long-lire) sur pourquoi ils sont "expérimental" et qu'est-ce que cela signifie peut être trouvé dans ce post sur le forum par Andrey Breslav.
La même question s'applique à coroutines bibliothèques de prise en charge.
La version actuelle de l' kotlinx.coroutines
est conçu pour une utilisation en production. Il est assez bien couvert avec des tests, beaucoup de choses sont déjà optimisés, toutes les modifications sont faites en considérant les questions de la compatibilité avec le code compilé. Il n'est certainement servir de banc d'essai pour les différents coroutine à base de choses, donc il y a certaines parties qui sont clairement identifiés comme des "travaux en cours" ou "instable" dans la documentation correspondante de fonctions et de classes. Toutefois, par défaut, toutes les Api publiques en kotlinx.coroutines
sont considérés comme stables et sont mises en place, si nécessaire, avec la migration du sida.