You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In an effort to make ODE more sustainable we are going to be migrating the implementation to PySide6 (the official Python module from the Qt for Python project). We have been doing some early implementations and we are confident that we can achieve 80% of the Core functionality of the application with a considerable smaller codebase.
Why migrating?
ODE architecture is the result of an exploration of ideas. Starting from Frictionless Components (for React), then Frictionless Application and lastly Open Data Editor. This exploration of ideas led to and architecture that it is too much for what we are trying to achieve.
After all the feedback sessions, ODE is now a more consolidated application with a clear vision and narrowed scope. We no longer need to maintain nor develop features that justified a client/backend architecture.
Electron (when useful for some use cases) adds several layers of complexity.
On the last two years, ODE has accumulated several technical debt: we are running on an old version of MUI, one of our core dependencies disappeared and we are running on an old version of React. This will involve development effort that we would rather invest in a more sustainable codebase.
Our current architecture started being quite complex for some use cases, which makes extending the application more complex than needed.
In a nutshell, the exploratory phase of the Open Data Editor finished and the current architecture is too much for the problem we are trying to solve.
Why PySide6?
Qt is a mature and well consolidated framework. We expect to not be shocked by dependencies disappearing or massive changes in React.
PySide6 makes the task of working with files way more easy as is desktop native (instead of a web browser wrapper that communicates with the OS through a bridge).
PySide6 is a Python package, which makes the integration with frictionless-py easy.
PySide6 reduces the complexity of the architecture: no need for a backend, client wrapper of the backend, a bridge to communicate with the OS and React Components for the UI.
Some quick prototypes with PySide6 proved that it is powerful enough to replicate 80% of the core functionality with a significant smaller codebase.
Last but most important, PySide6 aligns better with our organizational structure and technology stack, which at the end of the day will reduce the cost and complexity of maintenance.
PySide6 (and Qt) has a stable API and Plugin mechanism, which could benefit and help creating a Plugin ecosystem for ODE.
Notes on the change
There are not going to be massive changes to the look and feel of the application (this is thanks to QSS Styling).
We are planning on support the same core features and functionalities we are currently supporting.
For the end user, there should be no difference.
Screenshots of the early implementation with PySide6
The text was updated successfully, but these errors were encountered:
In an effort to make ODE more sustainable we are going to be migrating the implementation to PySide6 (the official Python module from the Qt for Python project). We have been doing some early implementations and we are confident that we can achieve 80% of the Core functionality of the application with a considerable smaller codebase.
Why migrating?
In a nutshell, the exploratory phase of the Open Data Editor finished and the current architecture is too much for the problem we are trying to solve.
Why PySide6?
frictionless-py
easy.Notes on the change
Screenshots of the early implementation with PySide6
The text was updated successfully, but these errors were encountered: