Skip to content

Flexx.ui vs X

Almar Klein edited this page Apr 17, 2016 · 2 revisions

How our ui compares to other GUI systems

(or how I think it does, or should)

Desktop

Compared to most desktop GUI systems (e.g. Qt), Flexx provides a much more Pythonic interface. For instance w.r.t. how layout is done. Also, it runs in a browser!

Web-based

PyJS

Flexx vs PyJS:

  • PyJS uses ajax to communicate between browser and Python (flexx.app uses a websocket).
  • PyJS also has a sort of webruntime thing.
  • PyJS translates a whole script to standalone HTML/JS. Flexx allows one to write a (real) Python script (which runs at the server), and mix in PyScript code that is executed at the client. If written in the right way, the app can be exported to standalone HTML. In other words: Flexx is a Python gui toolkit, PyJS is not.

Jupyter widgets

Jupyter is making a widget system that is language agnostic. As I understand it, they use web-components and Polymer. I suppose they'll also provider language specific user-facing API's. And we might want to look whether these can be the same or similar to that of Flexx.

Phosphor

Phosphor is a JS based layout and widget system, written in TypeScript. We should look into using this. AIU the Jupyter team is also using this, but I do not see yet how this plays with Polymer.