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

Setting up the build script

Build systems are software tools designed to automate the process of program compilation such as Maven, Gradle, and others. We will be using the Gradle build system for our project. 

Adding Kotlin dependency

Kotlin language is added as a Gradle dependency in the project:

    // Kotlin
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

Adding Spring Boot dependencies

To set up the project with Spring Boot packages we need to add the following dependencies in the build.gradle file:

    // Spring
    compile 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.springframework.boot:spring-boot-starter-jdbc'
    compile 'org.springframework.boot:spring-boot-devtools'

    testCompile "org.springframework.boot:spring-boot-starter-test"

Exposed library

It is a prototype for a lightweight SQL library written over JDBC driver for the Kotlin language. It does have two layers of database access: typesafe SQL wrapping DSL and lightweight data access...