“If there are no OS restrictions”.
On Haiku, my preferred tool to work with .NET is… PE.
Also, for Visual Studio Code, there might be a way to port its server (based on node.js) and then connect to it through the ssh from another computer, or through some kind of tunnel from the online browser-based frontend.
I agree but that still doesn’t remove the Electron dependency. Electron is based on the Chromium browser sources. Chromium is not and will likely never be supported on Haiku. The closest we can hope for in Electron apps are something patched to use HaikuWebKit. The best we can hope for in .NET is Haiku GUI bindings.
Vim/Neovim can be set up as a decent .NET development environment… but it’s not everyone’s cup of tea. There’s an OmniSharp plug-in that makes code completion work really well too. But the last time (it’s been years) I did any serious .NET development OmniSharp was still build on Mono. If it’s been ported to .NET 8.0, it might be possible to get it to work on Haiku aswell.
Most text editors (like gedit and Notepad++) have basic code highlighting for .NET languages.
I believe GNOME builder works well with C# but that’s likely GTK focused.
I’m not certain how feasible it would be to get Jetbrains Rider working on Haiku. I believe it’s a Java application so it might be made possible to get it to work on Haiku but it’s a paid tool so that’s not really an option.
VS Code (or variants) can be made to run in a browser so Electron would not be necessary per se… but I’m not certain how well Haiku browsers integrate with the features used in VS Code.
A native Haiku IDE with support for .NET languages would be awesome, eventually… even if it’s only code highlighting at first.
Electrom can be replaced by Neutralinojs and using HaikuWebKit, Neutralinojs is lighter and easier to port:
“In Electron and NWjs, you have to install Node.js and hundreds of dependency libraries. Embedded Chromium and Node.js make simple apps bloaty — in most scenarios, framework weights more than your app source. Neutralinojs offers a lightweight and portable SDK which is an alternative for Electron and NW.js. Neutralinojs doesn’t bundle Chromium and uses the existing web browser library in the operating system (Eg: gtk-webkit2 on Linux). Neutralinojs implements a secure WebSocket connection for native operations and embeds a static web server to serve the web content. Also, it offers a built-in JavaScript client library for developers.”
Thanks for the link! Bookmarked on GitHub! If Nutralino can be fashioned into a full replacement for Electron, that’ll open many possibilities. There’s quite a few bugs listed in the issue tracker but it’s written in C++. Tauri might be out of reach of our Rust port but maybe that won’t matter.
OmniSharp is still the thing powering the C# extension for VSCode, so…
Also, unless some deprecated stuff are used like BinarySerializer, .NET 8 has quite good backwards compatibility, so many older .NET Framework/Mono-era binaries can still be run.
That was what I meant, if somehow the community is really reluctant to port Chromium and/or Electron.
In that case we would only need to port the Node.JS core of VSCode and then connect remotely there.
Thank you for your recommendation, but I intended Haiku specific solution.
So this is what I expected. VScode is MS official recommendation for OS which they don’t provide VS to.
Chromium based solution like Electron is not viable for near future, so VScode server with modern browser looks relatively feasible.
So sometimes I try vscode.dev with WebPositive but it doesn’t work well by WebSocket misbehavior. I couldn’t try epiphany these days (because dependency conflict with Firefox development environment). It seems more work to execute VScode frontend reliably.
What would UNIX domain sockets be useful for in WebPositive? There certainly are no plans for that currently.
It may be useful for webkitgtk, but currently the goal for the Haiku port of WebKit2 is to use ports and BMessage for communication.
I don’t see how domain sockets would help with electron-like things, anyway?
Some application that makes use of socket in browser.
There are software that use socket in webkigtk.
In the case of Webkit2, it depends on the use and what it will run inside, you would have to carry out tests with popular applications to find out if you need a socket or not.
Alternatives to Electron use socket if they use webkit or webkitgtk.
As I just wrote, HaikuWebKit does not use and does not plan to use WebKit POSIX backend for this.
This is not accessible at all to “applications” in WebKitGTK. It is an internal thing to WebKitGTK, to communicate between the WebProcess and the NetworkProcess.
It implies many things: syntax highlighting, connecting to an LSP and providing code completion, jump to definition, support for MSBuild, debugging and more.
There are some code editors for Haiku (non-IDE) that might support C# syntax highlighting but this is as far as they get. We need a fully functional LSP based on Roslyn first. Then we might think of how to integrate it into an existing IDE.
I wish I could use VS Code but it’ not an option… What about contributing to Genio instead?
Assuming we have a running instance of Omnisharp, we should be able to implement syntax highlight for C# quite easily and with a few changes (hacks?) we could change the LSP (Genio uses clangd as of now).
I used socket in the context of the ticket in socket IPC, it depends on the language used in the software or applications that make use of websocket, but it depends on the language and software used to create applications.
This is what you said. UNIX domain sockets have nothing to do, at all, with websockets. Websockets have been supported in WebPositive for several years now.