Book Image

Kotlin Blueprints

By : Ashish Belagali, Akshay Chordiya, Hardik Trivedi
Book Image

Kotlin Blueprints

By: Ashish Belagali, Akshay Chordiya, Hardik Trivedi

Overview of this book

Kotlin is a powerful language that has applications in a wide variety of fields. It is a concise, safe, interoperable, and tool-friendly language. The Android team has also announced first-class support for Kotlin, which is an added boost to the language. Kotlin’s growth is fueled through carefully designed business and technology benefits. The collection of projects demonstrates the versatility of the language and enables you to build standalone applications on your own. You’ll build comprehensive applications using the various features of Kotlin. Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this book. You’ll learn how to build a social media aggregator app that will help you efficiently track various feeds, develop a geospatial webservice with Kotlin and Spring Boot, build responsive web applications with Kotlin, build a REST API for a news feed reader, and build a server-side chat application with Kotlin. It also covers the various libraries and frameworks used in the projects. Through the course of building applications, you’ll not only get to grips with the various features of Kotlin, but you’ll also discover how to design and prototype professional-grade applications.
Table of Contents (16 chapters)
Title Page
About the Authors
About the Reviewer
Customer Feedback

Let's code!

Our project is ready with the required project structure, and Gradle dependency and configuration. Now it's time to write the application code.

Application configuration

In Ktor, there are two ways to configure the application parameters: 

  • From Kotlin code
  • Using configuration files

It's recommended to use a configuration file, because with configuration files, if you change any of the parameters later, then you won't need to recompile the code in future as there is no change in the Kotlin code. You'll only need to restart the application on the server.

Hence, we create a configuration file named application.conf in the main/resources directory of our project with the following content:

    ktor {
      deployment {
        port = 8080

      application {
        modules = [ ]

Deployment block

The deployment block contains configuration, such as port numbers, auto-reload, and so on.

Application block

The application block is an important...