3 ms·
It was not intended as a glib answer -- can you provide any aspect of the given requirements that are not met by X11? It is an interesting exercise to consider
by j_s 9y ago
It was not intended as a glib answer -- can you provide any aspect of the given requirements that are not met by X11? It is an interesting exercise to consider it as an alternative to Electron.
"Not hard to use" was not mentioned, but definitely correlates with popularity. Apple and Microsoft do not target it as a business decision, but X11 is available on both of these platforms with commercial support.
> nobody writes UI code that talks directly to X for obvious reasons
Nor would I expect them to; there are libraries to simplify that. I was pointing out the existence of a cross-platform UI protocol; X11's plight and your immediate visceral rejection provide additional insight into how well an idea like this works out in practice.
- lwansbrough 9y agoThe trouble is not in finding a solution that works on desktops for Linux, macOS and Windows -- we have that already 10 times over. What is needed is a protocol which can be targeted by the average JS UI framework creator. It needs to be fairly light weight, and exist mostly as a layer below any sort of framework. If that's X11, so be it, but I haven't seen it running in a browser before. One such use case would be a JS library which handles the protocol at a fairly low level, allowing someone to create a custom ReactJS renderer which targets the protocol instead of the DOM. Hook up a protocol receiver in your favourite native language, and now you've got native UI driven by React + JS.
- j_s 9y ago> native UI driven by React + JS. https://github.com/Microsoft/react-native-windows https://github.com/Microsoft/react-native-windows Watching how Microsoft manages this project may give an additional insight into how ideas you are suggesting would fare. (It doesn't seem to be a tire fire or anything from initial impressions.)
- lwansbrough 9y agoI’m fully aware of this, but it only solves the problem for React. Which isn’t really very good solution.
- j_s 9y agoI shared it primarily because it is an open-source UI project managed by Microsoft that has to support an "API" that is cross-platform, but it also meets this portion of your original criteria: > as long as you can host the language a given UI framework is built in, you can use it to create UI elements in whatever platform you want (The work has already been done to host React/JavaScript cross-platform alongside .NET: see Edge.js http://tjanczuk.github.io/edge/ http://tjanczuk.github.io/edge/ previously mentioned elsewhere in this thread. http://www.hanselman.com/blog/ItsJustASoftwareIssueEdgejsBringsNodeAndNETTogetherOnThreePlatforms.aspx http://www.hanselman.com/blog/ItsJustASoftwareIssueEdgejsBri...) As an aside, I recommend you include some details summarizing reasons for rejecting existing solutions when initiating future discussions so all participants can begin on the same page.
- matthewmacleod 9y agoRight, I actually have to apologise for my previous comment – I misread the parent and read 'UI framework' instead of 'UI subsystem'. You're right that X is actually suitable of the use-case as described, though that use-case itself is faulty.