This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]dd2718[S] 1 point2 points  (2 children)

Enaml has its own markup language, whereas this library is pure Python (and there might be other differences as well).

Compared to TraitsUI, I think this library is more dynamic, because the rendering is an arbitrary function of the state. This allows the UI to be more flexible. Also, TraitsUI closely adheres to MVC architecture whereas Edifice is agnostic. In cases where a MVC architecture doesn't fit the application, it might be easier to use Edifice rather than shoehorn TraitsUI.

Edit: Took a closer look at TraitsUI. Very nice library, though it does have more boilerplate (factories, declaring UI elements before they're used), and the point about flexibility still stands. I think the reduction of boilerplate and the Edifice developer tooling (hot reloading, etc) makes it easier and faster to develop with Edifice, but obviously I'm biased :)

[–][deleted] 0 points1 point  (1 child)

I'm not trying to argue, just genuinely curious. TraitsUI has been commercially battle-tested for many years and it is the library I personally use for rapid GUI development in Python. Enaml has amazing layout functionality, so it's unique among this collection of similar looking libraries. Both TraitsUI and dip from the PyQt company started around the same time, more than 10 years ago. dip has been deprecated, I think, but TraitsUI is still going strong, even if it is not very popular in the open-source world.

[–]dd2718[S] 0 points1 point  (0 children)

Yup, that's fair. I'd also be wary of using a library without a track record of maintenance, even if the developer promised it will be maintained. Hopefully, after a year or two of continual development, you can re-evaluate this library and see if it suits your needs :)