Este artículo es una traducción del original: https://blog.jetbrains.com/kotlin/2018/10/kotlin-1-3/

¡Hoy liberamos Kotlin 1.3, junto a un conjunto de librerías, herramientas y materiales de aprendizaje!

Hemos desarrollado Kotlin de forma que fuese una excelente herramienta para todos los desarrolladores de aplicaciones, a cualquier escala y sobre todas las plataformas. En Kotlin 1.3 las corrutinas ya son estables, haciendo que el código no bloqueante sea fácil de leer y de escribir. ¡Escribir código escalable nunca ha sido tan accesible!

Esta versión también incluye Kotlin/Native Beta, que compila código Kotlin directamente a binarios nativos.

Las capacidades multiplataforma de Kotlin ya cubren todas las plataformas soportadas, de forma que, por ejemplo, se puede compartir lógica de negocio entre aplicaciones de Android e iOS. También los servidores pueden compartir lógica con todos los clientes, y las librerías multiplataforma hace que las tareas del día a día se puedan hacer fácilmente portables.

Vamos a organizar una serie de webinarios cubriendo las características más importantes de la 1.3. Os podéis suscribir a los webinarios aquí:

https://info.jetbrains.com/kotlin-webinars-general-subscription.html

La comunidad y el ecosistema

Kotlin ha tenido un crecimiento de adopción sin precedentes este año. Desde enero de 2018, cerca de un millón y medio de usuarios escribió código Kotlin, y ese número se ha duplicado en comparación con el año anterior. Las tendencias de StackOverflow y nuestro Slack público también son muy prometedoras. ¡Estamos muy agradecidos con la comunidad de Kotlin por ser tan dedicada y acoger tan bien a los recién llegados!

Nos alegra ver como el ecosistema alrededor de Kotlin crece y madura.
Kotlin es amigo de Google Cloud Platform, el framework Spring y Gradle y eso sin mecionar el soporte de primera categoría para Android. La comunidad open source está creando librerías excelentes como RxKotlin, mockito-kotlin, TornadoFX, Kodein y ΛRROW. Y proyectos como Square’s Okio y LibreOffice están migrando a Kotlin o planean hacerlo. ¡Todo el mundo es bienvenido a unirse al ecosistema de Kotlin con sus grandes ideas y proyectos!

Mucha gente fuera de JetBrains ha contribuido a Kotlin 1.3, con pull requests, reportes de bugs y todo tipo de retroalimentación. Apreciamos mucho vuestra ayuda y estamos muy contentos de poder avanzar Kotlin junto a vosotros.

Las corrutinas ya son estables

Las corrutinas son una forma moderna de escribir código asíncrono no bloqueante que es fácil de entender y evolucionar. Es una heramienta potente para cualquier cosa desde descargar trabajo en otros hilos, hasta implementar complicados protocolos de red. La librería kotlinx.coroutines llega a la 1.0 y proporciona un fundamento sólido para manejar trabajos asíncronos en cualquier escala incluyendo composición, cancelación, gestión de excepciones y casos de uso específicos para interfaces gráficas.

¡Empieza hoy con ellas en kotl.in/coroutines!

Suscríbete al Webinario de corrutinas aquí

Kotlin/Native Beta

Kotlin/Native usa LLVM para compilar código Kotlin a binarios independientes (sin necesidad de una máquina virtual) para varios sistemas operativos y arquitecturas incluyendo iOS, Linux, Windows, Mac e incluso WebAssembly y sistemas embebidos como STM32.
Incluye un sistema completamente automático de gestión de memoria, puede interoperar con C, Objetive-C (y Swift), y expone APIs de plataforma como Core Foundation, POSIX ¡y cualquier librería nativa que podáis necesitar!

El runtime de Kotlin/Native promueve los datos inmutables y prohibe cualquier intento de compartir estado inmutable sin proteger entre hilos. De hecho, los hilos no existen en Kotlin/Native, están abstraidos como una implementación de bajo nivel y reemplazada por workers – Una forma segura, manejable y moderna de hacer concurrencia.

Descubre Kotlin/Native en kotl.in/native.

Suscríbete al Webinario aquí.

Proyectos multiplataforma y herramientas

Funcionar en todas las plataformas es un objetivo declarado de Kotlin, pero lo nosotros vemos como una premisa para un objetivo aún más importante: compartir código entre plataformas. Con soporte para la JVM, Android, JavaScript y Nativo, Kotlin puede gestionar cualquier componente de una aplicación moderna. Y eso trae un beneficio incalculable para poder reutilizar código y experiencia, pudiendo usar esos recursos en tareas más importantes y complicadas que implementarlo todo dos o más veces. Mientras que las capacidades multiplataforma de Kotlin siguen siendo experimentales, la 1.3 hace un gran paso hacia adelante.

Kotlin 1.3 sale con un conjunto de librerías multiplataforma que cubren tareas del día a día como HTTP, serialización o gestión de corrutinas. La forma más fácil de escribir código multiplataforma es utilizando dichas librerías. Por supuesto también podéis crear vuestras propias librerías multiplataforma envoliendo dependencias específicas de plataforma en un API común.

Para empezar compartiendo código entre plataformas desde ya: kotl.in/multiplatform

Suscríbete al Webinario aquí.

Herramientas para Kotlin/Native y Multiplataforma

Kotlin 1.3 incluye soporte de herramientas para proyectos de Kotlin/Native y Multiplataforma disponible en IntelliJ IDEA Communify Edition, IntelliJ IDEA Ultimate y Android Studio. Todas las características de edición de código como resaltado de errores, completado de código, navegación o refactorización están disponibles en los tres IDEs. Próximamente sacaremos características más avanzadas e integraciones con las herramientas comerciales.

Ktor 1.0 Beta

Ktor, nuestro framework de aplicaciones conectadas que implementa el stack completo de HTTP de forma totalmente asíncrona usando corrutinas, ha llegado a la Beta y está disponible en ktor.io.

Otras mejoras

Además de todo lo que ya hemos cubierto, esta versión viene con otras muchas características y mejoras, incluyendo:

Ver la descripción completa en la página What's New. La lista completa de cambios se encuentra aquí. Y la guía de compatibilidad aquí.

KotlinConf

Acabamos de publicar todos los vídeos de la KotlinConf 2018 cubriendo los temas más fuertes de la 1.3. Echad un vistazo a la keynote y las grabaciones de las sesiones para ver qué hay de nuevo y qué es lo más notable:

Mira más vídeos de la KotlinConf 2018 en la JetBrains TV

Aprendiendo Kotlin

Hacemos todo lo posible para hacer que aprender Kotlin sea fácil y divertido. De un montón de recursos disponibles, nos gustaría destacar los siguientes:

  • Un nuevo curso de Svetlana Isakova y Andrey Breslav empezado en Coursera
  • Atomic Kotlin, un libro para principiantes por Bruce Eckel y Svetlana Isakova que está disponible en acceso anticipado.
  • El nuevo play.kot.in un mini-IDE web con Koans, ejemplos y fragmentos de código embebibles
  • El plugin de EduTools que ayuda a aprender Kotlin directamente desde el IDE
  • Aprendizaje de Kotlin Certificado disponible en multiples proveedores en todo el mundo

Los webinarios de Kotlin 1.3 serán un gran comienzo para todo el mundo.

Cómo actualizar

Como siempre, podéis probar Kotlin online en play.kotl.in.

  • En Maven, Gradle y npm: Usad 1.3.0 como número de versión para el compilador y la librería estándar. Ver la documentación aquí.
  • En IntelliJ IDEA: 2018.3 tiene Kotlin 1.3 integrado, para versiones anteriores Instalar o actualizar el plugin de Kotlin a la versión 1.3.
  • En Android Studio: Instalar o actualizar el plugin a través del gestor de plugins.
  • En Eclipse: instalar el plugin en el using Marketplace.
  • El compilador de la línea de comandos se puede descargar de la página de versiones de Github.

¡A Kotlinear!

P.D.: Podéis discutir este post en Reddit y Hacker News o dejar un comentario debajo o en el artículo original.