Nuevo Kotlin User Group en Valencia y event "Estado de Machine Learning en Kotlin"
¡Se acaba de inaugurar el nuevo Kotlin Valencia User Group! Inicialmente organizado por Carlos Cáceres
Nos complace anunciar el tercer hito del próximo Kotlin 1.1. Esta versión incluye nuevas características en el lenguaje así como mejoras y correcciones en el backend de JavaScript, el compilador y el plugin de IDEA. La nueva versión también incluye todas las mejoras en las herramientas introducidas en Kotlin 1.0.5, y es compatible con intelliJ IDEA 2016.3 EAP y Android Studio 2.2 y 2.3.
Como otra versión de hito, no damos **ningún tipo de garantía de retrocompatibilidad **para las nuevas características del lenguaje ni características en las librerías. Cualquier cosa introducida en las versiones hito de la 1.1 está sujeta a cambios antes de la liberación de la 1.1.
Por favor, compartid cualquier cosa en relación a las nuevas características o a cualquier problema que tengáis con esta versión, via YouTrack, foros y Slack.
El changelog completo de la 1.1-M03 se encuentra aquí.
Ahora podéis usar una barra baja en vez de un nombre para un parámetro sin usar en las lambdas:
foo { _, x -> ... }
Y ahora también se puede usar la bara baja como nombre sin usar en las declaraciones de destructuración.
val (x, _, z) = expr
Ambos casos están descritos en detalle en el KEEP correspondiente.
Siguiendo la especificación de Java 8, Kotlin soporta ahora
literales numéricos con una única barra baja entre dígitos. Por ejemplo:
val UN_MILLÓN = 1_000_000
Echad un ojo al KEEP para más detalles y ejemplos.
La propuesta ha aterrizado en la librería estándar en forma de dos
funciones intrínsecas:
inline fun <reified T : Enum
Permiten enumerar los valores de un tipo enumerado genérico. Ejemplo:
enum class RGB { RED, GREEN, BLUE } print(enumValues
Como está descrito en detalle en el KEEP,
los autores de DSL tenían problemas expresando restricciones
ede ámbito para construcciones de construcción. Ejemplo, algunos DSL
para construir HTML:
table { tr { tr {} // PROBLEMA: Aquí Table.tr() es válido } }
Para paliar este problema hemos añadido la anotación <code class="highlighter-rouge">@DslMarker
que permite controlar el ámbito de visibilidad en estos casos de forma más precisa. Para ejemplos de uso, echad un ojo a la versión preeliminar de la librería kotlinx.html que usa esta característica (mirad las implementaciones de HtmlTagMarker y HTMLTag y DSL-markers.md para información de uso preeliminar).
Estamos avanzando en el proceso de unificación para diferentes plataformas. Hemos empezado a unificar los tipos de excepción en la 1.1-M2 y ahora hemos hecho lo mismo con algunos tipos comunes que soportamos en todas las plataformas, disponibles en el paquete <code class="highlighter-rouge">kotlin.*
y que se incluyen por defecto. Esos incluyen:
<code class="highlighter-rouge">ArrayList
, <code class="highlighter-rouge">HashSet
, <code class="highlighter-rouge">LinkedHashSet
, <code class="highlighter-rouge">HashMap
, <code class="highlighter-rouge">LinkedHashMap
en <code class="highlighter-rouge">kotlin.collections
<code class="highlighter-rouge">Appendable
y <code class="highlighter-rouge">StringBuilder
en <code class="highlighter-rouge">kotlin.text
<code class="highlighter-rouge">Comparator
en <code class="highlighter-rouge">kotlin.comparisons
En la JVM estos son únicamente tipos alias de los tipos de toda la vida de <code class="highlighter-rouge">java.util
y <code class="highlighter-rouge">java.lang
El backend de JavaScript ahora soporta las siguientes características del lenguaje de Kotlin a la par con el backend de la JVM:
El backend de JavaScript ahora genera código que es más fácil de comprobar estáticamente, que es más amigable con las herramientas de procesado de JS, como minificadores, optimizadores, linters, entre otros.
En Maven/Gradle: Añadid http://dl.bintray.com/kotlin/kotlin-eap-1.1 como vuestro repositorio en vuestro archivo de construcción; y usad <code class="highlighter-rouge">1.1-M03
como versión del compilador y de la librería estándar.
En IntelliJ IDEA: Id a Tools -> Kotlin -> <code class="highlighter-rouge">Configure Kotlin Plugin Updates
, y seleccionad “Early Access Preview 1.1” en el desplegable Update channel, y pulsad Check for updates.
¡A Kotlin!