Skip to content

Alternatives to Flexx? #753

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
matkuki opened this issue Mar 13, 2025 · 3 comments
Open

Alternatives to Flexx? #753

matkuki opened this issue Mar 13, 2025 · 3 comments

Comments

@matkuki
Copy link
Contributor

matkuki commented Mar 13, 2025

Hi @almarklein and anyone else who wants to chime in,

Are there any alternatives that work in a similar fashion to flexx?
They do not have to be Python based, any other language is fine, but just a similar principle to how flexx works:

  • minimal javascript, mostly just for custom bindings and custom functionality
  • seamless browser<->backend connection
  • simple layout system
  • ...

Thanks

@almarklein
Copy link
Member

It depends a lot on what you want to do, I guess. I think one big "feature" of Flexx it is being Python, but from what I read you're open to other tools too. I am quite impressed with Svelte (only played with it so far). II think it mostly solves a different problem, but it's pretty slick, and if you combine with CSS (i.e. flexbox) you have a really nice basis to build interactive apps.

@matkuki
Copy link
Contributor Author

matkuki commented Mar 18, 2025

Hey @almarklein

Thank you for the information. I really adore flexx, that should be obvious by now 😊.
But there are a few things that are causing me to worry about the future of the library (these are all point for usage of flexx on Windows):

  • As mentioned in is this project dead? #752 , no active development. This isn't a big issue, but it's still there. Lot's of little things that could be improved:
    • Some widgets have rough edges or weird / hidden behaviour, as I discovered and reported here. Like scrollbars in Layout's, quirks in the Python-Javascript layer with PyWidget / Widget / Component, ... Thanks again @almarklein for solving the issues with me 🎉
    • Built-in security measures would be nice to have. A good tutorial on how to make a solid and secure internet facing application would be great. A simple beginner friendly tutorial.
  • Compilation Python-To-Javascript is getting slower and slower with newer Python versions. Example: one of my flexx apps with Python3.7 starts in about 4 seconds, but with Python3.13 it takes more than 10 seconds - No changes in anything except the Python version.
  • Something changed with Python versions >=3.10 that changed the behaviour of the async event loop (this is Windows specific, haven't tested it on Linux!), that freezes every call to asyncio.get_event_loop().call_later other than on the main thread. This is worrying for applications that use this heavily, as some functionality doesn't work without any errors / tracebacks.

flexx is still my favourite web framework (by far!!!), but not having at least some maintenance on it makes me a bit hesitant to use it for more projects. I'm willing to do fixes and upgrades in any aspect of the library, but I would need lots of guidance in getting to know it's internals.

Thanks again @almarklein

@almarklein
Copy link
Member

Thanks for sharing @matkuki. I understand your worries.

Personally, I have moved on to other things and don't want to spent much time on Flexx anymore. I still find it an interesting project though, and I can try to find time to do some minimal maintenance or advice to e.g. keep adjusting to new Python versions.

I'd be happy to give you (or someone else) admin rights so that someone can take a leading role in keeping Flexx going, and shaping it to their vision. And I can definitely chime in now and then.

Compilation Python-To-Javascript is getting slower and slower with newer Python versions. Example: one of my flexx apps with Python3.7 starts in about 4 seconds, but with Python3.13 it takes more than 10 seconds - No changes in anything except the Python version.

I did not know this. That's not what I would have expected 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants