Resources
Curated collection of essential Kotlin resources for learners and professional developers. From official documentation to community tools.
Official Documentation
Language Reference
Complete official documentation covering all language features, syntax, and semantics.
- Comprehensive language specification
- Updated for Kotlin 2.x
- Searchable and well-organized
- Code examples throughout
Full API reference for Kotlin standard library.
- All standard library classes and functions
- Organized by package
- Detailed parameter and return type information
- Usage examples and related functions
Formal language specification for compiler implementers and advanced users.
- Precise language semantics
- Type system details
- Grammar and syntax rules
- Edge case behavior
Getting Started
Official beginner tutorials from JetBrains.
- Installation guides
- First program tutorials
- Platform-specific guides (JVM, Android, Native, JS)
- Step-by-step learning paths
Browser-based Kotlin compiler for experimenting with code.
- No installation required
- Instant execution
- Share code snippets
- Built-in examples
Interactive exercises for learning Kotlin through practice.
- 42 exercises covering all major features
- Runs in browser
- Immediate feedback
- Difficulty progression
Development Tools
IDEs
Primary IDE for Kotlin development with best-in-class support.
- Kotlin plugin pre-installed
- Intelligent code completion
- Advanced refactoring
- Integrated debugger
- Free Community Edition available
Official IDE for Android development with full Kotlin support.
- Based on IntelliJ IDEA
- Android-specific tools
- Kotlin first-class citizen
- Layout editor and emulator
Lightweight editor with Kotlin extension.
- Kotlin Language extension
- Syntax highlighting
- Basic code completion
- Lighter than full IDE
Build Tools
Primary build tool for Kotlin projects with Kotlin DSL.
- Gradle Kotlin DSL - Type-safe build scripts
- Dependency management
- Multi-project builds
- Plugin ecosystem
Alternative build tool with Kotlin support.
- Kotlin Maven Plugin - Official Maven plugin
- XML-based configuration
- Mature ecosystem
- Standard project structure
Code Quality Tools
Static code analysis tool for Kotlin.
- 150+ built-in rules
- Custom rule support
- Gradle and Maven integration
- HTML/XML/TXT reports
Kotlin linter with built-in formatter.
- Enforces official Kotlin coding conventions
- Zero configuration
- Auto-formatting
- Gradle plugin available
Gradle integration for ktlint.
- Automatic formatting
- Pre-commit hooks
- CI/CD integration
Frameworks and Libraries
Web Development
Asynchronous web framework for Kotlin.
- Built on coroutines
- Type-safe routing
- Client and server
- Lightweight and flexible
Spring Framework with Kotlin support.
- Kotlin-specific features
- Null safety integration
- Coroutine support
- Extensive ecosystem
Database
SQL library from JetBrains.
- DSL and DAO APIs
- Type-safe queries
- Multiple database support
- Coroutine integration
Lightweight ORM framework for Kotlin.
- Fluent SQL DSL
- Extensible and customizable
- No code generation
- Strong typing
Testing
Mocking library designed for Kotlin.
- Kotlin-first API
- Coroutine support
- Extension function mocking
- Relaxed mocks
Testing framework with multiple styles.
- Multiple testing styles (FunSpec, StringSpec, BehaviorSpec, etc.)
- Property-based testing
- Data-driven testing
- Excellent assertions library
Serialization
Official multiplatform serialization library.
- JSON, CBOR, ProtoBuf support
- Compiler plugin-based
- Type-safe
- Multiplatform compatible
Popular JSON library with Kotlin support.
- Mature and stable
- Flexible configuration
- Good performance
- Wide adoption
Community Resources
Learning Platforms
Official learn-by-example resource.
- Practical examples
- Organized by topic
- Interactive playground
- Beginner-friendly
Kotlin for Java Developers (Coursera)
Official course from JetBrains.
- Structured curriculum
- Video lectures
- Hands-on assignments
- Certificate available
Book and learning platform by Bruce Eckel.
- Comprehensive coverage
- Beginner to advanced
- Exercises and solutions
- Modern Kotlin practices
Blogs and Articles
Official blog from JetBrains Kotlin team.
- Release announcements
- Feature deep-dives
- Best practices
- Community highlights
Weekly newsletter with curated Kotlin content.
- Articles and tutorials
- Library updates
- Conference talks
- Community news
Android and Kotlin articles on Medium.
- Practical tutorials
- Real-world examples
- Expert perspectives
- Active community
Community Forums
Official community forum.
- Language design discussions
- Help and support
- Feature requests
- Library announcements
Active Slack workspace with multiple channels.
- Real-time help
- Channels for specific topics
- Direct interaction with Kotlin team
- Job postings
Reddit community for Kotlin developers.
- News and discussions
- Q&A
- Project showcases
- Resource sharing
Video Content
Official YouTube channel from JetBrains.
- Conference talks
- Tutorial videos
- Feature announcements
- Live coding sessions
Talks from official Kotlin conference.
- Advanced topics
- Best practices
- Real-world case studies
- Community presentations
Books
Kotlin in Action by Dmitry Jemerov and Svetlana Isakova
Comprehensive guide from Kotlin team members.
- Fundamentals to advanced topics
- Best practices
- Real-world examples
- Second edition available
Head First Kotlin by Dawn Griffiths and David Griffiths
Beginner-friendly introduction.
- Visual learning approach
- Hands-on exercises
- Engaging format
- Covers Android development
Programming Kotlin by Venkat Subramaniam
Practical guide for developers.
- Functional programming focus
- Idiomatic Kotlin
- Testing and debugging
- Real-world applications
Tools and Utilities
Package Repositories
Primary repository for Kotlin and JVM libraries.
- Official JetBrains libraries
- Third-party packages
- Version history
- Dependency information
Build GitHub repositories as Maven dependencies.
- Automatic builds
- No manual publishing
- Easy integration
- Version tags support
Online Compilers
Official online compiler.
- No setup required
- Share snippets
- Multiple targets (JVM, JS)
- Built-in examples
Alternative online compiler.
- Quick testing
- Multiple language support
- Save and share code
- Simple interface
Code Snippets and Examples
Official example repository.
- Various project types
- Build configurations
- Framework integrations
- Best practices
Curated list of Kotlin resources.
- Libraries organized by category
- Articles and tutorials
- Tools and plugins
- Community projects
Official Social Media
Official X account.
- News and updates
- Community highlights
- Event announcements
JetBrains LinkedIn page (creators of Kotlin).
- Professional network
- Job opportunities
- Company updates
Official Facebook page.
- Community posts
- Event information
Contributing to Kotlin
Kotlin compiler and standard library source code.
- Report issues
- Contribute code
- Review pull requests
- Read design documents
Kotlin Evolution and Enhancement Process (KEEP)
Language evolution proposals.
- Feature proposals
- Design discussions
- Community feedback
- Implementation status
Official coding conventions.
- Naming conventions
- Formatting rules
- Best practices
- Idiomatic code patterns
Platform-Specific Resources
Kotlin/JVM
Using Kotlin with Java code.
- Calling Java from Kotlin
- Calling Kotlin from Java
- Nullability annotations
- Platform types
Kotlin/JS
JavaScript platform resources.
- Browser and Node.js
- npm integration
- React wrapper
- JavaScript interop
Kotlin/Native
Native platform resources.
- iOS development
- Cross-platform mobile
- C interop
- Memory management
Kotlin Multiplatform
Kotlin Multiplatform Documentation
Sharing code across platforms.
- Common code
- Platform-specific implementations
- Expect/actual mechanism
- Target platforms
Learn More
Comprehensive Learning Path:
- Initial Setup - Get started with Kotlin
- Quick Start - Overview of key features
- Beginner Tutorial - Comprehensive fundamentals
- How-To Guides - Problem-solving guides
- Cookbook - Practical recipes
Reference Materials:
- Cheat Sheet - Quick syntax reference
- Glossary - Kotlin terminology