Replies: 1 comment
-
Hey Richard, Thanks for the detailed post :). You'll be delighted to learn that in our next release in the coming days, we're promoting the Python APIs from Alpha to Beta. This includes being listed as supported language in the Slint Language Documentation landing page, reference documentation, as well as typings for mypy. We'll also more prominently mention any changes in the change logs now.
Generally speaking, there are many ways to access GPU exposed functionality with Python. One of the things we've been eyeing lately is wgpu support in Slint, for which also Python bindings exists. Our philosophy is to have interfaces in Slint that permit combining Slint with other powerful libraries, so as such we're interested in the ability to combine the output of other WGPU based renderers (for example using Python) with Slint, by integrating textures. Do you have a specific use-case in mind here? |
Beta Was this translation helpful? Give feedback.
-
I'm a thirty year plus system level developer in C / C++ (and assembly on occasion) who has always found it annoying to resort to JavaScript for a modern UI.
Then TypeScript came along and took some of the sting out of the performance hit by offering such amazing structured creativity to sooth my efficiency annoyance.
Now Python is becoming similarly interesting by providing an 'on-ramp' for the developers (like me) to experiment with creativity in both structured typing and also adaptations of the syntax and platform itself, which opens the door to dramatic gains in efficiency and performance as opposed to trading such for syntactic sugar.
As far as I can tell in 4-5 hours of delving through your GitHub comments and release notes it appears then Slint might providing a very interesting ingredient for bridging between Python, Rust and C++. No performance related Python applications perform core computation in the interpreter. Numpy, Numba, Cython and/or custom C++/Rust functions are just a few of the options available for the heavy lifting but when it comes to UI its usually plain old Python that is used.
It seems to me that Slint, with it's ability to integrate the majority of those platforms to a single UI could be a very powerful avenue for avoiding having to move data back up through the boundary layer into Python simply to push it down again to get it to the screen. This is especially true when Python code becomes the filter/transform mechanism for that connection between computed results and the UI.
I'm very interested in seeing what can be accomplished at the boundary API layer to allow Python to define the pathways and transformation parameters at the scripting layer and then let C++ / Rust do their magic to provide a efficient pipeline to do the work.
My ask is this:
*) Be listed as a supported language / platform on the Slint landing page
*) Have an entry for progress notes for releases, etc
*) Python / Slint developers will be seeking performance-computing at scale
*) Dropping down into C++ & Rust to get SIMD / Cuda options is intoxicating
(just have to make sure that nothing Slint-related is in the way)
So, those are my thoughts. I am very much impressed with what you have done and grateful that another Python UI library developer called Slint out as an alternative to his own with positive things to say. I love the opensource community ethos.
Be sure that I will be watching for any feedback or thoughts.
Richard Esmond
[email protected]
Beta Was this translation helpful? Give feedback.
All reactions