Jonas Helming, Maximilian Koegel and Philip Langer co-lead EclipseSource, specializing in consulting and engineering innovative, customized tools and IDEs, with a strong …
Eclipse Theia in Practice: Getting Started and Lessons from the Field
July 2, 2026 | 4 min ReadWant to build a modern, AI-native tool or IDE? At Open Community Experience 2026 (OCX26) in Brussels, we gave a practical, experience-driven talk on Eclipse Theia: what the framework is, how to get a tool running, and where teams actually struggle once they move from a prototype to a shipped product.
The full recording is now available:
A Framework, Not a Product
The talk starts with positioning. Theia is a framework for building web-based and AI-native IDEs and tools. The Theia IDE is one product built on it, but the point of the framework is that you can assemble your own tool from extensions and control both frontend and backend behaviour.
The architecture is straightforward: a browser-rendered frontend and a Node.js backend, connected over an RPC layer, with Electron as an option for desktop packaging. Frontend and backend each hold an Inversify dependency-injection container, which is where Theia extensions and their dependencies are wired in. The talk also addresses a recurring forum question: Theia is not a VS Code fork. Everything is open source, governance sits with the Eclipse Foundation, and you can customise far more than VS Code’s predefined extension points allow.
Getting Started
Getting a Theia application running needs less than people expect: npm, a single configuration file listing your target and dependencies, and the Theia CLI to build and run. Behind that, the CLI does a bit of source generation. It collects the modules declared by each extension, bundles frontend and backend with webpack (with an ongoing move to esbuild), and produces a runnable application.
Lessons from the Field
Most of the value of the talk is in the production lessons. A few of the points made:
- Budget for the ramp-up. Teams migrating from older desktop tooling often have little web background. Dependency injection with Inversify, frontend frameworks, and Node.js backend patterns all take time to learn.
- Remember it is just a web app. A widget hands you a DOM node and you can render whatever you want into it. On the backend you get the Express server and can add routes and services. The framework looks heavy, but the model underneath is plain.
- Extend through contribution points, not patches. Contribution points are stable and rarely change. Rebinding via dependency injection covers nearly everything else, and patching core is almost never necessary. When you do rely on a rebind, treat it as a contract that can change, and consider upstreaming the improvement instead.
- Keep frontend and backend talking over the RPC layer. Bolting on extra communication channels for an integrated tool adds ports to manage and surprises in your architecture. The built-in RPC connection brings lifecycle management, buffering, and replay, and in one measured case it was actually faster than a custom channel.
- JavaScript is single-threaded. Avoid blocking the startup path or re-rendering too often, and remember that heavy backend work can stall the frontend too.
The talk also covers the parts Theia leaves to you (installers, update delivery, deployment pipelines), with Theia Cloud and the Theia IDE repositories as open-source references. It gives a soft recommendation for mono-repos over multi-repos, walks through the monthly and three-monthly community release cadence.
Theia or VS Code Extensions?
When should a feature be a Theia extension and when a VS Code extension? The honest answer is that it depends. Use a VS Code extension when you need the same feature in VS Code or runtime extensibility. Be aware of the cost: a separate build, a more complex architecture, delayed startup, and webviews that are heavy and slow because everything has to be bundled and reloaded behind an iframe. The upside is that moving from a VS Code extension to a Theia extension later is straightforward.
For the full walkthrough, including the live demo and the Q&A on dependency management, rebinding, and migration paths, watch the recording.
Want to Build Something Like This?
If your team is evaluating Theia for a new tool, an AI-native IDE, or a migration away from an older RCP application, we’d love to help. We do this for a living:
👉 Tool and IDE Development based on Eclipse Theia: building custom IDEs and domain-specific tools, with or without AI.
👉 AI-Native Tool and IDE Development: design and implementation of custom AI agents, capabilities, and workflows on top of Theia AI.
👉 Web and Cloud-based Tools: migrating existing desktop tools to modern web technologies.
👉 Contact us to discuss your use case.
💼 Follow us: EclipseSource on LinkedIn
🎥 Subscribe to our YouTube channel: EclipseSource on YouTube
Stay Updated with Our Latest Articles
Want to ensure you get notifications for all our new blog posts? Follow us on LinkedIn and turn on notifications:
- Go to the EclipseSource LinkedIn page and click "Follow"
- Click the bell icon in the top right corner of our page
- Select "All posts" instead of the default setting