Kotlin és un llenguatge de programació de propòsit general, multiplataforma i multiparadigma.
Fonaments
Computació
El propòsit inicial dels computadors era computar números.
Seqüència
Una seqüència és un conjunt d'elements agrupats un radera de l'altre.
Data
Unes dades (o "data") és un un conjunt de valors que estan realacionats i que es gestionen com un conjunt.
Funció
Las funciones te permiten dividir tu código en partes reutilizables.
Extension Function
Kotlin et permet estendre una classe amb noves funcions sense tenir que modificar la classe o crear una classe nova que estengui la classe a la cual vols afegir una nova funcionalitat.
Input/Output
Input
File
El sistema de fitxers de l'ordinador ens permet persistir les dades en memòria secundària.
Serialització
La serialització consisteix en convertir un arbre d'objectes en un string o en una seqüència de bytes.
Ktorfit
Ktorfit is an HTTP client/Kotlin Symbol Processor for Kotlin Multiplatform
Desenvolupament
Idea
Idea és una IDE per Java i Kotlin.
Gradle
Gradle és una eina d'automatització de compilació per al desenvolupament de programari
Amper
Amper és una eina de construcció per als llenguatges Kotlin i Java.
Power-assert
UI
Compose
Compose te permite definir la interfaz gráfica mediante funciones descriptivas.
Concurrent
Thread
Corutines
Dades
Postgres
SQLDelight
SQLDelight és un plugin que genera tot el codi necessari per gestionar una base de dades a partir de sentències SQL.
Supabase
MongoDB
MongoDB nos permite gestionar datos documentales.
Web
Ktor
Ktor et permet crear aplicacions client i servidor asíncrones, des de microserveis fins a aplicacions client HTTP multiplataforma de manera senzilla.
HTML
The kotlinx.html library provides the ability to generate DOM elements using statically typed HTML builders (and besides JavaScript, it is even available on the JVM target!)
Wasm
Kotlin/Wasm pot compilar el codi Kotlin en format WebAssembly (Wasm).
Compilador
Kotlin Symbol Processing
KSP is a tool that allows feeding Kotlin source code to processors, which can in turn use this information to generate code, classes, or resources, for instance.