logoalt Hacker News

DaiPlusPlusyesterday at 7:14 PM4 repliesview on HN

Credit where credit is due, though: ReactJS became #1 on its merits.

...yes, Redux (not React) deserves to be #1, but Redux isn't a complete, all-under-one-roof framework the way React is; but regardless of that: The Redux/React approach is just fundamentally a better design than what we had before: stateful-controls/widgets and two-way data-binding.

If you'd like to relive how UI devs suffered throughout the 1990s, 2000s, and most of the 2010s I invite you to try making a native Windows 11 desktop UI using WinUI3 using the MVVM (anti-) pattern: nothing but mutable objects of indeterminable state getting caught in infinite-loops or unbound recursion due to INotifyPropertyChanged - and Microsoft is still pretending that's the "right" way to build a UI.

Sorry am ranting on about something I have very little control over; it's just frustating.


Replies

pavlovyesterday at 9:01 PM

I made several large Cocoa (macOS AppKit, Obj-C) apps in 2004-2018 using the classic Smalltalk-inspired MVC patterns and this was never a problem. Sometimes writing the controller boilerplate was boring, but at least there were no observer loops, it was simple to debug where things happened, and undo/redo were reliable to implement through the framework.

Maybe Microsoft just never was very good at these 1990s style GUIs?

nxc18yesterday at 9:46 PM

WinUI3 is horrible, but that is an implementation detail. WPF isn’t so bad (of course for business reasons no one should use either).

I still see WPF and AppKit as both being superior UI technologies to web+react, if you ignore the challenges of distribution.

andyjohnson0yesterday at 8:16 PM

> nothing but mutable objects of indeterminable state getting caught in infinite-loops or unbound recursion due to INotifyPropertyChanged

Rant on brother/sister. I'm a year into building a large WPF (because reasons) app for my employer and some days its very difficult.

locknitpickeryesterday at 9:41 PM

> ...yes, Redux (not React) deserves to be #1,

This is a rather perplexing statement to make.

If anything, Redux only plays a role in adding syntactic sugar over React's support for reactive programming.

More importantly, the general guidelines are that you should only bother with Redux if your SPA is already considerably complex.

show 1 reply