Porting D3.js to Kotlin Multiplatform
summary
D3.js is ported to Kotlin Multiplatform as a canvas-based library with JS JavaFX and Android renderers, 40,000 lines of library code and 12,000 lines of tests, and 95% common code across platforms. Platform gaps are handled by common data model renderers and small platform adapters; rendering tests use Puppeteer screenshots and pixel diffs to catch anti‑aliasing differences. Version 0.7 ships Android support, a high‑level charting DSL sits on top, and iOS and an event API are planned.
AI-written summary · about
chapters (11)
- 0:00Project inspiration
- 2:35Porting d3.js to kotlin
- 4:45Library capabilities
- 6:46Isomorphic development
- 9:46Improving the api
- 14:06Platform binding
- 16:06Internal architecture
- 23:36Platform api alignment
- 26:27Testing strategies
- 31:06Project status
- 33:57Charting library
related talks
35mBuilding a DataViz Multiplatform library with Kotlin
49mLet's Build a Cross-Platform 3D Engine with Kotlin/Multiplatform
47mMultiplatform Kotlin in 42 minutes
06m3 platforms in 5 minutes with Kotlin
45mFrontend Kotlin from the Trenches
34mKotlin Multiplatform: code sharing without compromise
38mA Kotlink between worlds
36mExploring Kotlin Multiplatform
