44. Click to insert text
Gradle
● Build.gradle
○ Kotlin Compiler
■ compileKotlin2Js.kotlinOptions.moduleKind = { “plain”|”amd”|”commonjs”|”udm” }
45. Click to insert text
Módulos JS
● Plain
● AMD (Asynchronous Module Definition)
○ require.js
● CommonJS
○ node.js/npm
■ require function
■ module.export object
● UMD (Unified Module Definitions)
○ Compatible con AMD & CommonJS
○ Modo Plain en caso de que no se use AMD & CommonJS en runtime
46. Click to insert text
Librerías
● kotlin.js
○ Single File
○ Compilada como un módulo UMD
○ NPM distribución
■ npm i kotlin
○ kotlin.browser
■ document
■ window
■ localStorage
■ sessionStorage
● kotlinx.html
○ Builder DSL
48. Click to insert text
Ejemplos
• Repositorio global - GitHub
• Hello World - Console
• Manipulando el DOM *
• Manipulando el window
• Formulario con Builder Html (DSL) *
• Formulario + BootStrap + Popper (DSL) *
67. Click to insert text
Conclusiones
• Interoperable con Java (100%)
• Reducción del Boilerplate code
• Permite añadir extensiones de código
• Orientado a objetos y procedimientos
• Sin punto y coma final en cada línea
• Posibilidad de boxing code
• Ayuda a expandir nuestras habilidades
• Soporte perfecto - JetBrains
• Fácil manejo para empezar - Android Develop | Intellij Idea
• Compatibilidad con todas las plataformas
68. Click to insert text
Conclusiones
Aumenta la semántica de tu código con
menos sintaxis
69. Click to insert text
Conclusiones
Unifica tu stack tecnológico