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

GUI ? #70

Open
ghost opened this issue Jan 10, 2021 · 5 comments
Open

GUI ? #70

ghost opened this issue Jan 10, 2021 · 5 comments

Comments

@ghost
Copy link

ghost commented Jan 10, 2021

I am tiring you with my questions, but somethings can be made in this way:

How can i do GUI doing? or "making?"(but don't forget i am a little good at Nim)

I feeling this, GUI, is a component which really hard to make. Am i right about my concerns?

@h3rald
Copy link
Owner

h3rald commented Jan 10, 2021

Believe me, I did think about it. I would love to have a minimal UI toolkit to be included in min!

I am currently looking into potential candidates, but it is quite hard to find something that is:

  • sufficiently small, I don't want the size of the min executable to grow too much (OpenSSL was bad enough)
  • Cross platform, it must run at least on x64 Linux, Windows, and Mac OS X
  • Ideally have no dependencies and/or leverage existing native platform widgets

I was looking at something like mui, for example... basically it would be a matter of exposing the existing Nim API in min.

I also considered going the picolisp route: picolisp comes with a simple library that makes you write html code using native (lisp) syntax: https://picolisp.com/wiki/?guiscripting

The idea is then to serve it from a local web server running on localhost. As a matter of fact you could already build something like that with min now (I am experimenting building an API server, it seems to work enough). The only problem I have with it is... well, I have some security concerns. Running a web server locally with potentially unlimited access to the file system kinda scares me, but technically unless it is exposed in some way to the outside world (e.g. a reverse proxy) or someone gets access to localhost in some way it shouldn't be too bad.

What were you looking for? What kind of capabilities?

@ghost
Copy link
Author

ghost commented Jan 11, 2021

I am stranger to GUI however i can learn how. My plan is making an IDE to Min. If happens, then Min coding will be easier more.

@h3rald
Copy link
Owner

h3rald commented Jan 11, 2021

Oh well... that's a very challenging task for sure!

I built my own web server, data store, programming language, static site generator, documentation tool, package manager but... never an IDE or an editor! Much easier to create extensions for the existing ones! Did you try the min syntax highlighting file for vim? And also I created an extension for Visual Studio Code as well:

https://marketplace.visualstudio.com/items?itemName=h3rald.vscode-min-lang

@ghost
Copy link
Author

ghost commented Jan 12, 2021

Can you do debugging Min in VSCode ? (I think not, but must be)

If we a knowing about stacks and polluting then it will be easier.

@h3rald
Copy link
Owner

h3rald commented Jan 12, 2021

No, but it would be possible to create a sort of min server to do things like auto-complete, suggestions, interpreting code on-the-fly and warn users... someday. It is possible for Nim and all other languages, so it could be done with min as well. For now I only focused on highlighting though...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant