3 ms·
How so? For me, modern hook-based react is the most pleasant way to write UI's I've ever used — and I used to do a lot of different UIs on different platforms.
by golergka 2y ago
How so? For me, modern hook-based react is the most pleasant way to write UI's I've ever used — and I used to do a lot of different UIs on different platforms. And transition from classes to hooks was an incredible improvement as well. When you read a function body, you know that declarations can only depend on previous ones. This makes it much easier to read and reason about the code, compared to a class body, where each member can access any other. This also makes it much easier to extract different pieces of functionality into separate hooks.
- mdhb 2y agoWhat else have you actually used though?
- golergka 2y agoVisual basic, Delphi, win32, flash, imgui, Unity GUI, iOS (Objective-C era, first half of 2010s), Android (also first half of 2010s), even curses, WPF. As far as JS frameworks go, raw jquery, Angular, React. When I was first learning HTML, the best ways to lay out a website's structure was to use a table, often — with heavy use of iframes, so I can compare that to modern web development too. And I wouldn't write complex modern applications in anything else, unless there's computationally heavy rendering going on. And even then, I would still try to keep other parts, like slower and not as expensive to render UI, in this paradigm.
- mdhb 2y agoI don’t mean this with any snark at all because I’ve also used a bunch of those that you listed and remember those old school days well but I don’t think they are a fair comparison to modern approaches and I can see unironically how React would look great in comparison to them.
- deleted 2y ago[deleted]
- throwaway48540 2y agoWhat are some of these modern approaches? Vue, Svelte don't feel like that.
- k__ 2y agoSvelte 5 comes pretty close.
- mdhb 2y agoI think Flutter or Lit would be a fair comparison in scope. They are both just UI focused, they run in the same environments, they both took two different architectural approaches but kept the same 1 component = 1 class model and both incorporated lots of similar ideas about how OOP can best be used in UI design.
- ahartmetz 2y agoQML, Slint and their property bindings come to mind (regarding "manual dependency tracking is a pain" elsewhere in this discussion)