
Theia: Cloud and Desktop IDE - jankeromnes
https://theia-ide.org/
======
jtdev
Theia developers: The Eclipse brand in the IDE/code editor world is toxic to
many developers; You may want to disassociate Theia from Eclipse if you’re
hoping for wide usage or pulling devs away from VS Code.

~~~
leejoramo
While I understand your point about “Eclipse”, as a long time open source web
developer, macOS user who has had to work at times with Microsoft servers, I
did not think the best of “Visual Studio”

Now I spend much of my day in Visual Studio Code.

~~~
jefft255
I worked professionally with VS doing Windows app development in C++ and I
found it super powerful, especially for handling our 20 years old gigantic
codebase. I don't get the hate, and I spend most of my days in Emacs nowadays
(doing more research-y coding). Yes, it's huge, but it's huge because it is
full of powerful tools for developers.

~~~
skrtskrt
I think hate for giant IDEs & their corresponding resource consumption will
generally come from devs who don't need all the features, or who have the
usage of the features forced on them by their org when they may not be needed
or there are more lightweight alternatives outside the IDE.

It's kind of an even-more-resource-intensive Microsoft Excel - almost no one
needs all the features, but they all need a different subset.

------
garettmd
I think many people are missing the point that this doesn't appear to be a
finished product ready for developers to use. It looks like Eclipse's goal is
to make a foundation that others can customize for their purposes, building
off of what VSCode has already done.

That's not to say this is a good idea or not, but I think all the comments
asking "Why would anyone switch to this from VSCode" are missing the point.

~~~
core-questions
> I think many people are missing the point that this doesn't appear to be a
> finished product ready for developers to use.

It's absolutely a finished product, GitPod is the commercially available (and
white-label-able) version, people are productively using this today, including
using VSCode addons and writing their own.

> "Why would anyone switch to this from VSCode"

Imagine preparing a Docker image of everything reasonably needed in your dev
environment, and then giving your developers one click access to be totally
set up with company-standard configuration. The IDE goes from wild-west
everyone working their own way, to something that can be supported, where new
devs can be brought up to speed in days instead of weeks, something with real
consistency.

~~~
rubyn00bie
You ever see one VIM or Emacs user try to use someone else’s setup? I’d be
shocked if there were any productivity gains... this seems like something that
managers want to say but is disconnected from reality.

~~~
willberman
I made the mistake of recommending standardization of development tooling at
one point. Not one of my finer moments.

------
sz4kerto
I'd really loved this a few years ago; but now VS Code's "Remote" extension
helps most of my issues. It's just brilliant that I can do e.g. embedded dev
on a physical Linux box while running the IDE on Windows.

~~~
LeonM
Same here! I remember I found it such a pain that the embedded toolchains were
mostly exclusively for Windows. I dabbled around with cloud9 IDE for a bit,
but it wouldn't fit my workflow.

Nowadays the WSL basically made Windows my all-in-one development environment.
My stack is WSL, docker and Jetbrains IDEs (but the latter is just a matter of
personal taste). I haven't touched my Linux desktop in over a year.

Personally, for my workflow, I no longer see a benefit in running a cloud IDE.
But maybe that for junior or aspiring devs a cloud IDE will make it much more
easy to get started.

~~~
sz4kerto
WSL doesn't have access to USB device (well, you can make it work more or
less, but it's a pain). So the remote extension is great in this case.

~~~
LeonM
That is the point that I was trying to make: I used to work on Linux and
spinning up a virtual machine to run the Windows tools (USB was also a pain
with that).

But now, thanks to WSL I have turned that around. I now run Windows so I can
run the windows-only debuggers natively, and still have all the unix tools
available through the WSL CLI.

Admittedly I do not do much embedded development anymore, but I'm pretty sure
I could launch Windows ICD tools from the WSL CLI.

------
anilgulecha
We use this in Hackerrank for workflows for frontend/backend candidates. Theia
is a great web IDE, specially with it's LSP based autocomplete, and VSCode
compatibility.

You can try out this demo I put up: [http://hr.gs/theia-
demo](http://hr.gs/theia-demo)

When in the test, click on the top right: "Use the online Web-IDE" option to
see it. It'll be open for 20 minute sessions for the next day. If you see an
"cannot provision" error, it may be the rate limiter, so try post a couple
minutes.

~~~
songzme
Could you share a demo link where you are not forced to signup?

~~~
anilgulecha
It's something I quickly put together to showcase what's possible with Theia,
given we're actively using them. I'm not sure how to enable what you asked.

Youtube also has a few theia videos which could give you a similar idea on the
experience.

------
bb101
Contributors and adopters: <every large company but Microsoft>

Whilst it's healthy to have competition, I'm not sure a rip-off of VS Code is
in the spirit of open source. Did they try to work with the team at Microsoft
to improve VS Code before forking it?

~~~
jhasse
"Hey Microsoft, we're trying to improve VS Code by moving it over to a not-
for-profit corporation not under your control and completly removing the
Visual Studio brand. What do you think?"

~~~
core-questions
It's pretty fair considering Embrace, Extend, and Extinguish was the MS modus
operandi for decades and may yet be.

~~~
jhasse
I agree. Just wanted to point out why Microsoft wouldn't be on board.

------
Noxmiles
Is there an advantage VS Code? Any reason why a programmer should switch to
Theia if using vscode before?

I found on these 3 differences vs vscode on the website, but for a Desktop
programmer I see in these differences no reason to change.

"The most significant differences are: Theia's architecture is more modular
and allows for way more customizations, Theia is designed from the ground to
run on Desktop and Cloud, and Theia is developed under a vendor-neutral Open-
Source Foundation."

------
ksec
>Theia is developed under a vendor-neutral Open-Source Foundation.

Eclipse Foundation, IBM. When I was still doing Java the only good thing that
ever came out of Eclipse was proberly SWT. And I remember every single Eclipse
product they were competing with Sun's default option, and failed to gain much
traction.

So while Theia is Vendor-neutral and open source, I think Microsoft is a much
better bet on this one.

~~~
p2detar
I don't find this a fair thing to say.

Eclipse was/is de facto the standard IDE for Java and JavaEE development, not
to mention it was/is widely used as an IDE for C development. You can still
find prebuilt packages [0] that quickly get you off ground. I've built
commercial products with Eclipse RAP [1] that are still used today.
Eclipselink [2] for persistence is also a great tool. Eclipse EMF [4] for
modeling - and I've used that A LOT when building databases and model
structures for businesses.

I have since then moved to other languages and tools, but much of today's
software was made possible by the Eclipse team. And I thank them for all their
great work.

0 -
[https://www.eclipse.org/downloads/packages/](https://www.eclipse.org/downloads/packages/)

1 - [https://www.eclipse.org/rap/](https://www.eclipse.org/rap/)

3 -
[https://www.eclipse.org/eclipselink/](https://www.eclipse.org/eclipselink/)

4 -
[https://eclipsesource.com/technology/modeling/#emf](https://eclipsesource.com/technology/modeling/#emf)

(edit: added EMF)

~~~
ksec
>Eclipse was/is de facto the standard IDE for Java and JavaEE development

Was it really de facto? Didn't it lost to Netbeans? I remember there was some
rivalry between Netbeans and Eclipse ( along with many other things ) and in
the end many sided with Sun ( Netbeans ).

But that was a really long time ago so my memory may be a little fuzzy.

~~~
HelloNurse
Netbeans mostly evaporated along with Sun. In my experience, the only
advantage of Netbeans over Eclipse in its heyday was in development of
AWT/Swing GUI apps (for which IntelliJ and JBuilder were better options
anyway).

------
lsiunsuex
"Theia is designed from the ground to run on Desktop and Cloud"

Which means it's an Electron app - which means between this and Chrome, it
sucks down tons of ram and processing power.

Really hoping Nova from panic.com is as good as it looks / native MacOS app.

~~~
GordonS
This Electron-bashing is getting rather old - it's possible to write crappy
code on any platform.

Yes, some Electron apps are resource hogs, but many are not. VS Code is a
perfect example of how Electron can enable development of a _performant_ ,
cross-platform IDE.

~~~
abjKT26nO8
_> This Electron-bashing is getting rather old - it's possible to write crappy
code on any platform._

It's possible to write crappy code on any platform, but some platforms (like
Electron) make writing apps that don't suck impossible.

 _> Yes, some Electron apps are resource hogs, but many are not. VS Code is a
perfect example of how Electron can enable development of a performant, cross-
platform IDE._

All Electron apps are resource hogs, including VS Code. Just because Slack
made it a standard to ignore the fact that not everybody has loads of RAM and
that there are other apps running on the system, doesn't mean everybody's
standards of performance and UX should race to the bottom.

~~~
GordonS
I strongly disagree, and I have to question if you've actually used VS Code.

I use VS Code every day, and relative to it's capabilities, I think memory
usage is good. It also starts almost instantaneously, and is very snappy when
using.

~~~
odshoifsdhfs
I am not bashing on Electron, but I have seen slowdowns and memory hogging on
VS in large projects (Typescript). I end up restarting it every 3-4 hours to
get it back a baseline speed.

~~~
smcleod
You’re not at all alone, working across several teams of devs and infra
engineers people are always whinging about electron apps that eat up
resources, kill their batteries and slow down over time, slack and VSCode are
prime examples.

------
theboywho
There is a .vscode folder in the repository, suggesting they might not be
eating their own dog food yet but are actually using VS Code to develop Theia.

~~~
jchw
Or, possibly, that Theia is based on VSCode and uses the same config files. I
haven’t had a chance to try it yet (though I am interested!) but it looks like
a fork of VSCode visually: That certainly looks like Monaco editor and
somewhat similar to VSCode as a whole, down to apparently being compatible
with its extensions.

~~~
jankeromnes
You're 100% correct, Theia supports configuration via a .vscode/ directory,
because that seems to be a "standard" way to configure your IDE. (Before you
jump, yes it also supports EditorConfig).

Also, Theia indeed uses the Monaco editor, and various other open-source
components also found in VS Code. The developers of Theia and VS Code actually
collaborate on these.

And finally, Theia fully supports VS Code extensions. There is even an effort
to make this IDE extension format an open standard: [https://open-
vsx.org](https://open-vsx.org)

~~~
jchw
Thanks for showing me OpenVSX, I am now really invested in checking out Theia!
Going to be a real game changer for me if I can self-host this, will try it
out in Docker ASAP.

~~~
jankeromnes
You're welcome! And yes, both Theia and OpenVSX can be self-hosted. Please
report issues if something is unclear or doesn't seem to work.

------
throwaway8291
I've used Eclipse on and off and always found it to be a bit clunky. Unhelpful
error messages coming from the fifty layers of abstraction you did not know
about before.

Back in the days, I always preferred netbeans - it was just more of a product,
less of an exercise in object-oriented abstractionism.

Today, I am a happy user of vim (and vscode, if I need to) - I left behind the
heaps of design patterns, thankfully. What this feels like to me is a trying
to jump on a train, that's long gone.

~~~
lecunn
I don't understand your comment. What does the IDE Eclipse have to do with
Eclipse Theia?

~~~
gowld
People don't understand that one project can have more than one product.

~~~
Shywim
The same confusion exists between Visual Studio and Visual Studio Code.

Also, Eclipse Theia could be the name of the last version of the Eclipse Java
IDE since they named every major release of their IDE until recently.

Maybe they should have gone with Theia by Eclipse, or just drop the Eclipse in
the name altogether.

------
haolez
I've come to appreciate web IDEs a lot. It's nice to develop in an environment
where every computer with a web browser can be used as your workstation. It
restores the exact context that you left behind in your last session. And,
since it's usually hosted in big cloud providers, you have absurdly fast
internet connection. It's cozy.

However, I'm still evaluating managed solutions, since I'm not so motivated
anymore to self-host critical parts of my infra. AWS Cloud 9 is great, but it
doesn't integrate the editor with version control and Go support is lacking
there (the debugger is really clunky). I've tried GitPod (VSCode based)
recently and found it very stable and useful. Maybe I'll go with that.

An alternative setup for a web IDE for vim or emacs users would be, in my
opinion, an in-browser terminal hosted somewhere that gives you secure
authentication and access to your server. A big plus is to implement it in
such a way that the machine will turn on automatically when you access your
site-terminal, and auto shutdown if it remains idle for a period of time. This
makes it very cheap to host on big cloud providers, which usually charge a lot
for 24/7 machines. This feature is built-in on both Cloud9 and GitPod.

~~~
numbsafari
>An alternative setup for a web IDE for vim or emacs users would be, in my
opinion, an in-browser terminal hosted somewhere that gives you secure
authentication and access to your server. A big plus is to implement it in
such a way that the machine will turn on automatically when you access your
site-terminal, and auto shutdown if it remains idle for a period of time.

You basically just described cloud console in GCP. It's pretty slick.

I wouldn't use it as an all-day IDE, but it's more-or-less what you just
described.

~~~
haolez
Good to know! I've been willing to try using GCP more for my projects. Now I
have yet another reason :)

------
edraferi
See also: [https://coder.com/](https://coder.com/)

~~~
antoinexp
Indeed, and they have this tool [https://github.com/cdr/code-
server](https://github.com/cdr/code-server) which is pretty much like vscode
in a web browser launched through a potential remote server. Is Theia any
better?

------
brainless
Is it just me or did anyone else feel this was a VS Code on the web?

The UI reminded me more of VS Code than Eclipse (from when I last used it).

~~~
kienkien
Yes it is [https://microsoft.github.io/monaco-
editor/](https://microsoft.github.io/monaco-editor/)

------
cfv
What is Theia better for than Visual Studio code or Atom or any other of this
new trend of build-a-bear IDEs? I _like_ Eclipse and the Eclipse foundation
(hey, they rocked the whole IDE game back then, and make a decent one nowadays
too), but I cannot understand where this particular project sits.

~~~
jagged-chisel
In the browser. That's where it sits. VSCode does not.

~~~
cfv
Nothing prevents you from chucking [https://microsoft.github.io/monaco-
editor/](https://microsoft.github.io/monaco-editor/) on a random page tho. Is
the value add the fact that there's a server component behind it?

------
dang
This was discussed a few days ago:
[https://news.ycombinator.com/item?id=22738607](https://news.ycombinator.com/item?id=22738607),
although the submission was a press release.

A bit from last year:
[https://news.ycombinator.com/item?id=19466001](https://news.ycombinator.com/item?id=19466001)

A thread from 2017:
[https://news.ycombinator.com/item?id=14687858](https://news.ycombinator.com/item?id=14687858)

------
ianwalter
I would like to use gitpod but it doesn't let you configure the editor to your
preferences. Instead, it's project-based which I think is way less useful:
[https://www.gitpod.io/docs/config-editor/](https://www.gitpod.io/docs/config-
editor/)

------
Despacito2019
When I saw that it was actually called Eclipsed Theia, the first things that
come to my mind was some sort of java applet running eclipse in the browser.
It is actually better than what it sounds... Hopefully the can grow up on
their own outside of the eclipse foundation.

------
rlili
I want to try switching to Theia from code-server, since it seems to offer a
more polished web experience.

Unfortunately, I heavily rely on the VscodeVim extension, which doesn't work
in Theia because it hasn't implemented some commands like "editorScroll" yet.

------
qpiox
I wonder which truly free and open-source IDE is a good choice if you want to
be able to run it locally and develop in several languages - C, C++, Go, PHP,
Python, Jython, Ruby, Haskell, C#, Java, Kotlin, R, ...

------
tomppa
VSCode finally runs on *BSD!

------
gravypod
Is there anyone working on advancing CitCs in the open source space? Having
some work flow like that would really improve my productivity and the safety
of my code/deployment scripts.

------
thrownaway954
this thing looks so similar to (and dare I say, a blantant rip off of) visual
studio code that to me there is no reason to use this over visual studio code.
plus, may i state, that the second i saw eclipse i vomited in my mouth a
little. i've had such bad experiences in the past with the entire eclipse
family of editors that i just cringe when i even hear the word eclipse, which
is disheartening when lunar cycles are aligned.

------
dustingetz
What is the business model here? No sign of seed funding or anything like
that; technical leadership team

~~~
hestefisk
I think it looks like an open source project...

------
Yizahi
So it is also Electron based IDE just like VSC? What is the point in making
VCS copy then?

~~~
kienkien
They selling it

------
kjsingh
the only advantage this might give teams is remote workspaces. I don't think
any developer would set it as the default IDE on dev machine

------
kryptiskt
Looks like a complete rip-off of VS Code. They couldn't even bother to use a
different color scheme or icons?

~~~
soapdog
It is a IDE toolkit. You're supposed to use it to build your own as can be
seen in the "Arduino IDE Pro".

They've used monaco[1] which is the editor part of VS Code for their project
but Theia apparently is easier to work on a cloud and customize.

[1]: [https://microsoft.github.io/monaco-
editor/](https://microsoft.github.io/monaco-editor/)

