
Theia – One IDE for Desktop and Cloud - bd82
https://typefox.io/theia-one-ide-for-desktop-cloud
======
0xCMP
How does it compare to existing versions of this like Eclipse Che or Cloud9
(c9.io)?

I don't see the motivation they had to build this other than they wanted
support for YANG right? I'd want to see their motivation behind taking on such
a big project

~~~
hexa00
Also the motivation is to make an opensource IDE that's not managed by one
company in particular like vscode&microsoft or atom&github...

The end goal is to have something that has its governance managed by a
fondation and that multiple entities can contribute to.

So don't think of it as typefox taking this on their own they're not alone and
more contributors will get involved.

------
stephenr
> Electron

Sorry, but no.

If I'm going to run a resource heavy VM rather than a platform-native app, I
may as well just keep using IDEA on JVM.

~~~
hexa00
The problem with the JVM is that the UI toolkits are dying or died already.
Having the web as UI layer brings much benefit and reduces the investement
needed in the UI.

IDEA will most likely hit that problem at some point also...

~~~
TeMPOraL
> _The problem with the JVM is that the UI toolkits are dying or died
> already._

Wait, what? I'm pretty sure native UI toolkits are holding up fine. They did
fall off the hipster train, true, but that doesn't mean they're dying.

On JVM, maybe it's time to retire Swing, but JavaFX is alive and kicking.

~~~
hexa00
I could be wrong but I don't see JavaFX as alive and kicking... Especially
compared to web technologies. And it's tied to Oracle pretty much...

------
michaelbuckbee
I realize it's super early, and this look interesting, but I'm unable to
figure out if "cloud" in this case means:

\- Runs in a Browser for the purposes of editing files locally

or

\- Runs in a Browser and we have a whole backend way of spinning up a
VM/Docker/something for you to do things with as well (The new defunct
[https://www.nitrous.io/](https://www.nitrous.io/) did this so you could do
things like remotely run pg, your Rails stack, etc.)

Both are good/bad for different reasons, mostly just curious.

~~~
simark1
There's nothing that prevents you from doing the first one, if for some reason
you prefer working in the browser rather than in some Electron application.
For fully local scenarios, it is expected that it will be able to work like a
standard editor: you just launch it and work, you don't have to be aware of
this frontend/backend separation.

The use case I am interested in is the following: at my company, code has to
stay on central servers/infrastructure, you shouldn't clone it on your laptop.
The only choices to work are either a graphical editor through a remote X
session or a terminal-based editor, both having important shortcomings. Having
a complete IDE (electron or browser) that edits files remotely be really nice
in that situation.

~~~
rapala
It's off-topic, but I just have to ask. Why? Why would local copies be
disallowed?

~~~
hexa00
To prevent someone to copy it all on a laptop and sell it for example.

~~~
TeMPOraL
That's completely ridiculous (and, unfortunately, also completely plausible
with companies) - see the so-called "analog hole" (or in this case even
digital - if it hits the browser as textual content).

~~~
simark1
There is still a big difference in terms of attach surface between a complete
repo cloned in /home/$USER and some transient partial information that is gone
(in theory) once you close the application/browser, so I don't see why it's
completely ridiculous.

------
ionised
> run as native desktop applications (using Electron)

Native Electron? Isn't this an oxymoron?

------
gourneau
This looks very nice!

Just wanted to join out that JupyterLab (in alpha now)
[https://github.com/jupyterlab/jupyterlab](https://github.com/jupyterlab/jupyterlab)
also uses PhosphorJS and aims to be a IDE in the browser as well.

~~~
johndevor
What's the difference between the two?

~~~
hexa00
It doesn't look like they offer an electron version like Theia does however.

It would be possible I guess however.

------
bearjaws
Call me when its a good as Webstorm.

------
ohstopitu
A while back I was considering getting an iPad pro as my primary device
(during travel, commute, time pass etc.) because I really wanted a light
device that did the following:

1\. Pen support (it's so much more natural when mind mapping ideas for
projects)

2\. Great App Support (this kinda made me drop windows as the app store on
windows is terrible)

3\. A device to develop on (so I could run something along the lines of
docker, node etc.)

4\. Awesome battery life

I felt that the iPad did 3 of my 4 asks, and I considered using mosh + vim to
code in the cloud. However, my vim skills are "meh" at best.

Currently I'm using a cheap windows device (a $500 Asus laptop) and it does
not do any of the things I wanted perfectly.

This project appears to change that, because I feel that it won't be too far
out of the way to consider getting a native iPad app for such an editor that
did everything in the cloud.

~~~
cbhl
I love tablet hardware -- I remember using the second-generation iPad when it
came out, and I have a Pixel C now. But the software just isn't there; it's
not general purpose, and you end up with a lot of crippled mobile apps that
are shadows of the Desktop equivalents. Plus you can't type the symbols that
coding wants {}[]();

I'm really hoping that will get better next year, with Chromebooks that can
run Android apps, the 12" USB Type-C Macbook, as well as Windows x86-on-ARM
emulation.

~~~
ktta
You can always use a bluetooth keyboard to solve the obscure symbol problem.

~~~
s73ver
I would think that using a bt keyboard would be an absolute requirement if you
were planning on doing a lot of coding on a tablet.

------
romanovcode
This clearly uses many parts of VS Code source code. So the question is - why
bother creating another inferior to VS Code editor?

AFAIK you can run VS Code on cloud without problems since it's Electron to the
core.

~~~
oelang
Well you're wrong, you can't run VS Code on the cloud.

~~~
colemickens
It's not full VS Code, but the shell certainly runs in the browser, along with
the editor, and auto-complete, etc.
[https://news.ycombinator.com/item?id=14259463](https://news.ycombinator.com/item?id=14259463)

I have a comment elsewhere in this thread imagining a headless VS Code with a
remote UI in the browser. Would get you something close to Theia with the full
VS Code ecosystem.

~~~
tooldepth
Vscode's architecture is not fit for that, as it runs additional node
processes (e.g. the extension host process) that are chatting with the
renderer process on a very fine-grained level.

~~~
colemickens
Interesting. This is possibly too late to get a response, but can you give me
any more detail? What constitutes chatty? What IPC mechanism? Is it just that
the API for extensions is so wide open?

And still, do those things prevent something else from synchronizing UI state?
Completely let VS Code run normally, even with a fake X server if I need...
and then another extension that just syncs the current state of each UI panel
to an emulated one in browser?

Anyway, sounds like you've thought this through or see obvious holes... I'd
really like to understand more of why it's unworkable, or how it could be
doable with other compromises. Thanks in advance.

------
OtterCoder
I have exactly zero interest in a cloud based IDE. If I'm writing code for
clients, and I want it accessable remotely, I'm darn well going to host it on
servers I control.

------
colemickens
I saw this a few months ago and have played with Che. I can't stop imagining a
headless VS Code running somewhere in a container, with a remote web UI (the
VS Code UI already is easy to run in browser, see what the SourceGraph folks
are doing, or this Theia is using VS Code components as well).

But, I don't do much GUI / client-side work, so I don't know if such a thing
is feasible at all.

~~~
hexa00
That's what you can do with Theia, a backend (headless Theia) running anywhere
and you connect via remote web UI or an electron app.

Theia does use some vscode components like the LSP or the json-rpc lib, but it
is NOT a repackaged vscode. It is it's own IDE unlike Sourcegraph I think

~~~
colemickens
Yeah, that's what I'd deduced. Leveraging full VS Code has advantages though,
in terms of an already existing, large ecosystem.

------
jameskegel
Oh wow this is cool! I'm going to try this out on my remote server I use with
my chromebook; this is just the app I've been looking for.

