Building a Friendly Kotlin SDK to Connect to JetBrains Space
How do you make a massive API with 700+ objects easy to use? Discover the custom code generation and type-safe DSLs behind the JetBrains Space Kotlin SDK.
#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?
WeAreDevelopers LIVE days are changing - get ready to take partStarting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
Luis Minvielle
Developers share the most interesting tech they ever builtMost people's first thoughts about Hacker News revolve around venture capital, stock prices, company valuations, and $1499 dongles. But what if we told you that Hacker News could also be a place for pure, consummate, wholesome content that tackles ho...
Daniel Cranney
10+ Free Tools Built on Top of the Bluesky APIBluesky has been making waves recently, and the chances are you've heard the noise.Although it launched back in 2021, the platform saw a massive surge in popularity following the US presidential elections in November 2024, as millions of users withdr...