Ask HN: Which technology for creating internal desktop application?
I'm working in a company whose business is not software development but still highly technology based. We need to create/revamp some small internal tools used by our engineers. What technology would you recommend in 2021? One constraint is that it shall be working without network connection. Another is the easiness of the framework such that occasional dev. can contribute. OS is windows.
I was thinking primarily about python/qt. Any advices?
12 comments
[ 3.5 ms ] story [ 43.5 ms ] threadYou don't need access to network, have full access to file system, sqlite, etc and engineers for Javascript/HTML are dime a dozen so may not need to learn a new language. Also in case you need to switch to another OS it's cross platform by virtue and can be easily ported to web easily should the need arise one day.
Is the constraint about working without a network connection or an internet connection? Are the terminals connected to an internal network to access files, communicate?
>We need to create/revamp some small internal tools used by our engineers.
What's the goal of that revamping? What is wrong with the current tools?
How frequently will you be updating the tools, and how do you see rolling out new versions? What has been the workflow like for fixing bugs or improving the tools so far?
It is mainly about creating new tools, some of them currently existing as spreadsheet.
Update/fixing small bugs shall be doable by engineers that have basic coding skills. So the deployment shall be easy.
How many users will you have to deploy that for? I'm asking these questions because you'll have a payload that has to find its way to disconnected environments. There will be updates that need to be rolled out as well, and you want to think about that.
I am a newly hired engineer, how do you provision my workstation, and how do you make the tool available to me?
A week goes by, and the tool crashes and stops working for me, how do I get that to you?
You get my bug issue, where do you do development, and where do you push your code and collaborate with your colleagues and get my opinion?
You fix the bug, how do you make the new version available to me, and I imagine to others as well? Will you bring a thumb drive given that my workstation is disconnected? Does that thumb drive do the rounds to others? How many people will use it, and how do we ensure the payload we're using is the same you built?
Will you be shipping the whole thing or do you have to do incremental diffs?
Have you gathered the engineers you're building for and what were their thoughts on a workflow that would make sense for them and not get in their way?
WPF seems like a nice idea, but it's tricky to get into, has limited penetration/support, and it's never been very clear whether Microsoft have abandoned it or not (including to Microsoft, I sometimes suspect).
If it's a basic app, basic WinForms should do just fine.