Hi, I actually wanted to suggest amends to the first project `Liblouis table editor` after I had a conversation with @Nalin. I went through the idea and even implemented a prototype with the recommended technologies (Python with PyQt5). While doing this, a suggestion came up in my mind so I thought of sharing it with you all.
So, my suggestion is, instead of using PyQt5 for developing the table editor. I’d recommend a web based editor written in some javascript framework like React, Vue, Svelte or something along those lines (React would be a personal recommendation due to the robustness it offers).
The advantages of doing this would be:
Easily accessible to anyone via the web.
Easy to implement Accepted Web Standards for accessibility (which is a requirement for the project)
PyQt5 would have the advantage of an installable binary but a similar behavior would be achievable with ElectronJs which is a framework which allows compiling web applications targeting platforms like macOS, Windows, and Linux. (Needing an active internet connection would have been a disadvantage of the web based approach but it can be tackled with help of electron)
Easier to provide future updates (An installable made via PyQt5 would need to be manually updated) whereas a web based application updates whenever someone revisits the url with an active internet connection.
Easier to maintain, There are just simply more volunteers and developers in the web technologies ecosystem.
Do let me know your thoughts, if you have any recommendations for the web application approach. I myself am interested in working on this project and would love your feedback. I myself am versed in such web technologies and would love to see this project to its end.
Hi Riya, While your suggestion of using a web-based editor written in JavaScript frameworks like React, Vue, or Svelte has its merits, there are several reasons why the project might have opted for PyQt5 instead:
Mentors and community contributors may have more experience with Python and PyQt5, leading to faster development.
PyQt5 applications typically offer good performance, especially for desktop tasks like table editing.
PyQt5 applications can run offline without additional dependencies, crucial for users without constant internet access.
PyQt5 executables have smaller file sizes and are easier to distribute across platforms compared to web-based apps packaged with Electron.
Some users prefer desktop applications for performance and offline access, allowing the project to cater to a broader range of preferences.
In summary, while a web-based approach has its advantages, such as easier accessibility and updates, the decision to use PyQt5 for the table editor project might have been based on factors like existing expertise, performance, offline functionality, native integration, deployment flexibility, security, and user preferences.