7 ms·
In 2023 isnt it almost always better to make a webapp through dash or something if you need a “gui”?
by phyalow 3y ago
In 2023 isnt it almost always better to make a webapp through dash or something if you need a “gui”?
- bufio 3y agoNo.
- baz00 3y agoWhen the only tool you have is a hammer, everything is a nail. It depends on your requirements. I still produce actual native GUIs for tools I write. They're faster, require less futzing to service, generally continue working for years if not decades, have far richer control possibilities out of the box and tend not to rely on 5000 layers of excrement slapped on top of each other. Oh and no fucking Javascript!
- Xeamek 3y ago...but why?
- notyoutube 3y agoI've got one very convincing reason: distribution. Having a web app makes it: * usable on pretty much any platform * easy to distribute/update * easily trustworthy/jailed (no need to install something that might access your data) It makes me sad, but as far as I can see, there is no serious alternative for universal+jailed apps.
- halfcat 3y agoThis is not “very convincing” if it doesn’t meet your requirements. There are plenty of ways to distribute thick client apps that are usable from any client, easy to update, and which don’t have access to local resources, like Remote Desktop, VMware, Citrix, etc.
- notyoutube 3y ago> Remote Desktop, VMware, Citrix and ask your users to install those before being even able to use your app? I haven't phrased my argument very neatly, but the point stands: anyone with an iphone/android/linux/… can easily use a web app, now, without any prerequisites. You don't have to bundle it or distribute it differently than with a webserver and it's a single codebase. That's not the case for any other tech that I'm aware, and it's a shame.
- halfcat 3y agoI understand that you’re describing one set of benefits, that are beneficial in some circumstances. But it’s all about requirements. The benefits you describe are not universal benefits. Mobile app stores, where users have to install apps, transact over a $1 trillion per year. Sometimes a native app provides a better experience.
- notyoutube 3y agoI agree, sure. I was only replying to the "… but why?" comment: There are plenty convincing reasons to go the web app route, although it obviously has downsides too.
- jbstack 3y agoAs a user, definitely not. Web apps are slow, require an internet connection, don't integrate nicely with my OS, and generally inferior to native GUIs in just about every way.
- halfcat 3y agoAnd now the user needs a server running somewhere. We tried this approach once, for this exact reason that we didn’t want an “old thick client”. Our app interacted heavily with the user’s OS and their line of business app, and it was a nightmare dealing with the customer’s IT department, wondering why we needed to run HTTP servers everywhere, causing security alerts. We switched it to a simple Tkinter app and everyone involved was much happier.
- mardifoufs 3y agoPython is such a nightmare to package and use for users, especially for Gui, that even web apps can be better.
- __d 3y agoThat's the myth, but really, there are several ways of doing it that are really quite easy. PyInstaller is a good starting place. There are several others with similar capabilities.
- mardifoufs 3y agoThat's a very limited solution though and it's super incomplete . Last I tried, the user needed to install python first and you can't bundle it. And it's not a myth, it's something I have experienced myself. Pyinstaller falls apart the moment you try to pull packages that are what make python useful in the first place for tons of people (numpy, pytorch, etc).
- __d 3y agoPyInstaller does not require that the target machine have Python installed. And it will produce a single-file executable that bundles the interpreter, application Python code, extensions, and any other resources (data files, images, fonts, etc). Both numpy and pytorch are explicitly supported, although that's not guaranteed for all extension packages.