DEV Community

Theia 1.0 - Finally a Good Browser IDE

Sven Efftinge on March 31, 2020

We are excited to announce Version 1.0 of Eclipse Theia, the vendor-neutral open-source IDE platform that runs in browsers and on desktops. ...
Collapse
 
abuassar profile image
Muhammad Assar

I couldn't easily find a single download link for theia instead of github page.

you need to make it effortless to download a ready binary package or installer for win/linux/mac if you seek to reach wide spread.

Collapse
 
akosyakov profile image
Anton Kosyakov • Edited

The easiest way to try Theia right now is by using Gitpod, you can start Theia from sources with: gitpod.io/#https://github.com/thei...

Please also upvote here for vanilla Theia installers: github.com/eclipse-theia/theia/iss...

Collapse
 
gksander profile image
Grant Sander

I get the impression that Theia isn't an IDE, but an IDE platform. E.g., a toolset for creating your own IDE. So you, as the user of Theia, would be the one creating a binary package for others to download.

Collapse
 
sergix profile image
Peyton McGinnis

It's not an application, it's a toolset/platform.

Collapse
 
daniejstriata profile image
daniejstriata

It is compared to VS Code, which is an application end-users can download and run. I fail to understand the distinction. Is a toolset not software that can be run in this context?

Thread Thread
 
sergix profile image
Peyton McGinnis

VSCode is intended as the end product, a full-featured IDE that's suited for virtually any project, but cannot be customized beyond theming and extensions.

Theia is not intended to be the end product. I suppose it can be, but Theia is an IDE platform for you to build and customize on top of.

For instance, let's say that you wanted an IDE that fully supports quantum computing languages and workflows such as Microsoft's Q# and some python libraries. Rather than starting from nothing, Theia provides a fully-equipped IDE for you to work with and customize however you want, since it's entirely open source. With VSCode, this simply isn't possible beyond extensions since it's closed source.

Thread Thread
 
stojakovic99 profile image
Nikola Stojaković • Edited

VSCode is open source.

github.com/microsoft/vscode

Collapse
 
lig profile image
Serge Matveenko

I felt the same. That doesn't matter, imo, that it's a platform. We need a generic IDE to try and then there will be wishes we would want to fulfill via building special flavored binaries.

Collapse
 
jigarshah profile image
Jigar Shah

docker run -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia

Thread Thread
 
lig profile image
Serge Matveenko

That's a possible way to try it in a desktop browser, I agree. But that not the way I would use an IDE on the desktop.

Collapse
 
akosyakov profile image
Anton Kosyakov
Collapse
 
shubhamsinha profile image
Shubham Sinha
Collapse
 
akosyakov profile image
Anton Kosyakov

Good point! For adopters we have example electron build setups:

Collapse
 
rdewolff profile image
Rom

+1000

Collapse
 
therealkevinard profile image
Kevin Ard • Edited

I'm 6 hours into my Theia studies, and so far: I'm completely blown-away by the potential of an IDE framework as compared to an IDE proper.

I'm trying very hard to slow myself down, but it's not working.

I envision a trillion things that should have been, but weren't.

Collapse
 
xgenvn profile image
Brian Ng

I feel the same when first time I hear about Theia. Same thing to JetBrains Opensource Platform and NetBeans platform.

Collapse
 
kayis profile image
K • Edited

"leveraging the largest and most active IDE-extension community on the planet"

By creating your own IDE-extension community?

I mean, the new extension registry won't mirror what's in Microsofts registry and require every extension creator to explicitly load things to the other one, or am I mistaken here?

Collapse
 
svenefftinge profile image
Sven Efftinge • Edited

As explained in the post, Microsoft disallows non Visual Studio products to use their marketplace. We are not creating a new community but rather an additional registry for the same community that allows access from anyone (including e.g. VSCodium).

Collapse
 
kayis profile image
K

I understand that.

It just seems to me that "creating a new marketplace and hoping extension creators will use it" is at odds with "leveraging the largest and most active IDE-extension community on the planet".

Don't get me wrong, I think your new open registry sounds like an awesome idea and I hope it works, but it seems like a very risky assumption to me.

Thread Thread
 
akosyakov profile image
Anton Kosyakov • Edited

RedHat, MS Azure, Elm, VMware, Pivotal claimed namespaces last week and started publishing: github.com/eclipse/open-vsx.org/is...

We are seeding the registry as well: github.com/open-vsx/publish-extens...

Spreading the word would be helpful.

Thread Thread
 
kayis profile image
K

cool, I will do :)

Collapse
 
maksimrv profile image
Maksim

First impression is very good. Thanks for such open source product 👍
It would be nice to see the documentation about how to properly plug own code for server/frontend. Currently it generate some source code and it’s not clear what should I modify if I want to customize server code.

Collapse
 
therealkevinard profile image
Kevin Ard • Edited

The product page has fair help, but the concepts were a little fuzzy to me at first. This kitchen-sink build (and others in the repo) shed some light, then the product page was much easier to wrap my head around.

github.com/theia-ide/theia-apps/tr...

(Backstory: I'm coming from Intellij, not vscode, so I was a TOTAL noob to the whole thing)

Collapse
 
akosyakov profile image
Anton Kosyakov • Edited

You can find some docs here: theia-ide.org/docs/composing_appli...
And follow this Theia workshop: github.com/TypeFox/theia-workshop

Any help with improving docs and workshop is welcomed!

Collapse
 
kchavellas profile image
Kichos Chavellas

The word "Theia" means "Aunt" or "Divine." As "aunt" doesn't make any sense, I assume the meaning is a divine application, facility, utility, etc. So far, so good. My question is, is it so much better than its competition to say it's divine?

Collapse
 
akosyakov profile image
Anton Kosyakov

The answer is in the logo. There are actually 3 things.

Collapse
 
biffbaff64 profile image
Richard Ikin

Theia is the Titan Goddess of Sight, that may have some bearing on it.

Collapse
 
shivayl profile image
_SHIVAYL_

This is nice!
Some years ago I was creating something similar, an IDE that supported extensions from multiple other IDEs and editors, but I soon abandoned the project because it was too much work to be doing it alone and for free.
Keep it up!

Collapse
 
jeanmoroni profile image
Jean-Armand Moroni

Too bad it is based on electron... which means huge memory and CPU consumption, like Slack or Microsoft Teams.
OK, it divides your development workload; but it multiplies our energy guzzling.
And I hate hearing my PC fans rotating like mad.

Collapse
 
akosyakov profile image
Anton Kosyakov

Use browser version, it does not have any electron dependencies. Or better use Gitpod :)

Collapse
 
cfandy profile image
Andy • Edited

@Anton Kosyakov,
Amazing works. Thanks!
I'm from eclipse EMF for a mouse heavy workflow modelling tool.
Two years ago, we developed a cloud-native solution from the stretch. It's a SPA IDE which can do exactly the same graphics modelling out of eclipse modelling framework, and we can do cloud execution. Now we are looking for an interactive debug solution for our project.
Shall we covert our whole project as a Theia plugin to leverage Theia or we can leverage only the coding and extension system of Theia? Previously, I'm looking for a solution based on code mirror and LSP, DAP.
Thanks in advance!

Collapse
 
akosyakov profile image
Anton Kosyakov

It should not be hard to leverage LSP and DAP. Theia is not opinionated about frontend framework. The basic UI element is a widget which is an HTML element with lifecycle hooks. If your current solution is built with JS tech then it should be possible to embed them in Theia widgets. If no then usually backend can be reused but frontend should be converted.

Here is a presentation from last year TheiaCon about how SAP converted their solution: youtube.com/watch?v=Rj35nCxw_9U You can see there are many approaches.

Here is on Theia Widget lifecycle: youtube.com/watch?v=T1HDIy7LfFg

Collapse
 
akosyakov profile image
Anton Kosyakov

Theia is an extensible IDE framework with cloud-first mindset not a patch to electron and VS Code source code to run it in a browser as code server. Theia does provide similar UX and compatible with VS Code extensions but relies on stable components and protocols like Monaco, LSP, DAP and vscode extension api. Besides it is vendor neutral and allow to build white labeled products like Gitpod, ARM Mbed Studio or Arduino Pro IDE.

Collapse
 
saint4eva profile image
saint4eva

Check visual studio online

visualstudio.microsoft.com/service...

Collapse
 
svenefftinge profile image
Sven Efftinge

Yes, that one is really good as well. But unfortunately not open-source and less extensible, so not so great for adopters.

Collapse
 
saint4eva profile image
saint4eva

Yes, visual studio online is extremely good, though the source code of the product is not in the open - some of the components of the product is open source. Monaco and VS Code are owned by Microsoft and they are open-sourced. There are a lot of extensibility points/ APIs, so you can extend it as you want. It is scalable and connects seamlessly with many source code repositories such as GitHub, Azure Repo etc. And connecting with VS Code is amazing - remote -connection, liveshare, better debugging experience and can handle massive workloads.

I would not understand what you meant by "not so great for adopters"? What do you mean by "adopters"?

Thread Thread
 
svenefftinge profile image
Sven Efftinge

I would not understand what you meant by "not so great for adopters"? What do you mean by "adopters"?

I mean other organisations and products who would invent new things on top of existing open-source code, i.e. using Theia as a foundation for their tools.

Collapse
 
philiphassialis profile image
Philip Alexander Hassialis

All nice and dandy but when can we hope to get a .msi / .exe package to download and put it through its paces and compare it with VSCode on the same scenarios?

Collapse
 
rdewolff profile image
Rom

In GitPod Theia is really pleasant to use. Looking forward testing it more.

Collapse
 
geeknextdoor profile image
GeekNextDoor

My name is Adrian Ndlovu, I am a university student in South Africa doing research on Eclipse Theia plugins and I can only find information on how to implement your own plugin but I cannot get information on already plugins already used and established that I can research on. Please help me with suggestions on how to go about this and possibly references to where I may be able to get help.

Collapse
 
nelsondesign profile image
Nelson-design

How can I download this IDE? I can't find the download link

Collapse
 
arby981 profile image
arby98

Great job

Collapse
 
fasani profile image
Michael Fasani

What is the link to upload a VSX addon to the open vs site?

Collapse
 
tharindu profile image
Tharindu Sathischandra

Is gitpod.io build on Theia?

Collapse
 
rdpravin1895 profile image
Pravin Kumar Damodaran

Will this make development in remote VM's easier? Didn't find this point in the github site.