4 ms·
>UWP is obsolete, because desktop applications are obsolete. You have a point that for some applications, mainly the "some textboxes and buttons" variety used
by no_time 5y ago
>UWP is obsolete, because desktop applications are obsolete.
You have a point that for some applications, mainly the "some textboxes and buttons" variety used in things like data entry are better served by a webapp. As for other things every time I scroll up in a html5 chat application and the fans of my laptop go WHIRR I'm reminded that for anything non trivial you are still better off getting your hands dirty and start using a good GUI framework from the language of your choice.
For a while I thought that WASM will bridge this gap and bring a future of near native performance to webapps then results like the ironically named sixtyfps[0] toolkit having trouble pushing 20fps on my 2 year old flagship phone made me skeptical whether it will ever happen.
[0]: https://sixtyfps.io https://sixtyfps.io
- donmcronald 5y ago> As for other things every time I scroll up in a html5 chat application and the fans of my laptop go WHIRR I'm reminded that for anything non trivial I remember writing GUIs in (Java) Swing where you could dump 50-100k items in a table and sort/filter them without much effort. Translate that into a modern webapp and it's probably 50k round trips while melting a high end CPU. Lol.
- pjmlp 5y agoIt is ironic that "bloated" Swing apps are now a much better performance alternative than Web and Electron apps.
- johnnycerberus 5y agoIf you know how to optimize, you can go far with JavaScript, especially with the React model. The problem is that many libraries have been infested with the immutability virus (lodash, immutable.js, fp-ts) and it is used in places where it shouldn't be. Some time ago, I have modified a table library that was offering some filtering capabilities, managed to optimize it by boosting the performance 26x according to my benchmarks. When I created a PR, the authors of the library were literally disgusted by the C-like ordinary loops and mutations in order to achieve the same thing that they did by mixing lodash with streams, hundreds of deep copies, clones etc. even if it provided the same guarantees.
- pjmlp 5y agoEven the more heroic efforts can only go as far as JIT for a dynamic language is capable of, hence WebAssembly.
- johnnycerberus 5y agoIndeed, last time I've checked calling into wasm libs had a pretty high overhead. If your app is standalone or if your libary does long running processing in the library, then it is suitable. So far, I haven't seen wasm used in an interactive JS<multiple calls>WASM scenario.
- johnnycerberus 5y agoYou can hold millions of them with react-virtualize. I'm working with React in an environment where select boxes and tables keep hundreds of thousands, even millions of records in memory. I haven't used Swing, but I am accustomed to JavaFX, which in my opinion it is underrated. There are people who create now Java bindings for Skia, this will give us the ability to create our own crossplatform UI frameworks in Java which in my opinion will revive the community of GUI programming in Java. I also wish to implement a React-like framework in Java, but bundled togheter with a couple of extra things that will give the user a more complete development experience.