html is generated dynamically using a python template manager built by me for this project.
All communications are done directly using QtWebEngine APIs. Not http involved in that part.
Yes I am a ReactJS developer, look at this: https://marzguitars.com/marz-designer/
It looks interesting, but I have had no time to look at it.vanuan wrote: ↑Wed Sep 16, 2020 4:06 pm4. Have you seen my POC?
Interesting. How does it work exactly? So you don't catch DOM Events, but rather use <a href=""> everywhere?
Cool! Do you think it is viable to do the same for FreeCAD API? That is expose it as a GraphQL endpoint?mnesarco wrote: ↑Wed Sep 16, 2020 9:37 pmI am also a GraphQL developer, look at this: https://mnesarco.github.io/blog/2020/02 ... s-mutation
but I see no relation with this project.
Got it. I thought we could join our forces and push Web UI integration into FreeCAD together. It seems that Extension Manager fits into Web UI vision nicely. There are at least 4 people on the forum who are interested in using HTML/JS/CSS for building parts of FreeCAD UI.
I decided to not use react because most of the freecad extensions are python centric, and my goal was to make it easy for other freecad developers to participate... You will get a lot of resistance if try to change too many things too fast.
I'd say the main benefit of introducing a well known technology is attracting more developers rather than trying to mimic a workflow of existing developers. With custom html template engine and custom protocol I'd say you limit developer participation even further without any clear benefit.
In an ideal world, we could have an extensions portal with graphql endpoint... and indexing, automated quality tests, compliance tests, etc... but in the real freecad world it will not happen any soon. I have learned in this forum that things move very slowly here, small improvements over existing things are more appreciated than big changes. Sometimes it is frustrating but is the way it is. The first step to improve Extension management is to gain consensus about many things like metadata, file format, naming conventions, etc... And even if you gain consensus, you willl have to maintain backwards compatibility with the past and it makes things very hard to maintain, and if you are the proponent of the change, you are the maintainer.