Serverless can be a very confusing term that means different things to different people depending on who you talk to, which is a bit like Functional programming. Unfortunately there is no standard meaning used for Serverless that everyone agrees on. My favourite definition of Serverless that I have found was picked up from a presentation, which is the following:

  1. No management of server hosts or server processes
  2. Self auto-scale and auto-provision based on load
  3. Costs based on precise usage

If I were to define Serverless then this is the definition I would use:

A way to run a self contained…


Many different platforms are supported by Kotlin Native however most of the focus goes to mobile platforms. This heavy focus has caused a lack of focus on Linux platforms which should be receiving the same amount of support as the mobile platforms. The message being presented in the What to Expect in Kotlin 1.4 and Beyond article doesn’t match reality:

Our vision is for Kotlin to be a reliable companion for all your endeavours, a default language choice for your tasks. To accomplish this, we’re going to make it shine on all platforms.

With the way things are going with…


One time I came across a YouTube video where part of the video title included Reactive. Upon looking at the title I was about to dismiss the video as yet another one going into reactive concepts (for a different area), however there was more than meets the eye in the video itself which left me as a Kotliner intrigued. …


This article will cover a basic introduction to Linux development using Kotlin via Kotlin Native. Not all native development on the Linux platform is system level, and there are plenty of opportunities to do development at a high level while still having some (albeit limited) low level access. Linux development opens many doors especially in the IoT development area.

It is assumed that you know the following in order to follow this article:

- How to use Linux - Using the command line via a terminal - Basic understanding of the Kotlin programming language - Using IntelliJ - Managing the…


On the open source side there is a saying, ”scratch your own itch”. I prefer the alternative saying, ”fulfil your own need”. My need to fulfil is to have a easy/quick way to develop native GUI applications on Linux (also includes the IoT area) that provides reasonably good performance, is easy to deploy, and has low maintenance. With Linux GTK is the defacto GUI toolkit which is used by all major desktop Linux distributions (Ubuntu, Linux Mint, and Fedora).

Many programming languages can be used to develop GTK applications, however there isn’t a single programming language that would help fulfil…


When Kotlin Native was first released the platform was originally designed to cover iOS, desktop, tooling, and infrastructure development. Since then Kotlin Native has been used in other areas like embedded development, however there has been no big push for IoT (Internet of Things) development. The IoT market is estimated to be worth around 212 billion USD by the end of 2019, which shows a LARGE market with plenty of opportunities for Kotliners. Also in the latest Kotlin developer survey 7% of apps are IoT based, and it is likely the IoT development will become a major software development area…


With Google moving in the direction of doing views declaratively in code instead of XML for Android development there is a lot of interest in a library they are developing. Enter in JetPack Compose which allows views in a Android app to be developed in Kotlin code instead of XML. Although the ideas in behind the library are good the implementation isn’t (leaves a lot to be desired).

Ideas

Where Google get a lot of things right is with ideas. With many software developers moving towards declaratively building/managing views in code, and dropping markup Google’s timing couldn’t be better. Android developers…


Web frontends in Kotlin are done through Kotlin JS which has had a very rocky start. When development first started with Kotlin JS its stable release was delayed by about a year, which didn’t help matters with ensuring Kotlin was competitive in the Web Browser (for developing web front-ends). After Kotlin JS has its first stable release as part of Kotlin 1.1 it lacked some key performance tools/features (eg dead code elimination), which should have been available straight away. As a result Kotlin JS was only suitable for developing internal business web front-ends. …


There are a few Serverless options available but not all of these options will have official Kotlin support. Much of the official support is experimental. Included below are major FaaS and Open Serverless platforms to consider when doing Serverless development with Kotlin.

FaaS Platforms

When Serverless was first coined the first type of Serverless platforms to appear were FaaS. Many of the FaaS platforms lack official Kotlin support but are usable if you want to use Kotlin JVM (except for Google Cloud Functions).

AWS Lambda

The first FaaS platform to be launched and also the one with the strongest programming language support. Doesn’t officially…


In this tutorial you will use Gradle Kotlin DSL (GKD) in a new Kotlin project to script Gradle builds. Gradle Inc first announced GKD in May 17 2016. Since then some organisations like JetBrains have started to use GKD in production which makes it a great time to start using it, even in non production level projects.

The following software will be used in this tutorial:

  • Kotlin 1.2.10
  • JDK 8
  • Gradle 4.4.1
  • Intellij >= 2017.3.1

Getting Started

First off a calculator project will be created which will also have unit tests that will be covered later on in the tutorial. Open Intellij…

Nick Apperley

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store