¿Existe Kotlin más allá de Android, o es solo para el desarrollo de Android? ¿Puedo usar kotlin en cualquier lugar en lugar de Java?

Kotlin para el lado del servidor:

Kotlin es una excelente opción para desarrollar aplicaciones del lado del servidor, ya que permite escribir código conciso y expresivo mientras mantiene la compatibilidad total con las pilas de tecnología basadas en Java existentes y una curva de aprendizaje uniforme:

  • Expresividad : las características de lenguaje innovadoras de Kotlin, como su soporte para constructores de tipo seguro y propiedades delegadas, ayudan a construir abstracciones potentes y fáciles de usar.
  • Escalabilidad : el soporte de Kotlin para las rutinas ayuda a construir aplicaciones del lado del servidor que se adaptan a un gran número de clientes con requisitos de hardware modestos.
  • Interoperabilidad : Kotlin es totalmente compatible con todos los marcos basados ​​en Java, lo que le permite permanecer en su pila de tecnología familiar mientras cosecha los beneficios de un lenguaje más moderno.
  • Migración : Kotlin admite la migración gradual, paso a paso, de grandes bases de código de Java a Kotlin. Puede comenzar a escribir código nuevo en Kotlin mientras mantiene partes antiguas de su sistema en Java.
  • Herramientas : además del excelente soporte de IDE en general, Kotlin ofrece herramientas específicas del marco (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 ofrece una guía a través de las características clave del lenguaje con una serie de ejercicios interactivos.

Marcos para el desarrollo del lado del servidor con Kotlin

  • Spring utiliza las funciones de lenguaje de Kotlin para ofrecer API más concisas, comenzando con la versión 5.0. El generador de proyectos en línea permite generar rápidamente un nuevo proyecto en Kotlin.
  • Vert.x, un marco para construir aplicaciones web reactivas en la JVM, ofrece soporte dedicado para Kotlin, incluida la documentación completa.
  • Ktor es un marco web nativo de Kotlin creado por JetBrains, que utiliza corutinas para una alta escalabilidad y ofrece una API idiomática y fácil de usar.
  • kotlinx.html es un DSL que se puede usar para construir HTML en una aplicación web. Sirve como una alternativa a los sistemas de plantillas tradicionales como JSP y FreeMarker.
  • Las opciones disponibles para la persistencia incluyen acceso directo JDBC, JPA, así como el uso de bases de datos NoSQL a través de sus controladores Java. Para JPA, el complemento del compilador kotlin-jpa adapta las clases compiladas de Kotlin a los requisitos del marco.

Implementación de aplicaciones del lado del servidor Kotlin

Las aplicaciones de Kotlin se pueden implementar en cualquier host que admita aplicaciones web Java, incluidos Amazon Web Services, Google Cloud Platform y más.

Para implementar aplicaciones de Kotlin en Heroku, puede seguir el tutorial oficial de Heroku.

AWS Labs proporciona un proyecto de muestra que muestra el uso de Kotlin para escribir funciones de AWS Lambda.

Kotlin para Android:

Kotlin es ideal para desarrollar aplicaciones de Android, ya que ofrece todas las ventajas de un lenguaje moderno a la plataforma de Android sin introducir nuevas restricciones:

  • Compatibilidad : Kotlin es totalmente compatible con JDK 6, lo que garantiza que las aplicaciones de Kotlin puedan ejecutarse en dispositivos Android más antiguos sin problemas. Las herramientas de Kotlin son totalmente compatibles con Android Studio y compatibles con el sistema de compilación de Android.
  • Rendimiento : una aplicación Kotlin se ejecuta tan rápido como una Java equivalente, gracias a una estructura de código de bytes muy similar. Con el soporte de Kotlin para funciones en línea, el código que usa lambdas a menudo se ejecuta incluso más rápido que el mismo código escrito en Java.
  • Interoperabilidad : Kotlin es 100% interoperable con Java, lo que permite utilizar todas las bibliotecas de Android existentes en una aplicación Kotlin. Esto incluye el procesamiento de anotaciones, por lo que el enlace de datos y Dagger también funcionan.
  • Huella : Kotlin tiene una biblioteca de tiempo de ejecución muy compacta, que se puede reducir aún más mediante el uso de ProGuard. En una aplicación real, el tiempo de ejecución de Kotlin agrega solo unos pocos cientos de métodos y menos de 100K al tamaño del archivo .apk.
  • Tiempo de compilación : Kotlin admite una compilación incremental eficiente, por lo que si bien hay una sobrecarga adicional para compilaciones limpias, las compilaciones incrementales suelen ser tan rápidas o más rápidas que con Java.
  • 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 ofrece una guía a través de las características clave del lenguaje con una serie de ejercicios interactivos.

Kotlin para JavaScript:

Kotlin ofrece la capacidad de apuntar a JavaScript. Lo hace transpilando Kotlin a JavaScript. La implementación actual apunta a ECMAScript 5.1, pero hay planes para eventualmente apuntar a ECMAScript 2015 también.

Cuando elige el destino de JavaScript, cualquier código de Kotlin que forme parte del proyecto, así como la biblioteca estándar que se incluye con Kotlin, se transpira a JavaScript. Sin embargo, esto excluye el JDK y cualquier marco o biblioteca JVM o Java utilizados. Cualquier archivo que no sea Kotlin será ignorado durante la compilación.

El compilador de Kotlin intenta cumplir con los siguientes objetivos:

  • Proporcionar resultados de tamaño óptimo
  • Proporcionar salida que sea legible JavaScript
  • Proporcionar interoperabilidad con los sistemas de módulos existentes.
  • Proporcione la misma funcionalidad en la biblioteca estándar, ya sea para JavaScript o JVM (en el mayor grado posible).

Como puede ser usado

Es posible que desee compilar Kotlin a JavaScript en los siguientes escenarios:

  • Creación de código Kotlin dirigido a JavaScript del lado del cliente que interactúa con elementos DOM . Kotlin proporciona una serie de interfaces de tipo estático para interactuar con el Modelo de Objetos del Documento, permitiendo la creación y actualización de elementos DOM. Interactuando con gráficos como WebGL . Puede usar Kotlin para crear elementos gráficos en una página web usando WebGL.
  • Creación de código Kotlin dirigido a JavaScript del lado del servidor Trabajando con tecnología del lado del servidor . Puede usar Kotlin para interactuar con JavaScript del lado del servidor, como node.js

Kotlin se puede usar junto con bibliotecas y marcos de terceros existentes, como JQuery o ReactJS. Para acceder a marcos de terceros con una API fuertemente tipada, puede convertir definiciones de TypeScript del repositorio de definiciones de tipo Definitely Typed a Kotlin utilizando la herramienta ts2kt. Alternativamente, puede usar el tipo dinámico para acceder a cualquier marco sin tipeo fuerte.

Kotlin también es compatible con CommonJS, AMD y UMD, lo que facilita la interacción con diferentes sistemas de módulos.

Sí, Kotlin está más allá de la programación de Android.

Kotlin se asocia principalmente con Android porque la compañía que creó Kotlin fue Jetbrains. Los cerebros a reacción son las mismas personas que han desarrollado el IDE de Android: Android Studio. También son las personas que idearon Java IDE – IntelliJ. Entonces puedes ver cómo Kotlin se asoció con el desarrollo de Android.

Kotlin es un lenguaje compatible con JVM. Entonces, cualquier código que escriba, se convierte en código compatible con JVM. Básicamente, eso significa que, donde sea que se use Java / JVM, Kotlin puede reemplazar a Java.

Si quieres saber un poco más sobre Kotlin y Android, visita este video que he creado en mi canal de YouTube: Codetutor.

Sí, Kotlin existe más allá de Android.

No es solo para el desarrollo de Android. Google hizo de Kotlin como otro lenguaje de primera clase para el desarrollo de Android. Por eso, Kotlin y Android aparecen juntos en todas las búsquedas.

Sí, puede usar Kotlin en cualquier lugar en lugar de Java.

De hecho, Kotlin es un lenguaje JVM plug-n-play tan bueno que podría tener todo su proyecto en Java y 1 clase en Kotlin. Esto le proporciona la superficie más pequeña para experimentar con Kotlin en un proyecto Java.

Kotlin puede coexistir con Java porque ambos pueden producir códigos de bytes JVM compatibles. Esto hace que el código Java sea consumible a partir del código Kotlin y viceversa.

Puede usarlo en lugar de Java en varios lugares. Los marcos ya populares como Spring boot y sparkjava admiten kotlin para el desarrollo del lado del servidor. Kotlin puede existir sin Android, ¡pero Android lo hace popular!

Sí, puedes usar Kotlin para desarrollar para otras plataformas y también para saber más, puedes visitar Kotlin Programming Language

More Interesting

¿Necesito conocer el desarrollo web, el desarrollo de Android o algunos proyectos de código abierto para una programación competitiva para hacer un buen perfil?

¿Qué son las aplicaciones instantáneas de Android?

Cómo crear bibliotecas personalizadas en Android y publicarlo

Cómo usar EventBus en Android

¿Qué aplicaciones de Android puede crear un principiante que cubra todos los aspectos básicos del desarrollo de Android?

¿Cuáles son las principales empresas de desarrollo de aplicaciones móviles en todo el mundo para los servicios de desarrollo de aplicaciones de Android y iPhone?

¿Cuál es tu aplicación favorita en Android y por qué?

¿Para qué se usa Gradle en Android Studio?

¿Cuánto cuesta realmente hacer una aplicación de Android?

En la programación de Android que involucra una base de datos SQLite, generalmente creamos tablas con código Java utilizando un ORM. ¿Por qué hacemos esto ya que es mucho más fácil y rápido hacerlo directamente en SQL?

Cómo instalar Android SDK solo sin instalar Android Studio

¿Cómo cobran los desarrolladores de Android para desarrollar la aplicación?

¿Por qué muchas aplicaciones de Android solicitan permiso para acceder a la ubicación y a los contactos? ¿Es seguro permitir?

¿Cuáles son algunas aplicaciones increíbles que puedo instalar en mi teléfono Android?

¿Por qué la interfaz de usuario de Android es tan confusa? ¿Por qué todas las empresas se centran en las características en lugar de la experiencia, y por qué Google no está haciendo algo al respecto?