Comments (3)
Dear James,
Checkout out #21 for the POC.
As you can see there is nothing that needs to be changed in core.py (well, that first commit is unrelated to this PR, it might be the fix for #14). So we didn't really need to abstract over multiple backends, it kinda came out naturally.
I currently don't have much interest in supporting Qt myself, nor do we (Widgetti) have the bandwidth right now.
We could be interested in a Reacton-qt build on top of Reacton since that would give extra eyes on it. I would say Reacton is pretty solid right now, and the test coverage is quite extensive.
There is a little bit of technical dept, and possible could use a performance review, which would benetit both the widget and the qt backend.
If these are things you would be interested in, I could see a fruitful collabaration.
I would be less interested in adding many more features in Reacton, or doing unneeded refactors that could potentially change behaviour. Since Reacton is the foundation of Solara, we are conservative about making changes.
Let me know what you think.
Regards,
Maarten
from reacton.
Hi @jamesdbrock,
Good to hear you like Reacton, and declerative UI's. I have explored Qt support a while ago, and I actually managed to get that working.
Would you be interested in that?
I could open a draft PR, so you can see what I looks like.
I see https://github.com/pyedifice/pyedifice uses the classes based approach, while Reacton uses the function style, any strong reasons for 1 vs the other?
Regards,
Maarten
from reacton.
I have explored Qt support a while ago, and I actually managed to get that working. Would you be interested in that?
Yes please! But is it realistic for Reacton to support both iPyWidgets and PySide6? Are you going to end up limiting Reacton to the common feature set of each? I've surveyed all these half-finished Python declarative GUI projects and it seems like a common theme is trying to abstract over multiple backends.
I see https://github.com/pyedifice/pyedifice uses the classes based approach, while Reacton uses the function style, any strong reasons for 1 vs the other?
Historical reasons. @fding wrote Edifice in 2021, when functional-style React Hooks was still new. I think he used the class-based approach because it was established and well-understood. Edifice also has a make_component
function decorator, but without Hooks it’s not very useful.
I, personally, strongly prefer pure functional programming for everything.
from reacton.
Related Issues (20)
- Can it be used on fastapi? HOT 1
- Markdown example does not work with myst_parser>=0.18 HOT 1
- Reacton is Awesome HOT 6
- jupyterlite demo - `No module named 'reacton'` HOT 2
- Amazing work - quick question HOT 13
- Image placeholder HOT 4
- minor correction in docs HOT 1
- Simple example of reacton as a class HOT 4
- Matplotlib plots not rendering properly in output widgets. HOT 4
- SelectionRangeSlider Options List Not Updating HOT 4
- get_widget can fail
- Deprecated Warning Widget.widgets is deprecated
- How to use VuetifyTemplate method? HOT 1
- Ipyvuetify DataTable with Select in a column HOT 2
- Reacton is not installed in jupyterlite environment
- ipywidgets does not cover DatetimePicker
- use_event is combination with solara.SideBar gives unclear error
- shared elements test for bqplot pass in tests, but fail in solara
- Element keys set with Reacton `.key(...)` are not recognized by the ipyvuetify transition group
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from reacton.