Kotlin logo

Kotlin

Statically typed Programming Language targeting JVM and JavaScript
14.8K
11.5K
+ 1
647

What is Kotlin?

Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
Kotlin is a tool in the Languages category of a tech stack.
Kotlin is an open source tool with 47.3K GitHub stars and 5.6K GitHub forks. Here’s a link to Kotlin's open source repository on GitHub

Who uses Kotlin?

Companies
1458 companies reportedly use Kotlin in their tech stacks, including Udemy, Slack, and Robinhood.

Developers
11736 developers on StackShare have stated that they use Kotlin.

Kotlin Integrations

Sentry, gRPC, Android OS, Strapi, and pgvector are some of the popular tools that integrate with Kotlin. Here's a list of all 63 tools that integrate with Kotlin.
Pros of Kotlin
73
Interoperable with Java
55
Functional Programming support
50
Null Safety
46
Official Android support
44
Backed by JetBrains
37
Concise
36
Modern Multiplatform Applications
28
Expressive Syntax
27
Target to JVM
26
Coroutines
24
Open Source
19
Practical elegance
19
Statically Typed
17
Type Inference
17
Android support
14
Readable code
13
Powerful as Scala, simple as Python, plus coroutines <3
12
Better Java
10
Pragmatic
9
Lambda
8
Target to JavaScript
8
Better language for android
8
Expressive DSLs
6
Used for Android
6
Less boilerplate code
5
Fast Programming language
5
Less code
4
Less boiler plate code
4
Functional Programming Language
4
Native
4
Friendly community
3
Spring
3
Official Google Support
2
Latest version of Java
1
Well-compromised featured Java alternative
Decisions about Kotlin

Here are some stack decisions, common use cases and reviews by companies and developers who chose Kotlin in their tech stack.

Jakub Olan
Node.js Software Engineer · | 17 upvotes · 651.2K views

In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

See more
Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 731.7K views
Needs advice
on
Node.jsNode.jsPythonPython
and
RailsRails

Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 557.6K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Needs advice
on
Node.jsNode.jsReactReact
and
React NativeReact Native

I'm researching what Technology Stack I should use to build my product (something like food delivery App) for Web, iOS, and Android Apps. Please advise which technologies you would recommend from a Scalability, Reliability, Cost, and Efficiency standpoint for a start-up. Here are the technologies I came up with, feel free to suggest any new technology even it's not in the list below.

For Mobile Apps -

  1. native languages like Swift for IOS and Java/Kotlin for Android
  2. or cross-platform languages like React Native for both IOS and Android Apps

For UI -

  1. React

For Back-End or APIs -

  1. Node.js
  2. PHP

For Database -

  1. PostgreSQL
  2. MySQL
  3. Cloud Firestore
  4. MariaDB

Thanks!

See more
Needs advice
on
MongoDBMongoDBNode.jsNode.js
and
ReactReact

Hello,

I will be programming my project in the coming months. I would need advice on the technology I will use.

I focus mainly on mobile apps, so it's clear there that it will be a native app written in Kotlin.

I will also need a backend (database, API). In the database, I will need to store words and their translations along with users and some statistics to start with.

I don't know which database to choose, whether NoSQL or SQL. Maybe NoSQL would suffice for some words and key-value data.

I would like to connect the web and a chrome extension to that backend. I assume that chrome extensions are made in JavaScript and I would use either Vue.js, AngularJS, or React on the web. The web would be quite simple, some flashcards, statistics, and so on ... I don't know which framework would be ideal, I've never done it, I'll be basically learning it. Ideally, also where you need as little CSS as possible.

With that backend, I have a dilemma as to which framework to use. Basically, it will be such a new for me, I just played with Flask a little bit, but It doesn't matter. Basically, everything runs on JS except the Android app. So is it advantageous to choose Node.js on the backend? I have no experience with this, is it an advantage when everything runs in almost one language? I also thought about Flask / Django, but I also quite like Node.js since it's in JS. But I'm open to all the possibilities of .NET, Spring .... What would be your choice?

To summarize: Android App - Native app in Kotlin Chrome Extension - JavaScript (I don't know if it can be done in anything else) Web - Vue, Angular or React and that's JavaScript Database - SQL / NoSQL? - I don't know which is more suitable, or some specific types Backend - the dilemma of what language and framework to use

I'll write everything myself, it's a project for school, but I want to move it to a higher level and release it. If it doesn't work out, at least I'll learn something. Thank you for the answers.

See more
Needs advice
on
DjangoDjango.NET Core.NET Core
and
Spring BootSpring Boot

Hi

I’ve been using Django for the last year on and off to do my backend API. I’m getting a bit frustrated with the Django REST framework with the setup of the serializers and Django for the lack of web sockets. I’m considering either Spring or .NET Core. I’m familiar with Kotlin and C# but I’ve not built any substantial projects with them. I like OOP, building a desktop app, web API, and also the potential to get a job in the future or building a tool at work to manage my documents, dashboard and processes point cloud data.

I’m familiar with c/cpp, TypeScript.

I would love your insights on where I should go.

See more

Blog Posts

GitHubPythonNode.js+47
54
72298

Kotlin Alternatives & Comparisons

What are some alternatives to Kotlin?
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Swift
Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Groovy
It is a powerful multi-faceted programming language for the JVM platform. It supports a spectrum of programming styles incorporating features from dynamic languages such as optional and duck typing, but also static compilation and static type checking at levels similar to or greater than Java through its extensible static type checker. It aims to greatly increase developer productivity with many powerful features but also a concise, familiar and easy to learn syntax.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
See all alternatives

Kotlin's Followers
11452 developers follow Kotlin to keep up with related blogs and decisions.