Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Integration of Web-based GO IDE #116

Open
Secarian opened this issue Feb 2, 2023 · 9 comments
Open

[Feature Request] Integration of Web-based GO IDE #116

Secarian opened this issue Feb 2, 2023 · 9 comments
Labels
enhancement New feature or request

Comments

@Secarian
Copy link
Contributor

Secarian commented Feb 2, 2023

Problem description:
The current process for writing and testing small code snippets within the ArozOS environment is not user-friendly.

Desired solution:
I request the integration of a web-based IDE for GO, such as Wide, as a standard package in the ArozOS project. This integration would allow users to easily write and test GO applications within the ArozOS interface, making the development process of new apps simpler and more accessible, especially for beginners. The ability to export finished installation packages directly from the IDE would further streamline the development process.

Considered alternatives:
No alternatives have been considered.

Additional context:
Currently, there is no simple way to create apps and installation packages in the ArozOS environment. The integration of a standard IDE, such as Wide, would provide this functionality and result in a significant improvement in user-friendliness. Furthermore, it could allow for the integration of a custom installation package format, enabling the creation, detection, and handling of installations using a custom file extension recognized by ArozOS.

@Secarian Secarian added the enhancement New feature or request label Feb 2, 2023
@markusbkk
Copy link

I was tinkering with that idea a while back.
Personally, I think something like VSCode would be a good option too. Since it's already widely adopted, has a decent plugin architecture, support for many programming languages and is somewhat straightforward to embed.

Don't get me wrong. Wide looks nice, too (and some of the code might help with embedding any other editor into ArozOS. I'm thinking a generalized API) but it seems focused on Go development (not necessarily the target audience for those using ArozOS as clients) and isn't nearly as battle tested as VSCode.

@yeungalan
Copy link
Collaborator

yeungalan commented Feb 3, 2023

Hi! do you guys tried code studio in arozos?
This web app behaves like VSCode and probably fits your need

Here is the Code Studio IDE screenshot :)
image

@markusbkk
Copy link

Hi! do you guys tried code studio in arozos? This web app behaves like VSCode and probably fits your need

Here is the Code Studio IDE screenshot :) image

Yea. I saw that. I had some issues opening and saving files, AFAIR.
I think this is also not based on the current VSCode embedding strategy, although I might be wrong.

@tobychui
Copy link
Owner

tobychui commented Feb 3, 2023

Yes, this is technically only the Monaco Editor part of the VScode but not the whole eco-system that most of the VScode user used to.

And for @markusbkk 's issue, some minor functions of this editor is still work in progress and still waiting for the go compiler integration. My goal was to provide most basic Go IDE support so developers can develop and compile ArozOS inside ArozOS.

@markusbkk
Copy link

Yes, this is technically only the Monaco Editor part of the VScode but not the whole eco-system that most of the VScode user used to.

And for @markusbkk 's issue, some minor functions of this editor is still work in progress and still waiting for the go compiler integration. My goal was to provide most basic Go IDE support so developers can develop and compile ArozOS inside ArozOS.

Thought so. There's actually a more complete VSCode integration that also supports some of the plugins and themes.

@markusbkk
Copy link

@tobychui

AFAIK, this one is more "proper" now. It's similar to how Microsoft implements their own online code editor on GitHub.

https://github.com/Felx-B/vscode-web

@tobychui
Copy link
Owner

tobychui commented Feb 6, 2023

@markusbkk

Integrating another web-based webapps not something hard to do. The current issue is how to integrate it while keeping file system sandbox and user isolation in place, with expected supports for future cluster architecture expansion.

It is relatively easy to integrate it (vscode-web from Felx-B) into your instance of ArozOS if you are using it in a one-person per host settings. However, if you are hosting it for multiple users with different storage pool configurations (which I design this system for this particular purpose), it is really hard to perform a proper & flexible integration without an expert who is experienced with container technology contributing to this project.

Though, I personally love the idea to run 3rd party apps without any glue-code and modification to the original app, "subservice apps" are currently the closest we have.

@markusbkk
Copy link

@markusbkk

Integrating another web-based webapps not something hard to do. The current issue is how to integrate it while keeping file system sandbox and user isolation in place, with expected supports for future cluster architecture expansion.

It is relatively easy to integrate it (vscode-web from Felx-B) into your instance of ArozOS if you are using it in a one-person per host settings. However, if you are hosting it for multiple users with different storage pool configurations (which I design this system for this particular purpose), it is really hard to perform a proper & flexible integration without an expert who is experienced with container technology contributing to this project.

Though, I personally love the idea to run 3rd party apps without any glue-code and modification to the original app, "subservice apps" are currently the closest we have.

Oh. I absolutely understand this. I was talking solely from the JS frontend side. Obviously, things like the FS driver still need to be specialized.

@Secarian
Copy link
Contributor Author

Secarian commented Feb 6, 2023

@markusbkk

Integrating another web-based webapps not something hard to do. The current issue is how to integrate it while keeping file system sandbox and user isolation in place, with expected supports for future cluster architecture expansion.

It is relatively easy to integrate it (vscode-web from Felx-B) into your instance of ArozOS if you are using it in a one-person per host settings. However, if you are hosting it for multiple users with different storage pool configurations (which I design this system for this particular purpose), it is really hard to perform a proper & flexible integration without an expert who is experienced with container technology contributing to this project.

Though, I personally love the idea to run 3rd party apps without any glue-code and modification to the original app, "subservice apps" are currently the closest we have.

I think we should have such a fallback mode that allows simple WebApps to run in a local layer.
Just try to follow me on the thought journey.
If we dream ArozOS to the end then at some point there is still the question of a rudimentary client OS to provide basic features like running applications on the client with a bad internet connection, listening to music, sending mails while sitting in the subway or on the plane. So we need either a specific client app layer that has the ability to migrate specific containers of apps in real time to a mobile version of ArozOS that runs on a cell phone, or some other mechanism to ensure that network instabilities don't either prevent the user from doing their job or, in the worst case, ruin the experience.

@Secarian Secarian changed the title [Request for Integration of Web-based GO IDE] [Feature Request] Integration of Web-based GO IDE Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants