Tech Stack Considerations #393
Replies: 1 comment
|
Yes, based upon your writing I have thought about this in more detail. To really be as easy to deploy and to be integrated into data science tech stacks, I am currently toying around with the idea to replace the PHP/Laravel backend with a Python/Django (and maybe later a FastAPI for API-only access for specialised analysis pipelines) backend to get more people into co-developing and also in using all the data science python libraries (otherwise we would need to run php and python at least in the plugins as we already do). I have created a proof of concept swap of the backend with python/django. While doing this I could solve some problems, such as communication between async processes and the GUI (especially important for transcription and importing right now), I flattened the project<->team relation, a fully functional refi project importer and exporter. The repo is private to the OpenQDA-org, but just contact me if you want to have a look at it. The really important result from this prototype though is that it was rather trivial to keep all VUE UI logic and just replaced the PHP/Laravel backend. I really would like to work into this direction. Also for the analysis part, everything was easily ported, as we already have the VUE part doing the analysis (although i really want to think this through because there are more advanced analysis methods where it is easy to use python/pandas etc., so i think we have to further develop the analysis architecture a bit more - this is a topic i will spend more time on next month). Therefore @helge-hb @jankapunkt we should discuss this as otherwise we have to do work on updating the php backend code. |
Uh oh!
There was an error while loading. Please reload this page.
this is a direct continuation of #392
These are my first thoughts but we need to create a much more elaborate and detailed spec for this endeavor!
This is my answer to #392 (comment)
Well, we are building a rich application with complex user interactions, which is why we chose VueJS, because with plain html + minimal js we will not get near any of the functionality we currently offer. So keeping the frontend in Vue is a no-brainer, especially because Vue makes everything right what is wrong with React. No hydration is also impossible, because that would mean - no lazy loading of data after the page has been loaded. Css is done via tailwind, which is also something I would not drop as it is the best way to support our custom component design.
TL;DR - for the frontend I would not change anything major.
We have to consider what each language and framework offers and how well we can build a community around it. Also - we have to consider the greater package ecosystem (npm/pypi etc.) and also how well apps can be deployed with that stack.
Then we have other factors to consider:
Summary: the topic is very complex and need to create a list of factors for us but also users that matter when choosing a new stack
All reactions