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 la versión 1.1.4 de Kotlin, una actualización
con correcciones y mejoras en las herramientas para la 1.1.
Esta actualización incluye:
<code class="highlighter-rouge">@Parcelize
La actualización es compatible con todas las versiones de intelliJ desde la 2016.2 hasta la 2017.2, así como Android Studio 2.3 y 3.0 Beta.
La lista completa de cambios se puede encontrar aquí.
Nos gustaría agradecer a todos los contribuyentes externos cuyas PR se han incluído en esta versión:
Andrius Semionovas,
Bill Collins,
Derek Alexander,
Dimach,
Ilya Zorin,
Kirill Rakhman,
Stuart Kent,
takahirom,
Toshiaki Kameyama,
Vasily Kirichenko,
Vitaly Khudobakhshov,
Vladimir Koshelev,
Yoshinori Isogai,
Yuli Fiterman,
y Zoltan Polgar.
A partir de esta versión, Kotlin soporta las anotaciones de nulabilidad
por defecto de paquete, como la <code class="highlighter-rouge">@ParametersAreNonnullByDefault
de la JSR-305) y la anotación <code class="highlighter-rouge">@NonNullApi
de Spring Framework 5.0. Para facilitar la migración y evitar errores de compilación por tener más información de nulabilidad en las APIs de Java, el soporte para estas anotaciones está deshabilitado por defecto, y requiere habilitarse usando la opción de línea de comandos <code class="highlighter-rouge">-Xjsr305-annotations=enable
al compilador.
Para habilitar esto en las builds de Gradle, usad la opción freeCompilerArgs; y en Maven, usad . Para más información, ved la especificación propuesta.
Avanzamos con el soporte de Java 9. A partir de esta versión, Kotlin hace comprobaciones de visibilidad basándose en la información del <code class="highlighter-rouge">module-info.java
. También se soporta ejecutar el compilador bajo el JDK 9.
El plugin de extensiones de Android, ahora soporta no solo Actividades y Fragmentos, pero también vistas personalizadas e incluso contenedores personalizados de layout como un <code class="highlighter-rouge">ViewHolder
. También, se soporta completamente los <code class="highlighter-rouge">variants
.
Podéis leer más sobre las nuevas características en la propuesta de KEEP. Todas ellas se consideran experimentales, así que tenéis que habilitar un flag experimental en vuestro archivo <code class="highlighter-rouge">build.gradle
:
androidExtensions{
experimental=true
}`
El plugi nde extensiones de android ahora incluye un generador automático de implementación de <code class="highlighter-rouge">Parcelable
. Declara las propiedades como serializables en el constructor primario y añade una anotación <code class="highlighter-rouge">@Parcelize
, y crea automáticamente métodos <code class="highlighter-rouge">writeToParcel()
/<code class="highlighter-rouge">createFromParcel()
.
@Parcelize
classUser(valfirstName:String,vallastName:String):Parcelable`
Kotlin 1.1.4 añade una nueva herramienta para eliminar código muerto de los archivos .js producidos por el compilador de Kotlin/JS. La herramienta funciona únicamente en las builds de Gradle de momento; para habilitarla añadid <code class="highlighter-rouge">apply plugin: 'kotlin-dce-js'
a vuestro build.gradle. Más información en la documentación.
Esta actualización mejora el soporte para la generación de sourcemaps de JavaScript, haciendo más fácil depurar el JavaScript en los depuradores de los navegadores como Chrome DevTools. Echad un ojo al tutorial para más información.
Esta actualización extiende el soporte de unit testing en JavaScript para funcionar con una variedad más amplia de librerías. Ojead esta entrada del foro para más información y para enlaces a proyectos de ejemplo.
En esta actualización, hemos implementado bastantes mejoras en relación al bytecode generado. Y las excepciones de las funciones suspendibles con nombre ahora se originan desde la propia función, lo que hace que su stack-trace sea más fácil de leer, y el código generado es más rápido en muchos casos.
Esta nueva versión trae un montón de mejoras al plugin de intelliJ IDEA:
<code class="highlighter-rouge">Copy Class
<code class="highlighter-rouge">Inline
ahora funciona en propiedades con accessorsSoporte para [análisis de flujo de datos](https://www.jetbrains.com/help/idea/analyzing-data-flow.html) (`Analyze` | `Analyze Data Flow from/to Here`) |
<code class="highlighter-rouge">Configure Kotlin in project
funciona ahora al usar Gradle Kotlin DSLPara actualizar el plugin, usad `Tools` | `Kotlin` | `Configure Kotlin Plugin Updates` y pulsad sobre el botón ` |
¡A Kotlinear!