Building a Friendly Kotlin SDK to Connect to JetBrains Space
What if an SDK could make a 700-object API feel simple? Discover the custom code generation and DSLs behind the developer-friendly JetBrains Space Kotlin SDK.
#1about 7 minutes
An overview of the JetBrains Space integrated team environment
A tour of the core features in JetBrains Space, including calendars, Git repositories, issue tracking, and deep chat integration.
#2about 6 minutes
Exploring the extensive and flexible Space HTTP API
An introduction to the Space HTTP API Playground and the powerful `fields` parameter used to customize API response shapes.
#3about 2 minutes
Why code generation was chosen for the SDK
The decision to use code generation is explained by the challenges of a large, evolving API surface where manual implementation or standard tools would be inefficient.
#4about 8 minutes
Building a generator from a custom API metadata model
The SDK generator is built upon a custom API endpoint that exposes the entire application's data model, including DTOs and enums, as structured JSON.
#5about 3 minutes
Generating type-safe Kotlin code using KotlinPoet
A look at using KotlinPoet for a model-based approach to code generation, which provides compile-time safety and better code quality over simple string templating.
#6about 7 minutes
Designing the SDK for a great developer experience
Key developer experience features are created through discoverable API mapping, a type-safe DSL for selecting fields, and custom builders for complex objects.
#7about 3 minutes
Practical SDK usage with live code examples
A code demonstration shows how to initialize the client, discover services, handle runtime errors for missing data, and use factory methods for identifiers.
#8about 1 minute
Key takeaways on building a friendly SDK
The talk concludes by summarizing how code generation and a focus on discoverability can create a successful and user-friendly SDK for a complex API.
Related jobs
Jobs that call for the skills explored in this talk.
The CAMARA Project: How Telcos Collaborating Improves Developer ExperienceEvery industry has friction points, but few have historically been as fragmented for developers as telecommunications. If you’ve ever tried to build something that interacts with mobile networks, you’ve quickly found yourself navigating a maze of dis...
Christina Schaireiter
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
From learning to earning
Jobs that call for the skills explored in this talk.