90 votes

Peut-on utiliser des coroutines Kotlin "expérimentales" dans la production?

Les coroutines Kotlin peuvent-elles être utilisées en production et que signifie leur statut expérimental?

116voto

Roman Elizarov Points 8871

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X