En el post de hoy conocemos todos los detalles sobre Klotin, el lenguaje de código abierto desarrollado por JetBrains que facilita la programación productiva.
Introducción a Klotin
Kotlin (Lenguaje de programación de tipos estáticos para JVM, Android y el navegador) es un proyecto de código abierto con licencia Apache 2. El código fuente, herramientas, documentación y hasta este el sitio web de este son mantenidos en GitHub. Es desarrollado principalmente por JetBrains en sus oficinas de San Petersburgo (Rusia). El nombre proviene de la isla de Kotlin, situada cerca de San Petersburgo. Además de que la mayoría del equipo trabaja en JetBrains, han contado con cerca de cien colaboradores externos en el proyecto Kotlin, y siempre están en busca de más colaboradores.
Actualmente tienen 87,109 commits, 24,486 releases, 4,162 Branches, 720 contributors (https://github.com/JetBrains/kotlin).
Kotlin fue nombrado lenguaje del mes por la revista Dr. Dobb’ Journal en su edición de enero de 2012. Aunque no tiene una sintaxis compatible con Java, Kotlin está diseñado para interoperar con código Java y es dependiente del código Java de su biblioteca de clases, tal como pueda ser el entorno de colecciones de Java (Java collections framework).
Si se desea contribuir al código, vaya a GitHub y después de esto, puede empezar a elegir algunas tareas pendientes del sistema de seguimiento de incidencias a la vez que también necesitan mucha más documentación. Además, si se realiza o ha realizado presentaciones sobre Kotlin, ellos lo publicaran en su lista. Finalmente, Kotlin es un nuevo lenguaje, pero hay grandes expectativas y necesitan que las personas que creen en él lo den a conocer.
¿Qué es Klotin y por qué usarlo?
Kotlin es un lenguaje de programación moderno, pero ya maduro destinado a hacer más felices a los desarrolladores. Es conciso, seguro, interoperable con Java y otros lenguajes, y proporciona muchas formas de reutilizar código entre múltiples plataformas para una programación productiva. Desarrollado por JetBrains y colaboradores de código abierto.
Además, es fácil de aprender, por lo que puede crear aplicaciones potentes de inmediato. Por otro lado, Kotlin es compatible con el ecosistema Java por lo tanto se puede utilizar los marcos y bibliotecas de la JVM favoritos.
Y cuenta con un gran apoyo y muchos colaboradores en su comunidad global de rápido crecimiento siendo muy estos muy amigables y serviciales.
Conciso
Con Kotlin nos ahorramos un montón de código innecesario, es decir, código que no aporta valor. Lo que hace que el código sea más fácil de leer ya que está diseñado para emplear pocas líneas de código y muy claras, lo que se ve es lo que se hace.
Seguro
Uno de los mejores beneficios que se promocionó para Kotlin fue sin duda el null safety. Ya que es seguro frente a NullPointerException y otros errores como casteo, etc. Ya que es sabido que las aplicaciones se cierran por completo cuando sucede una excepción de referencia nula. Y bueno, no es que Kotlin los evite al 100%, al igual que Java dependerá mucho del programador. Pero sí es verdad que el lenguaje está creado para ayudarte a prevenirlos. Tal es el caso de que no puedes inicializar una variable como nula por lo menos no directamente, por ejemplo:
var a: String = «abc» // la variable a solo admite Strings,
Si se desea que una variable sea nula, se necesita especificar que esa variable sea anulable.
var b: String? = «abc» // la variable b permite 2 tipos de valores, nulos y Strings
Expresivo
Nos da la capacidad de expresar soluciones a problemas complejos de forma elegante, simple y concisa, el cual incrementa la productividad de un programador y mejorar la calidad del código, haciéndolo más comprensible, fácil de mantener y con menos defectos. Utilizando por ejemplo paradigmas basados en programación declarativa (como la programación funcional).
Interoperable
Utilice cualquier marco o biblioteca JVM existente, y se puede llamar al código de Kotlin desde Java sin problemas. Ya que está diseñado para interoperar con Java, es decir, podemos tener una aplicación con código Kotlin y otro modulo con código Java, y ambos se pueden comunicar sin problemas, simplemente habría que superar el escalón que existe entre el desarrollo en Java y el desarrollo en Kotlin, como por ejemplo los Null Pointer, que si están permitidos en Java. De hecho, normalmente las aplicaciones que se están comenzando a migrar a Kotlin se van migrando módulo a módulo, no se empieza un proyecto en Kotlin desde cero.
Multiplataforma
El soporte para la programación multiplataforma es uno de los beneficios clave de Kotlin. Reduce el tiempo dedicado a escribir y mantener el mismo código para diferentes plataformas al tiempo que conserva la flexibilidad y los beneficios de la programación nativa.
En kotlin existe un mecanismo a través del cual puedes tener código Kotlin común, que no depende de ninguna plataforma, y que invoca código específico para cada plataforma escrito también en Kotlin. Aunque actualmente los proyectos multiplataforma aun no estan en su versión estable lo que significa que se use bajo su propio riesgo, ya que se puede esperar problemas de migración.
Descripción general de Klotin
Klotin para el lado del servidor
Kotlin es ideal para desarrollar aplicaciones del lado del servidor. Le permite escribir código conciso y expresivo mientras mantiene la compatibilidad total con las pilas de tecnología basadas en Java existentes, todo con una curva de aprendizaje fluida:
Expresividad: las características innovadoras del lenguaje de Kotlin, ayudan a crear abstracciones potentes y fáciles de usar.
Escalabilidad: el soporte de Kotlin para corrutinas ayuda a construir aplicaciones del lado del servidor que escalan a cantidades masivas de clientes con requisitos de hardware modestos.
Interoperabilidad: Kotlin es totalmente compatible con todos los marcos basados en Java, por lo que puede usar su pila de tecnología familiar mientras disfruta de los beneficios de un lenguaje más moderno.
Migración: Kotlin admite la migración gradual de grandes bases de código de Java a Kotlin. Puede comenzar a escribir código nuevo en Kotlin mientras mantiene las partes más antiguas de su sistema en Java.
Herramientas: además de la excelente compatibilidad con IDE en general, Kotlin ofrece herramientas específicas para marcos (por ejemplo, para Spring) en el complemento para IntelliJ IDEA Ultimate.
Curva de aprendizaje: para un desarrollador de Java, comenzar con Kotlin es muy fácil. El convertidor automatizado de Java a Kotlin incluido en el complemento Kotlin ayuda con los primeros pasos. Kotlin Koans puede guiarlo a través de las características clave del idioma con una serie de ejercicios interactivos.
Klotin para Android
El desarrollo móvil de Android ha sido Kotlin-first desde Google I/O (es una conferencia anual para desarrolladores que organiza Google) en 2019. Con Kotlin para el desarrollo de Android, puede beneficiarse de:
Menos código combinado con mayor legibilidad. Dedique menos tiempo a escribir su código y a trabajar para comprender el código de los demás.
Lenguaje y entorno maduros. Desde su creación en 2011, Kotlin se ha desarrollado continuamente, no solo como un lenguaje sino como un ecosistema completo con herramientas robustas. Ahora está perfectamente integrado en Android Studio y muchas empresas lo utilizan activamente para desarrollar aplicaciones de Android.
Soporte de Kotlin en Android Jetpack y otras bibliotecas. Las extensiones KTX agregan características del lenguaje Kotlin, como corrutinas, funciones de extensión, lambdas y parámetros con nombre, a las bibliotecas de Android existentes.Interoperabilidad con Java. Puede utilizar Kotlin junto con el lenguaje de programación Java en sus aplicaciones sin necesidad de migrar todo su código a Kotlin.
Soporte para desarrollo multiplataforma. Puede usar Kotlin para desarrollar no solo Android sino también iOS, backend y aplicaciones web. Disfrute de los beneficios de compartir el código común entre las plataformas.
Código seguro. Menos código y mejor legibilidad conducen a menos errores. El compilador de Kotlin detecta estos errores restantes, lo que hace que el código sea seguro.
Fácil aprendizaje. Kotlin es muy fácil de aprender, especialmente para los desarrolladores de Java.
Gran comunidad. Kotlin tiene un gran apoyo y muchas contribuciones de la comunidad, que está creciendo en todo el mundo. Según Google, más del 60% de las 1000 aplicaciones principales en Play Store usan Kotlin.
Klotin para la ciencia de datos
Desde la creación de canalizaciones de datos hasta la producción de modelos de aprendizaje automático, Kotlin puede ser una excelente opción para trabajar con datos:
Kotlin es conciso, legible y fácil de aprender.
Static typing (esto significa que una variable solo se puede asignar a objetos de un tipo fijo) y la null safety (gestiona los nulos de forma segura, de modo que puedes garantizar que tu código no va a producir NullPointerException) ayudan a crear un código confiable y mantenible que es fácil de solucionar.
Al ser un lenguaje JVM, Kotlin le brinda un gran rendimiento y la capacidad de aprovechar todo un ecosistema de bibliotecas Java probadas y verdaderas.
Los cuadernos como Jupyter Notebook y Apache Zeppelin proporcionan herramientas convenientes para la visualización de datos y la investigación exploratoria. Kotlin se integra con estas herramientas para ayudarlo a explorar datos, compartir sus hallazgos con colegas o desarrollar sus habilidades de ciencia de datos y aprendizaje automático.
Klotin nativo
Kotlin/Native es una tecnología para compilar código Kotlin en binarios nativos que pueden ejecutarse sin una máquina virtual. Kotlin / Native incluye un backend basado en LLVM para el compilador de Kotlin y una implementación nativa de la biblioteca estándar de Kotlin.
Kotlin/Native está diseñado principalmente para permitir la compilación para plataformas en las que las máquinas virtuales no son deseables o posibles, como dispositivos integrados o iOS. Es ideal para situaciones en las que un desarrollador necesita producir un programa autónomo que no requiere un tiempo de ejecución adicional o una máquina virtual.
Aspectos destacados del uso de Klotin
Gradle está presentando Kotlin como un lenguaje para escribir scripts de construcción.
Corda es una plataforma de contabilidad distribuida de código abierto, respaldada por los principales bancos y construida completamente en Kotlin.
Evernote integró recientemente Kotlin en su cliente de Android.
La aplicación Coursera para Android está parcialmente escrita en Kotlin.
Todo el código nuevo en la aplicación Trello para Android está en Kotlin.
Spring hace uso de las características del lenguaje de Kotlin para ofrecer API más concisas.
¿Quién usa Klotin?
Uso de Klotin para el desarrollo del lado del servidor.
Uso de Kotlin para el desarrollo Mobile.
Conclusiones
Según las palabras de Andrey Breslav, líder de desarrollo de Kotlin, este lenguaje ha sido diseñado para superar a Java, pero sin dejar de ser interoperable con el código Java. El propósito último no es otro que facilitar la migración a Kotlin. Además de que, Google declaró Kotlin como lenguaje oficial en Android, equiparándolo así a Java y C++. Sin duda, se trata de un gran apoyo y empuje a las aspiraciones de Kotlin como sucesor de Java.
Pero bueno no se puede afirmar con seguridad si Kotlin llegará a sustituir a Java, pero que con Kotlin se puede hacer mucho más por poco, es decir, empleando menos código, lo que hace que da menor probabilidad de errores y mucho más.
Kotlin puede ser utilizado en cualquier tipo de desarrollo, basado en servidor, web de cliente o Android. Dispone de soporte para otras plataformas como sistemas integrados macOS y iOS. Aunque actualmente, su uso está muy extendido en el desarrollo de aplicaciones móviles en Android, pero también se utiliza en data science, proyectos del lado servidor y del lado cliente con JavaScript JavaFX.
Referencias
websites relacionados
Kotlin: el favorito de Google. https://www.atsistemas.com/blog/kotlin-el-favorito-de-google
¿Qué es Kotlin y por qué deberías empezar a aprenderlo ya? https://ifgeekthen.nttdata.com/es/que-es-kotlin-y-por-que-deberias-empezar-aprenderlo-ya
Kotlin: conociendo el lenguaje. https://www2.deloitte.com/es/es/pages/technology/articles/kotlin.html
Qué es Kotlin y características. https://openwebinars.net/blog/que-es-kotlin/
Qué es Kotlin, el lenguaje de programación que se puede aprender gratis y permite ganar 80 mil dólares al año https://www.clarin.com/tecnologia/kotlin-lenguaje-programacion-puede-aprender-gratis-permite-ganar-80-mil-dolares-ano_0_vLCS_wQdZ.html
¿Qué es Kotlin y para qué sirve? https://devexperto.com/que-es-kotlin-y-para-que-sirve/
Vídeos relacionados
QUÉ ES KOTLIN https://www.youtube.com/watch?v=ytt1-Oa6oEI&ab_channel=OpenWebinars
Java Vs Kotlin | El mejor para Aplicaciones Android | Platzi Cursos https://www.youtube.com/watch?v=1TXJZgZs1wQ&ab_channel=Platzi
0 cosas que debes saber sobre Kotlin https://www.youtube.com/watch?v=OgH6-ikynw8&ab_channel=EDteam
🔥 FLUTTER vs KOTLIN en 2021 👉 Me posiciono!! [y te digo CUÁL APRENDER] https://www.youtube.com/watch?v=IlXUH9Mpiwo&ab_channel=DevExperto-AntonioLeiva
👉 Qué es KOTLIN y para qué sirve [en 2021] ❓ https://www.youtube.com/watch?v=Y0tcdQ7Nfqk&ab_channel=DevExperto-AntonioLeiva
12 MOTIVOS PARA USAR KOTLIN – ANALIZANDO LENGUAJES https://www.youtube.com/watch?v=82jIa1mfOKU&ab_channel=SoyDalto
👉 Como Empezar a aprender Kotlin ❓ https://www.youtube.com/watch?v=HEkc00WunNs&ab_channel=CristianHenao
¿Qué es Kotlin? ¿Reemplazará a Java en Android? https://www.youtube.com/watch?v=DhBPZ3pNg_s&list=PLAg6Lv5BbjjfTrjAWIh1fJ1p2jvy-g8Vs&index=1&ab_channel=CristianHenao
👉 Se debe saber JAVA 👈 para aprender 👉 KOTLIN ❓ https://www.youtube.com/watch?v=o_qMtLWYx9c&list=PLAg6Lv5BbjjfTrjAWIh1fJ1p2jvy-g8Vs&index=2&ab_channel=CristianHenao
Kotlin vs Java Diferencias. Descúbrelo. Openinnova https://www.youtube.com/watch?v=PT48rdESGVI&ab_channel=AlbertoV%C3%A1zquez
QUÉ APORTA KOTLIN QUE NO APORTA JAVA https://www.youtube.com/watch?v=-XKzPh7xzZs&ab_channel=OpenWebinars
Documentación
Kotlin https://www.jetbrains.com/es-es/opensource/kotlin/
A modern programming language that makes developers happier. https://kotlinlang.org/
Kotlin docs https://kotlinlang.org/docs/home.html
El blog de Kotlin https://blog.jetbrains.com/kotlin/
Playground https://play.kotlinlang.org/
Desarrolla apps para Android con Kotlin https://developer.android.com/kotlin
Case Studies https://kotlinlang.org/lp/server-side/case-studies/
Case Studies https://kotlinlang.org/lp/mobile/case-studies/
¡Habla con nuestros expertos!
Author