8 ms·
Theia – One IDE for Desktop and Cloud
- 0xCMP 9y agoHow 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 9y agoFrom the comments secction in the article from Sven Efftinge : " The IDE in Eclipse Che can only run in browsers and in the context of a Che workspace server but not standalone as a desktop app. Our customers need a solution that can be hosted from containers, similarly to Che but also run as standard desktop apps, similar to the traditional Eclipse IDE. So Theia aims at both desktop applications as well as cloud applications. That said, to me the sweet spot of Eclipse Che is not its IDE, but the workspace management. We are in close collaboration with Eclipse Che developers to make sure that Theia can be used within Che. "
- hexa00 9y agoAlso the motivation is to make an opensource IDE that's not managed by one company in particular like vscodeµsoft 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.
- deleted 9y ago[deleted]
- bd82 9y agoSome more information in this interview: https://jaxenter.com/theia-ide-efftinge-interview-134467.html https://jaxenter.com/theia-ide-efftinge-interview-134467.htm...
- michaelbuckbee 9y agoI 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.
- swsieber 9y agoI think the second, because of this line from the article: "So you would build one application and run it in both contexts. Theia even supports a third mode, which is a native desktop app connecting to a remote workspace." Which implies the browser version is connection to a remote workplace by default.
- hexa00 9y agoIt's the latter, the backend process (that exposes the filesytem etc) can be anywhere and the frontend (browser or electron) will connect to it over tcp. How you setup vms/docker or something is up to you however as long as the theia backend (nodejs) can run in it.
- simark1 9y agoThere'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.
- tbirdz 9y ago
- colemickens 9y agoI 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 9y agoThat'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 9y agoYeah, that's what I'd deduced. Leveraging full VS Code has advantages though, in terms of an already existing, large ecosystem.
- bearjaws 9y agoCall me when its a good as Webstorm.
- stephenr 9y ago> 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 9y agoThe 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...
- stephenr 9y agoJetBrains apps look & behave mostly native on macOS. There are some discrepancies, but they're pretty close. Building the entire UI in a webview means you're never going to get platform integration. No standard menu bar, no services integration, no remapping menu shortcut keys, no automatic "find command" in the Help menu. Edit: s/look/look & behave/
- hexa00 9y agoThat's not entierly true since Electron provides native elements like menus for example. We can hope Electron will get better at a native experience and can contribute to that too. See https://electron.atom.io/docs/tutorial/desktop-environment-integration/ https://electron.atom.io/docs/tutorial/desktop-environment-i...
- TeMPOraL 9y ago> 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 9y agoI 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...
- romanovcode 9y agoThis 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 9y agoWell you're wrong, you can't run VS Code on the cloud.
- romanovcode 9y agohttps://microsoft.github.io/monaco-editor/ https://microsoft.github.io/monaco-editor/
- hexa00 9y agoTheia is using monaco. But there's other reasons for Theia too like the governance of the project, vscode is controlled by Microsoft and they may have conflicts when lets say some feature would compete with their visual studio offering. Theia wants to be free from those problems.
- mixedCase 9y agoNot "may", it's already happened. There's two versions of VS Code, the "official" one and "Visual Studio Code - Open Source", and the former contains proprietary bits that are kept that way so other people don't use it to compete with VS. Project Rider from JetBrains accidentally ended up including one of these bits unaware it was part of a proprietary license and had to remove the functionality that depended on it (CoreCLR debugging), later writing a new implementation to put the feature back in. This blog post by JetBrains includes a few more details: https://blog.jetbrains.com/dotnet/2017/02/15/rider-eap-17-nuget-unit-testing-build-debugging/ https://blog.jetbrains.com/dotnet/2017/02/15/rider-eap-17-nu...
- unsignedint 9y ago
- gourneau 9y agoThis 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 9y agoWhat's the difference between the two?
- hexa00 9y agoIt doesn't look like they offer an electron version like Theia does however. It would be possible I guess however.
- tooldepth 9y agoJupyterlab is really nice, too! A significant difference is that it is deeply integrated with jupyter notebooks. So it really targets data scientists working with jupyter. Theia is more general, by being a platform for all kinds of IDEs and tools. They could have built Jupyterlab on top of Theia but not the other way around.
- jameskegel 9y agoOh 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.
- ohstopitu 9y agoA 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.
- skrowl 9y agoHave you looked at Chromebook Plus or Pro? Much better browser, pen, and keyboard at less than half the price of iPad Pro + Keyboard + Pen.
- ohstopitu 9y agonot specifically the Chromebook plus/pro but I did try the Toshiba Chromebook when it first came out, and I was kinda disappointed - felt like a locked down version of Linux to be totally honest - and all in all, it suffers from all the same problems that my windows device faces anyway.
- cbhl 9y agoI 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.
- 9y ago
- ionised 9y ago> run as native desktop applications (using Electron) Native Electron? Isn't this an oxymoron?
- OtterCoder 9y agoI 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.