Maarten Balliauw
Building a Friendly Kotlin SDK to Connect to JetBrains Space
#1about 1 minute
An introduction to building a friendly SDK for an API
The talk will cover the process and technology behind the Kotlin SDK for JetBrains Space, focusing on code generation and developer experience.
#2about 7 minutes
An overview of the JetBrains Space integrated team environment
A tour of core features in JetBrains Space, including dashboards, calendars, Git repositories, issue tracking, and chat, shows how they are all integrated.
#3about 6 minutes
Exploring the extensive Space HTTP API via the playground
The API playground provides a way to discover all available endpoints and learn how to shape responses using the `fields` query parameter.
#4about 3 minutes
Why code generation was chosen for the SDK
Handcrafting the SDK was impractical due to the API's large size and frequent changes, leading to the decision to use custom code generation.
#5about 7 minutes
Powering code generation with a custom metadata API
A dedicated API endpoint exposes the entire internal schema of Space, providing a rich metadata model for generating type-safe DTOs and enums.
#6about 3 minutes
Using KotlinPoet for a model-based generation approach
The KotlinPoet library enables a safe, model-based approach to code generation, which prevents common errors and ensures well-formatted output.
#7about 4 minutes
Designing the SDK for discoverability and ease of use
The SDK's structure mirrors the API playground and provides a strongly-typed builder for selecting response fields, improving developer experience.
#8about 6 minutes
Improving usability with a DSL and factory methods
Manually crafted features like a chat message DSL and factory methods for identifiers are built on top of generated code to simplify common tasks.
#9about 1 minute
Key takeaways on building a user-friendly SDK
A summary of how code generation combined with a focus on developer experience can create a powerful and discoverable SDK for a large API.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:18 MIN
Exploring the platform's technology stack and architecture
Shared mobility for everyone!
02:08 MIN
Creating effective developer tooling and SDKs
The ABC of DX
09:59 MIN
Implementing a developer portal with Spotify Backstage
Building Developer Experience - Brick by Brick
04:35 MIN
How to build applications on the Bluesky platform
Building Bluesky as a Platform - Eric Bailey
00:56 MIN
Using SDKs for optional fine-grained in-code control
Keymate – Modern Authorization for Developers
01:50 MIN
Creating a seamless developer experience for network APIs
Code meets connectivity - Developers as the powerhouse of Network API innovation
02:50 MIN
Q&A on tooling, support, and empathy in tech
The ABC of DX
01:56 MIN
Implementing tools to enhance the developer workflow
Next Level Enterprise Architecture: Modular, Flexible, Scalable, Multichannel and AI-Ready?
Featured Partners
Related Videos
Give your build some love, it will give it back!
Amanda Martin
Route from Java to Kotlin
Christian Woerz
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
Kotlin Multiplatform - True power of native code reuse
Petar Marijanović
OpenAPI meets OpenAI
Christopher Walles
WeAreDevelopers LIVE: What's happening to React?, All-in-one editors, Fireships and Firebases & more
Chris Heilmann & Daniel Cranney & Tejas Kumar
ChatGPT and Java: A Match Made in Heaven or Hell?
Jakov Semenski
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.




Saby New Compy
Bielefeld, Germany
Intermediate
Java
Docker
Kotlin
Groovy
Node.js
+2

Aufmaster GmbH
Frankfurt am Main, Germany
Intermediate
Senior
GIT
Kotlin


Uniwunder GmbH
Dresden, Germany
Intermediate
Senior
Java
Kotlin

PROSOZ Herten GmbH
Herten, Germany
Junior
Intermediate
Senior
Java
Scrum
Kotlin
Microservices
