Sure, you could. But.
Obsolete model Little documentation No community & support
API didn’t age well Prevents best practices
Slide 11
Slide 11 text
Multiplatform
What about using Compose?
Slide 12
Slide 12 text
Compose Multiplatform
Supports Desktop
and iOS
and web
Slide 13
Slide 13 text
Supports Desktop
(and iOS and web)
Compose Multiplatform
Slide 14
Slide 14 text
Supports Desktop
(and iOS and web)
Works in the
IntelliJ Platform
Modern and
easy to use
Why isn’t it already being used?
Compose Multiplatform
Slide 15
Slide 15 text
Material Design?
Compose Multiplatform
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Not optimized for desktop
Not consistent with IntelliJ
Material Design?
Compose Multiplatform
Slide 20
Slide 20 text
Introducing
Jewel !
Slide 21
Slide 21 text
Jewel is a Compose for Desktop
implementation of the IntelliJ
New UI design system Int UI.
Built on Compose Foundation
Limited to desktop for now
Slide 22
Slide 22 text
Jewel is a Compose for Desktop
implementation of the IntelliJ
New UI design system Int UI.
Built on Compose Foundation
Limited to desktop for now
Check it out!
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
Jewel was born out a hackathon
at JetBrains, spurred by the
Toolbox team.
Slide 26
Slide 26 text
Jewel has three parts.
Slide 27
Slide 27 text
Jewel has three parts.
Core
Foundation (components, styling primitives)
Int UI theme
Standalone theme of the IntelliJ New UI
Swing bridge
Bridge to the IntelliJ Platform for IDE plugins
Slide 28
Slide 28 text
needs special tricks
Running in the IDE
Slide 29
Slide 29 text
The Bridge™
Slide 30
Slide 30 text
How?
Mostly reverse engineering
Slide 31
Slide 31 text
How? Not trivial!
Mostly reverse engineering
Slide 32
Slide 32 text
How?
Not trivial!
Mostly reverse engineering
Replicate IJP magic
Slide 33
Slide 33 text
How?
Not trivial!
Mostly reverse engineering
Replicate IJP magic
Reuse over reimplement
Slide 34
Slide 34 text
How?
Not trivial!
Mostly reverse engineering
Goal: consistency
Replicate IJP magic
Reuse over reimplement
Slide 35
Slide 35 text
How?
Not trivial!
Mostly reverse engineering
Goal: consistency
Replicate IJP magic
Reuse over reimplement
Specs ! implementation
Slide 36
Slide 36 text
How?
Not trivial!
Mostly reverse engineering
Goal: consistency
“Swing compat” mode
Replicate IJP magic
Reuse over reimplement
Specs ! implementation
Slide 37
Slide 37 text
How?
Not trivial!
Mostly reverse engineering
Goal: consistency
“Swing compat” mode
Replicate IJP magic
Reuse over reimplement
Specs ! implementation
Slide 38
Slide 38 text
expect breaking changes
Whatever
Cancel
Warning
The Jewel library is not prod level yet.
Do you still want to use it?
Slide 39
Slide 39 text
expect breaking changes
Slide 40
Slide 40 text
expect breaking changes
No API stability yet Immature tooling
Missing features
Slide 41
Slide 41 text
Don’t run away yet!
Slide 42
Slide 42 text
Demo time!
Slide 43
Slide 43 text
Looking forward
Slide 44
Slide 44 text
Package Search
Slide 45
Slide 45 text
Studio Bot
Slide 46
Slide 46 text
Android Profilers
Slide 47
Slide 47 text
What’s happening
NOW
Piloting with several teams
Across JetBrains and Google
Working with IntelliJ Platform
Supporting Jewel and Compose for Desktop
Slide 48
Slide 48 text
What’s happening
LATER
Focus on core
Stabilize API, complete v1 catalog
Slide 49
Slide 49 text
How to get started
kotlinlang Slack
#jewel channel
GitHub
github.com/JetBrains/jewel
Slide 50
Slide 50 text
Why Jewel
Better DevEx Better UX
Modern language and ecosystem
Ability to iterate and debug faster
Higher UI fidelity and quality