KotlinExpert
Ejemplos y tutoriales de la Formación Kotlin Expert. Full Stack en Kotlin
Install / Use
/learn @joseluisgs/KotlinExpertREADME
Kotlin Expert
Ejemplos y tutoriales de la Formación Kotlin Expert. Full Stack en Kotlin
- Kotlin Expert
- Acerca de
- Módulo 1: Bienvenida
- Módulo 2: Conceptos básicos de Kotlin
- Módulo 3: Concurrencia en Kotlin con Coroutines
- Módulo 4: Kotlin avanzando
- Módulo 5: Compatibilidad con Java
- Módulo 6: Ktor
- Módulo 7: Kotlin Multiplatform
- Módulo 8: Kotlin JS
- Módulo 9: Android con KMP
- Repositorios de proyectos
- Autor
- Agradecimientos
- Licencia
Acerca de
Los siguientes proyectos y ejemplos se corresponden a la formación Full Stack en el lenguaje Kotlin en la formación Kotlin Expert.
Kotlin Expert es para cualquier programador/a de software que quiera aprender Kotlin aplicado a cualquier entorno de desarrollo.
Desarrolladores/as backend, frontend, mobile, web… aprenderéis todo lo que necesitáis para aprovechar al máximo el lenguaje y aplicarlo en vuestro día a día.

Módulo 1: Bienvenida
Bienvenida. Instalación de los entornos de desarrollo. Un paseo por el curso
Módulo 2: Conceptos básicos de Kotlin
Veremos las bases del lenguaje Kotlin, desde cómo crear tu primer proyecto hasta cómo lanzar tu primer programa, pasando por el aprendizaje de los conceptos de cualquier lenguaje de programación:
Variables, clases, interfaces, tipos, nulidad, funciones, lambdas...
Módulo 3: Concurrencia en Kotlin con Coroutines
Usaremos el uso de las corrutinas para el manejo de la concurrencia y con ello: funciones suspend, context, dispachers,scope. También usaremos secuencias, canales y flujos.
Módulo 4: Kotlin avanzando
En este módulo veremos aspectos avanzados o más específicos de Kotlin a nivel de lenguaje y expresividad como son funciones infijas, locales, sobrecarga de operadores, tipos avanzados, genéricos, varianza, lambdas con receivers, scope functions, import alias o type alias...
Módulo 5: Compatibilidad con Java
En este módulo se trabajará la compatibilidad de Kotlin con Java: funciones de alto nivel, funciones de extensión, sobrecarga, Objects, lambdas, etc.
Módulo 6: Ktor
En este módulo veremos los fundamentos de Ktor para crear aplicaciones web en Kotlin. Veremos cómo crear un servidor web para desarrollar una API REST para nuestras notas y cambiaremos el cliente para que consuma este servicio.
Como ampliación, se ha creado una cache reactiva con SQLDelight para el cliente.
El servicio trabajará de manera asíncrona con Coroutines y Exposed para la base de datos.
Módulo 7: Kotlin Multiplatform
En este módulo veremos los fundamentos de Kotlin Multiplatform para crear aplicaciones multiplataforma en Kotlin. Veremos cómo crear un proyecto multiplataforma para desarrollar una aplicación de notas y cambiaremos el cliente para que consuma este servicio adoptando el sistema multiplataforma: tarjets, source sets, etc.
Módulo 8: Kotlin JS
En este módulo veremos los fundamentos de Kotlin JS para crear aplicaciones web en Kotlin. Veremos cómo configurar nuestro proyecto, compartir código con el cliente y cómo crear una aplicación web con Kotlin JS y Compose web.
Módulo 9: Android con KMP
En este módulo veremos los fundamentos de Kotlin Multiplatform Mobile y nos centraremos en pasar nuestra aplicación de notas a Android con KMM. Veremos cómo configurar nuestro proyecto, compartir código con el cliente y cómo crear una aplicación Android con KMM y ajustar la navegación de la aplicación.
Repositorios de proyectos
El repositorio original del proyecto se puede encontrar aquí.
Autor
Codificado con :sparkling_heart: por José Luis González Sánchez
Contacto
<p> Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬. </p> <p> <a href="https://joseluisgs.github.io/" target="_blank"> <img src="https://joseluisgs.github.io/img/favicon.png" height="30"> </a> <a href="https://github.com/joseluisgs" target="_blank"> <img src="https://distreau.com/github.svg" height="30"> </a> <a href="https://twitter.com/joseluisgonsan" target="_blank"> <img src="https://i.imgur.com/U4Uiaef.png" height="30"> </a> <a href="https://www.linkedin.com/in/joseluisgonsan" target="_blank"> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/LinkedIn_logo_initials.png/768px-LinkedIn_logo_initials.png" height="30"> </a> <a href="https://discordapp.com/users/joseluisgs#3560" target="_blank"> <img src="https://logodownload.org/wp-content/uploads/2017/11/discord-logo-4-1.png" height="30"> </a> <a href="https://g.dev/joseluisgs" target="_blank"> <img loading="lazy" src="https://googlediscovery.com/wp-content/uploads/google-developers.png" height="30"> </a> </p>¿Un café?
<p><a href="https://www.buymeacoffee.com/joseluisgs"> <img align="left" src="https://cdn.buymeacoffee.com/buttons/v2/default-blue.png" height="48" alt="joseluisgs" /></a></p><br><br><br>Agradecimientos
Formación Kotlin Expert Full Stack por DevExperto Antonio Leiva .
Licencia
Todo el código es original y pertenece a Kotlin Expert salvo modificaciones y ampliaciones personales. Si tienes dudas, no dudes en cursarla, no te arrepentirás.
Este repositorio y todo su contenido está licenciado bajo licencia Creative Commons, si desea saber más, vea la LICENSE. Por favor si compartes, usas o modificas este proyecto cita a su autor, y usa las mismas condiciones para su uso docente, formativo o educativo y no comercial siempre preguntando a Kotlin Expert.
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licencia de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title"> JoseLuisGS</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://joseluisgs.github.io/" property="cc:attributionName" rel="cc:attributionURL"> José Luis González Sánchez</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License</a>.<br />Creado a partir de la obra en <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/joseluisgs" rel="dct:source">https://github.com/joseluisgs</a> .
