# The evolution of Figma's mobile engine: Compiling away our custom programming language

DevFeed: [The evolution of Figma's mobile engine: Compiling away our custom programming language](<https://devfeed.tech/articles/the-evolution-of-figma-s-mobile-engine-compiling-away-our-custom-programming-language-9713.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/figmas-journey-to-typescript-compiling-away-our-custom-programming-language/>)

Author: Brandon Lin

Published: 2024-05-01T00:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [async/await](<https://devfeed.tech/topics/async-await.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [figma](<https://devfeed.tech/tags/figma.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [migration](<https://devfeed.tech/tags/migration.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

## AI overview

Figma describes migrating its custom Skew programming language, used in parts of its mobile rendering architecture and playback engine, to TypeScript. The migration addressed onboarding, integration, ecosystem, and scalability challenges while becoming feasible through improved mobile WebAssembly support, reuse of C++ engine components, and increased investment in developer experience.

## Source excerpt

We've long written core parts of our mobile rendering architecture in Skew, the custom programming language we invented to squeeze additional performance out of our playback engine. Here's how we automatically migrated Skew to TypeScript without disrupting a single day of development.