5 ms·
It takes quite a bit of developer effort to write good desktop apps, especially if you want to make them cross-platform as well. Developers are expensive, and
by smallnamespace 10y ago
It takes quite a bit of developer effort to write good desktop apps, especially if you want to make them cross-platform as well.
Developers are expensive, and getting pricier. CPU cycles get cheaper every year. Spending more cycles in order to spend fewer developer hours is better from the perspective of rational allocation of resources.
- duncan_bayne 10y agoThat is utterly untrue. Compare e.g. the terse, intuitive GUI tooling you get with Racket vs. the effort required to achieve an inferior result with Javascript and the framework of the week.
- smallnamespace 10y agoYou need to hire a dev that actually knows Racket. Companies already have JS programmers around because they always need to build a front end. Just compare mobile to desktop. Apps abound in mobile because the extra performance inefficiency actually matters enough that it's worthwhile to put in the engineering effort; on desktop the web app is feature-rich and fast enough. There's a reason people use FB in a browser on desktop but the app on mobile.
- duncan_bayne 10y agoI don't mean performance inefficiency, I mean that developing apps in JS is harder and slower than with other frameworks. I picked on Racket because it's possible to build a cross platform GUI app skeleton in less than a screen full of code, with no external dependencies.
- x0x0 10y agoAnd don't underestimate shipping them! I think there's a generation of people who, since they've never done it, have no idea how hard it is to ship an executable that will reliably run even across multiple patch levels of what is nominally the same OS. Let alone across different OS versions or even OSes. And then even knowing of crashes that happen on end-user boxes, let alone debugging them, is another pile of suck. And upgrades. The web browser is a light-years better target, because it lets you run the servers yourself. And you can do things like only have one version deployed at a time! No more trying to make different client versions backwards and forwards compatible with multiple server versions, etc.