complaints, IT 

People say that development of a Web GUI is less expensive than a "native" one (4 times IIRC, although IDK how it's measured: by time or costs).
But I don't quite understand why — almost any "native" cross-platform GUI should be way less prone to all sorts of technical debts than a JS "webapp".

I have a theory, that it's just because the Web allows the degrees of flakiness which are hard to reach with a "native" GUI applications…
The users don't value the reliability anyhow. Sigh.

complaints, IT 

This is actually not specific to GUI, just well-illustrated by it. This whole backwards motion in s/w dev't. Wish I knew how to interpret it. Is this a signal to leave or what?

Show thread

complaints, IT 

@amiloradovsky less developers needed. And those are quite costly.

@dpwiz Sure, but why? "Web dev" is about intentionally using way inferior technologies requiring more manual work, no?

@dpwiz Shittiness is also relative, and the differences appear to be orders of magnitude.

re: complaints, IT 

@amiloradovsky that's because:
webdev is a little cheaper
managers usually instead of hiring new staff tell webdevs to learn js which is (probabaly) cheaper
It is really faster to build a UI with just HTML and CSS so more work can be done for cheaper also

Epic business moment, if it's cheap in turn makes a lot of money for the owner

@blobyoumu How come that it's cheaper, if the programs are harder to debug and avoid bugs in the first place?

@blobyoumu Even easier — just don't.

BTW, TypeScript is a joke. Just like the "types" in Python, for example.

complaints, IT 

There are not many good cross platform GUIs that devs like to use though. And relying on JS/HTML makes it easy to develop both a website and an app using Electron. It sucks for users but the reason why it happens is pretty obvious.

@boilingsteam That's my point — the user is not a friend of the developer — the user wants what the developer wants to avoid dealing with.
The user wants a flaky, barely functioning software, yesterday. While the developer doesn't derive any pleasure from working that… more so knowing that this kind of work is going to make a lot of the users suffer in the not so long run. And even more so knowing that working on shitty software is going to destroy the good habits.

@amiloradovsky @boilingsteam Like @boilingsteam said. I did had to study the cost for a new version of the app for where I was working... The user reach you can have with a simple web-app compared to any "native" solution is really big and can justify the cost to switch (from native) alone. Just the "step" to install anything, even the electron-based web app, is a big stopper these days...

@df5t0rw @boilingsteam Is really that much harder to develop in than the popular JS frameworks?
Anyway, I do believe that "webapps" are cheaper. I only wonder why.
Maybe just the least common denominator, IDK.

@amiloradovsky @df5t0rw
It's harder if you have never developed in Qt. Lack of familiarity is a cost. For a full stack dev whose tools is React/JS or other similar frameworks, Qt is not even on the radar and they are not going to learn Qt on the job. Even staying up to date with Web frameworks is already a huge investment of time these days.

@boilingsteam @df5t0rw Exactly, why even bother with the frameworks, if the knowledge won't be relevant in a couple days?

Similarly, it's hard to learn JS APIs, actually even harder, than a proper (G)UI library — the enormous amount of pitfalls one should be aware of and watch out manually.

@amiloradovsky @df5t0rw
You bother with the frameworks because that's what employers hire for these days. React or Vue experience is kind of a default stack expected these days for web devs. That's where the money is.

@amiloradovsky @df5t0rw
Similarly, most sysadmin or systems engineer hiring expects Linux (usually RedHat/Centos) knowledge, because that's what is used pretty much everywhere. So sysadmins get familiar with such distributions.

@boilingsteam @df5t0rw Innovation is impossible. Go home everyone¹.

¹ Unfortunately, your fingers need a rest. We're working on that…

@amiloradovsky @boilingsteam @df5t0rw clearly, you seem pretty passionate about this issue, maybe you can do something about it? 😏

@EP1CNESS @boilingsteam @df5t0rw Lobby for my favorite tools harder maybe. I'll try. But IDK what else words I should say and to whom.

complaints, IT 

@amiloradovsky I see this as:

• If you need performance/have the money, go native
• Otherwise, do it in JS

@EP1CNESS …and if you don't want to make pot-boilers — quit "programming"…

complaints, IT 

@amiloradovsky I think it's simpler than all that: develop for one platform (web) or for Windows & Mac & Android & iOS (let's not kid ourselves that they're considering Linux here). Even if each is a bit easier, there's 4-5 of them.

@tfb So keeping a web browser, with all it's APIs, working on multiple platforms is easier than a translator and GUI library? It's counter-intuitive to say the least.

@amiloradovsky Pretty sure the usual system is to test on chrome. Full stop.

complaints, IT 

@amiloradovsky When I develop GUIs these days (that is, really not frequently) I do it in an OCaml functor taking as arguments what kinds of things I need to display. Then I instanciate it for a web app (compiling it to JavaScript) and a terminal app. The reason I don't do a native GUI is that I feel like I am missing CSS features, and feel that I have to compute a lot of lengths myself to do something equivalent 🙁 But really, I don't see any of the JavaScript madness because I almost only have one JavaScript code in the webpage: the one compiled from OCaml. It's resilient enough 😊

complaints, IT 

@amiloradovsky But I agree with you that there is a general vision of computer systems as being magical, even for developpers, and as a consequence, developpers tend to ignore resilience in their design choices 🙁

@MartinShadok is pretty good, AFAICT, except one still needs to learn the browser APIs. Unfortunately, you can't switch to it incrementally. And I feel like it's the idea itself that a browser should be the OS is wrong.

complaints, IT 

@amiloradovsky I think it's also because a web app is cross platform automatically while cross platform native development usually means maintaining multiple code bases and having to deal with a bunch of proprietary locked down stores to distribute the applications. 😐

@hugot WRT platform-dependence — not actually: the cross-platform libraries provide no less of APIs, abstracting away the underlying OS, yet without the restrictions and penalties of the browser.
WRT proprietary stores and distribution in general — that may be indeed a big reason.

@amiloradovsky That is true for the GUI toolkit, but any library used in a program will need to be cross platform as well. I think it's unfortunately never as simple as just using something like QT and being done with it, there will always be exceptions and different things to take into account on different platforms. Especially when trying to do something non-trivial :/

My personal policy is to only support linux when I build software, but I mostly build server stuff and docker exists so.. :p

@hugot But the browser APIs are limited as well. And all the JS libraries are bound to work within those limitations. I doubt the "native" UI libraries are more limited in this regard.

@amiloradovsky Thinking about it more, in the case of a front end application where all you need is a http lib to call REST endpoints, yeah cross platform wouldn't be more work at all!

Sign in to participate in the conversation
Functional Café

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!