Web Development with Kotlin

Build microservice in Kotlin without prior Java knowledge, using REST and GraphQL
Rating: 3.8 out of 5 (57 ratings)
5,426 students
English
English
Basics of Kotlin programming language
Ktor web framework
Working with databases using Exposed DSL
Dependency management with Gradle
Testing with Kotlin
Working with GraphQL
Running Kotlin inside Docker container and Docker Compose
Deploying Kotlin service to Heroku

Requirements

  • Some kind of web technology, be it JavaScript, PHP, Ruby or Python
  • Familiarity with Git
  • Basic SQL and Docker knowledge is also useful

Description

In this course, we'll build a microservice using Kotlin programming language and Ktor framework, then deploy it to Heroku.

The microservice will be for a cat hostel. You'll be able to add new cats, remove and list them.

Why cats?

Because as long as you know how to implement basic operations, you can build it any kind of service you may need: supermarket orders, auction items, taxis, you name it. So, why not cats?

Why Kotlin?

  • Modern, productive and highly pragmatic language

    • Type safe

    • Null-safe

    • Generics that actually make sense

    • Intuitive

    • Extensible

  • Highly concurrent: Kotlin uses coroutines on top of best-in-class JIT provided by the JVM, that makes it one of the most efficient and concurrent languages nowadays

  • Rich ecosystem: be it PostgreSQL, Kafka or RabbitMQ, the most solid libraries are written for the JVM. And Kotlin is able to make use of all of them

Why this course?

There are many good tutorials and books about Kotlin programming language nowadays. But most of them make the assumption that you're either and Android developer or at least familiar with Java programming language and its ecosystem.

This course make no such assumptions. If you're and experienced PHP, Python, Ruby or NodeJS developer, with zero Java knowledge, this course was build with you in mind.

What you need to know:

Some kind of web technology, be it JavaScript, PHP, Ruby or Python. I expect you to be familiar with terms like Request, Response, JSON and HTTP headers at the very least.

Familiarity with Git. I’ll provide you with a link to the relevant branch on GitHub after most of the videos, and I’ll show you commands that I use, but I won’t dive deep into what they do.

Basic SQL and Docker knowledge is useful, but not mandatory.


What this course covers:

  • Basics of Kotlin programming language

  • Dependency management with Gradle

  • Ktor web framework

  • Testing with Kotlin

  • Working with databases using Exposed DSL

  • Running Kotlin inside Docker container and Docker Compose

  • Deploying Kotlin to Heroku

  • Exposing GraphQL API with Kotlin

What this course doesn't cover:

  • Coroutines

  • Building UI in Kotlin

  • CI tools

  • Security

Each of them is a large topic by itself, and I wanted to keep this course as focused as possible, so you’ll be able to produce a working and well tested application in an hour or two.

Who this course is for:

  • Web developers that want to learn Kotlin
  • Backend developers that are interested in doing TDD with Kotlin

Course content

4 sections27 lectures1h 38m total length
  • Introduction
    03:19
  • Java Ecosystem
    02:14
  • "Hello World" in Kotlin
    02:48
  • Dependency management with Gradle
    03:04
  • Ktor Web Framework
    05:44
  • Refactoring for Tests
    04:46
  • Basics of Testing in Kotlin
    04:07

Instructor

Solutions Architect @Depop
Alexey Soshin
  • 4.5 Instructor Rating
  • 1,299 Reviews
  • 13,689 Students
  • 2 Courses

Solutions Architect at Depop.

Authored two Udemy courses: "Pragmatic System Design" and "Web Development with Kotlin".

Author of "Hands-on Design Patterns with Kotlin" book.

Coauthor of "97 Things Every Java Programmer Should Know" book.

Open Source contributor: Vert.x, Smali2Java.

Conference speaker. Amateur barista.