Curso Kotlin | #2. Puesta en Marcha
Tags: programming, spanish, kotlin
Published: 2022-12-12 14:35:06

Bienvenido/a a otro capítulo del Curso de Kotlin! Podés consultar el curso completo desde [este link](https://github.com/maxwellnewage/kotlin-course) que te dejo acá. Podés seguirme por [LinkedIn](https://www.linkedin.com/in/maximilianoburgos/) o [Twitter](https://twitter.com/maxwellnewage) si querés estar al tanto de las próximas publicaciones.

## 🤔¿Qué necesito para empezar?🤔
En el pasado, en mis clases, recomendaba a la gente instalar el [JDK](https://www.oracle.com/lad/java/technologies/javase-downloads.html), que es básicamente el [Java Development Kit](https://www.oracle.com/lad/java/technologies/javase-downloads.html). Esto es la suite de librerías que nos permite leer y compilar código Java. Por razones que mencionamos en el [capítulo anterior](https://dev.to/maxwellnewage/curso-kotlin-1-introduccion-al-curso-3be1), Kotlin lo necesita también.

Hoy día la gente de Jetbrains ya nos ofrece un IDE ([Intellij](https://www.jetbrains.com/es-es/idea/download/#section=windows)) que trae su propio JDK. Por lo cual solo tendremos que [instalarlo desde aquí](https://www.jetbrains.com/es-es/idea/download/#section=windows). Puede que hayan notado que mi enlace es de Windows. Eso es porque la página de la empresa detecta el sistema y nos ofrece el software adecuado.

Si no los redirecciona a su SO correspondiente (también soporta Linux y MacOS), me avisan y busco alguna manera de ofrecerles un enlace mas universal.

## ¿Cuál versión descargo?

![Intellij Versiones](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5r2ywm8eydyipg0nn6n2.png)

Como podemos observar en la captura de arriba, existe una versión super mega increible llamada Ultimate; y luego tenemos la edición para gente pobre con la mitad de las características. 🤣

Esto ocurre porque la gente de Jetbrains tiene que comer, y nos ofrecen una versión corporativa (izquierda) contra una comunitaria (derecha). La primera tiene un trial de 30 días y luego hay que pagar una licencia; mientras que la segunda es gratis para siempre.

Y aquí es donde se asoma la gran duda: ¿puedo estudiar o emprender con la versión community? Y la respuesta es: SI.

Para programar aplicaciones de consola en Kotlin, que es el objetivo de los próximos artículos, nos sobra. Y no crean que por no tener la versión Ultimate, no pueden crear proyectos en Spring, por ejemplo.

La gran diferencia entre las dos radica en sus facilidades. En la versión Ultimate, crear un proyecto en Spring Java es un botón y un par de siguientes. En la comunitaria, debemos instalar un par de complementos (oficiales por supuesto) y configurar varias cosas a mano.

Es como comprar un auto con el motor funcionando a la perfección; al contrario de que te regalen uno y que tengas que instalarlo y hacerlo funcionar.

Parece difícil, pero no lo es. De hecho nuestros proyectos en consola también van a ser un clic.

## La versión Comunitaria
Al momento de escribir este artículo, el instalador pesa 620mb. Pero tomen en cuenta que la instalación completa puede superar el GB.

> MaxiTip: Usen un disco sólido (SSD), no HDD para trabajar tanto con Intellij como Android Studio. Su IDE favorito se los va a agradecer.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8s2bpqew8j8am25rk6vg.png)

Pantalla del instalador apenas lo abrimos

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cpqaw5uygmxmslyhpx93.png)

Si tienen versiones viejas, pueden desinstalarlas. Es recomendable.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d2oi3clk2ro42a948uxm.png)

No recomiendo borrar cache, configuraciones e historial local. Pero si quieren hacer una instalación limpia, no hay problema en usar estas opciones.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ghw9glq0x98zw4xn1509.png)

Como ven, se requieren 1.2 GB para la instalación.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1f96zhvc9xqmheby08n2.png)

Esta parte ya es a gusto del consumidor. El launcher de 64bits es el que deberíamos usar siempre para aprovechar la potencia del procesador. Pero tanto PATH como abrir carpetas como proyectos, no son imprescindibles.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3k772uwtswb29ibals4.png)

El Start Menu Folder es solo aplicable para Windows.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aktbwsu1i41hchyi4e57.png)

¡Instalando! En un disco SSD la instalación no supera los 3 minutos. En un HDD, podés ir a buscar ese café tranquilo.

![Instalacion Intellij](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4o9okbvpjt29v7b6vwdd.png)

El reinicio limpia cache de instalación y un par de cosas que no nos importan demasiado. Pueden abrir el IDE ahora.
No puedo capturar la pantalla siguiente porque yo no limpié cache ni configuraciones. Pero seguramente les va a pedir usar el tema claro o nocturno y luego les mostrará el “consejo del día”.

Una vez tengan todo listo, es hora de crear un proyecto y… ¡empezar a picar código! 💻

## Iniciar un nuevo proyecto

![Crear Proyecto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k9iolt3v677gfqsjk6rt.png)

Si esta pantalla no les aparece, pueden ir a File -> Close Project. Le damos a New Project.

![Crear Proyecto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k2o9wypebr5dyg5r3l7u.png)

Se van a la sección Kotlin y luego eligen Console Application. Asegurense de que Build System esta en Gradle Kotlin (es nuestro gestor de dependencias) y Project JDK en el kit que les haya bajado Intellij.

![Crear Proyecto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vn08nccoslr4c0wbx7s.png)

En Location, le dan a la carpeta y eligen el directorio que quieran. Luego crean una carpeta dentro, la cual será la de nuestro proyecto. En mi caso la voy a llamar “KotlinConsoleTutorial”. La falta de espacios es intencional: los directorios con espacios dan problemas en muchos aspectos que veremos mas adelante. Le dan OK, seleccionan la carpeta y luego Next.

![Crear Proyecto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fomk8yibmsok92opar33.png)

Esto lo dejamos igual, nada que tocar. Le damos a Finish.

![Crear Proyecto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cg3qbyiy2nsux92uuzxt.png)

Gradle, nuestro gestor de dependencias se empezará a descargar a sí mismo. También descargará Kotlin y será el responsable de compilar el proyecto.

![Estructura Archivos](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ghiobp3x0k8sd2tknq8m.png)

Esta es la estructura del proyecto. Parece aterradora, pero la veremos más en detalle en los siguientes artículos.

![Funcion Main](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7g8biug83a1s0jkc3ua.png)

Hacemos doble clic en el archivo main.kt que se encuentra en src/main/kotlin/main.kt. Finalmente, le damos al botón verde para correr el script. Y luego le damos a Run ‘MainKt’.

![Main Salida](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1m5hiwruqpm6jcs2391f.png)

¡Y con esto tenemos nuestro primer Hello World! Si, quizá no fue muy emocionante 😅. Pero lo importante es que nuestro IDE y el proyecto están funcionando.

En el caso de que algo de todo esto te diera un error extraño, te invito a comentarlo, pero antes asegurate de haber agotado las instancias de StackOverflow o demás sitios que te pueden ayudar.

En general un error en esta instancia es algo muy común, y podrían haber cientos de comentarios con la misma solución. Ahorremos caracteres, es bueno para el ecosistema 🤣.

## Conclusiones Finales
Puede que no lo parezca, pero poner en marcha nuestro IDE es una tarea importante. Nos ahorra problemas a futuro con los que no queremos lidiar como desarrolladores.

Te invito a investigar como funciona [println](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/println.html) y por qué necesitamos usar la función *main()* para iniciar nuestra aplicación de consola.

¡Nos vemos en el siguiente capítulo! 👋