¿Se pueden usar corotines Kotlin "experimentales" en la producción?

¿Pueden usarse las corotinas de Kotlin en producción, y qué significa su estado experimental?

Las corotinas de Kotlin pueden y deben usarse en producción. Esa fue la principal razón para lanzarlos oficialmente en Kotlin 1.1. Tras lanzarlos, el equipo de JetBrains se había comprometido a mantener la compatibilidad con versiones anteriores con respecto a los cambios que se les presentan en las versiones menores a medida que evolucionan, al time que permite a las personas probarlas de forma segura en aplicaciones de producción complejas.

En resumen, la diferencia entre las características "experimentales" y "normales" es que para las características normales de Kotlin no se pueden agregar cosas nuevas en actualizaciones menores, porque hay una garantía de "compatibilidad total", mientras que para las características experimentales se pueden agregar cosas nuevas, pero no se puede eliminar nada (debido a la garantía de compatibilidad con versiones anteriores).

Las corutinas experimentales usan un nombre de package de kotlin.coroutines.experimental separado, de modo que cuando se finaliza el layout de coroutines y se mueven al package kotlin.coroutines , el código comstackdo anterior no se romperá, pero continuará funcionando a través de una biblioteca de soporte separada.

Puede encontrar más información (lectura a largo ploop) sobre por qué son "experimentales" y qué significa esto en esta publicación del foro de Andrey Breslav.

La misma pregunta se aplica a las bibliotecas de soporte coroutines.

La versión actual de kotlinx.coroutines está diseñada para uso de producción. Está bastante bien cubierto con testings, muchas cosas ya están optimizadas, todos los cambios se hacen teniendo en count los problemas de compatibilidad con el código previamente comstackdo. Sin duda, sirve como banco de testings para varias cosas basadas en coroutine, por lo que hay algunas partes que están claramente marcadas como "trabajo en progreso" o "inestable" en la documentation de las funciones y classs correspondientes. Sin embargo, de forma pnetworkingeterminada, todas las API públicas en kotlinx.coroutines se consideran estables y se están desarrollando, si es necesario, con ayudas de migration adecuadas.

  • Unidad probando una corotina de Kotlin con retraso
  • ¿Hay alguna forma de reutilizar una instancia de Job?
  • Corutinas paralelas de Kotlin
  • ¿Por qué hay una diferencia entre los constructores de coroutine para CompletableFuture y ListenableFuture?
  • ¿Cuál es la mejor manera de esperar hasta que el actor se detenga en kotlinx.coroutines 0.20?
  • ¿Cuál es la diferencia entre CoroutineContext y Job en kotlinx.coroutines?
  • ¿Pueden `SendChannel.offer`,` CompletableDefernetworking.complete` y similares llamarse corutinas externas?
  • ¿Cómo se ejecuta el método de suspensión a través de la reflexión?
  • ¿Cuál de las corutinas (goroutines y corotines de kotlin) son más rápidas?
  • Qué significa cerrar un canal de kotlinx.coroutines
  • cómo implementar una llamada limitada con retrofit que bloquea el cliente y corutinas