Sven, co-founder of Gitpod, here. I've published the message that Johannes, our CEO, shared earlier today with all our colleagues. It provides more details around this decision. https://www.gitpod.io/blog/building-for-the-long-run
HN user
lobo42
Please note that Arms's and Arduino's editors are not running in browsers (yet), but are downloadable desktop applications.
open-vsx.org only requires login for publishers. Downloading / installing extensions is done anonymously.
Theia is a platform to allow building desktop and browser IDEs, not a product in itself. You can use it through gitpod.io on any GitHub or GitLab project.
The strong emphasize on browser/cloud is because we believe we have finally built a browser-based IDE that is as good as the most popular desktop IDE (VS Code). Having solved that cloud based IDEs are going to be the normal in a couple of years and will naturally complete our devops pipelines.
See also: https://www.gitpod.io/blog/continuous-dev-environment-in-dev...
For adopters, i.e. organizations that want to invent something new on top of existing open-source code, there is a huge difference between the VS Code-kind of open-source where the project is still fully controlled by a single vendor and vendor neutral open-source. E.g. Kubernetes wouldn't be where it is if Google hadn't put it into a vendor neutral open-source foundation.
You can tell from the many adopters of Theia, that there is demand for this. You don't see such downstream products based on VS Code, because of the lack of vendor-neutrality and because it was not designed to be customizable (beyond extensions). Finally, the fact that you can develop your IDE once and run it in browsers and as desktop app is important, too. VS Code doesn't do that directly as VSO is private code.
We reengineered VS Code without altering the UX too much, because we love it as it is.
The problems we solved are: - making it easier to adjust beyond the standard extension model, which is great for language support but rather limiting for product designers - support browsers and on desktop (There is VSO but it is not open-source) - do all this under a vendor neutral open-source governance
Gitpod is open-source at core. I.e. we made the IDE completely open-source (https://theia-ide.org). I didn't know replit is open-source. Can you share a pointer?
The real killer app is not using an IDE in the browser but using disposable, automated dev environments. I've written a blog post about:
https://dev.to/svenefftinge/continuous-dev-environments-the-...
(Disclaimer: I work on gitpod.io which is similar to Visual Studio Online)
True. The team is heavily aligning for over a month now. Next release will give you the VS Code look & feel.
When we started the Theia project (theia-ide.org), we considered doing a large patch on VS Code as well. But we decided to go down a more sustainable approach by reusing the important building blocks from VS code (editor and vscode extension protocol) with stable APIs, because rebasing a large patch on a fast paced project is a PITA.
Theia is about to complete the VS Code extension support. At that point it will be the better option as it is architected to run in remote scenarios from the ground up.
Cool! We wrapped the VS Code extension in the protocol to support it in gitpod.io. See here https://github.com/theia-ide/go-language-server
Would be really awesome to use something maintained by the people who know Go best :)
Did anybody checkout xtend-lang.org? It's for sure better in terms of Java-interoperability and IDE plugins (Eclipse and IntelliJ) And it even has macros!!
From someone who compared MPS with Xtext : "2 days of work in MPS were recreated in 30 min using XText"
The second part of this InfoQ article features a getting started on Xtend and Android: http://www.infoq.com/articles/unusual-ways-to-create-a-mobil...
But I don't think this is the answer. If you debug Scala on Android at least you don't have to make a mental mapping of what the corresponding Java translation of your function would look like.
Again, this is also not the case with Xtend. See this screencast : https://vimeo.com/38425995
Kotlin for instance doesn't support something similar to active annotations aka compile-time macros. This is a very powerful concept. Here's an example of an annotation from the Xtendroid project (https://github.com/tobykurien/Xtendroid/blob/master/examples...)
Debugging Xtend is straight forward. On a normal JVM you can even switch between generated Java and original Xtend source during debug, depending on what level you would like to step through. On Android you need to decide using a compilation flag whether you want to step through the generated Java or the original Xtend source. This is because Dalvik doesn't support JSR-45 which Xtend uses by default. So it basically just works.