Slide 1

Slide 1 text

Kotlin for Server Side

Slide 2

Slide 2 text

Juan Guillermo Gómez ➢ Co-Leader y Co-Founder del GDG Cali. ➢ CEO DevHack. ➢ Consultant and advisor on software architecture, cloud computing and software development. ➢ Experience in several languages ​​and platforms. (C, C#, Java, NodeJS, android, GCP, Firebase). ➢ Google Developer Expert (GDE) in Firebase ➢ BS in System Engineering and a MS in Software Engineering. ➢ @jggomez ➢ [email protected]

Slide 3

Slide 3 text

Kotlin ➢ Open-sourced 2012. ➢ Developed by JetBrains. ➢ Version 1.0 in 2016. ➢ Modern programming language ➢ Object Oriented. ➢ Statically typed. ➢ Less code with fewer bugs. ➢ Lambdas and properties. ➢ Nullable and non-nullable data type. ➢ Very concise. ➢ Remove a lot of boilerplate from code. ➢ Readability. ➢ Functional constructs. ➢ Object Oriented. ➢ Use Java Libraries. ➢ Immutability.

Slide 4

Slide 4 text

Kotlin

Slide 5

Slide 5 text

Kotlin ➢ Official for Android Apps 2017. ➢ IntelliJ and Android Studio 3.0+. ➢ Server side. ➢ Use Java Libraries.

Slide 6

Slide 6 text

Kotlin for Server Side https://kotlinlang.org/docs/reference/server-overview.html

Slide 7

Slide 7 text

Frameworks for Server Side with Kotlin https://kotlinlang.org/docs/reference/server-overview.html

Slide 8

Slide 8 text

Creating a RESTFul API with Spring Boot ➢ Defining the project and dependencies with Gradle (https://github.com/jggomez/KotlinAPI) o Maven (https://github.com/jggomez/KotlinAPI_MAVEN). ➢ Creating a Courses Data Class and Controller. ➢ Creating the Application class.

Slide 9

Slide 9 text

Creating a RESTFul API with Spring Boot https://kotlinlang.org/docs/tutorials/spring-boot-restful.html ➢ Defining the project and dependencies with Gradle (https://github.com/jggomez/KotlinAPI) o Maven (https://github.com/jggomez/KotlinAPI_MAVEN). ➢ Creating a Courses Data Class and Controller. ➢ Creating the Application class.

Slide 10

Slide 10 text

Clean Architecture

Slide 11

Slide 11 text

Clean Architecture for Server Side

Slide 12

Slide 12 text

Clean Architecture for Server Side

Slide 13

Slide 13 text

Clean Architecture for Server Side Defining the project and dependencies with Gradle (https://github.com/jggomez/KotlinAPI) o Maven (https://github.com/jggomez/KotlinAPI_MAVEN).

Slide 14

Slide 14 text

Deployment GCP Maven (https://github.com/jggomez/KotlinAPI_MAVEN).

Slide 15

Slide 15 text

Deployment GCP GCP Samples by JetBrains https://github.com/JetBrains/gcp-samples https://cloud.google.com/community/tutorials/kotlin-springboot-app-engine

Slide 16

Slide 16 text

https://www.facebook.com/escueladevhack/ Escuela de Hackers www.devhack.co https://github.com/escueladevhack