5 ms·
This was cross-platform too: https://en.wikipedia.org/wiki/Swing_(Java) https://en.wikipedia.org/wiki/Swing_(Java)
by mountaineer22 10y ago
This was cross-platform too:
https://en.wikipedia.org/wiki/Swing_(Java) https://en.wikipedia.org/wiki/Swing_(Java)
- mtrimpe 10y agoNot in the same way though. Swing drew and managed its own widgets using cross-platform Java. React Native uses native widgets and drives them from cross-platform JavaScript.
- mountaineer22 10y agoI find your comment incredibly insightful. Wonderful. Thank you.
- DoubleMalt 10y agoIn that React Native is more like SWT (also not entirely joyfult to work with)
- _asummers 10y agoIt was also highly stateful and was unpleasant to use, neither of which are problems with React. I do mostly backend, but I do code review on all our front end code, and it really seems to be close to the right abstractions for building good UIs.
- Drdrdrq 10y agoIMHO it was actually quite easy to use and had very sensible abstractions, however it failed to look good anywhere. SWT was much better in this regard (but much less fun to use).
- duaneb 10y agoIt was straightforward to use. I wouldn't call it easy by any stretch of the imagination--you're still trapped into Java-style callbacks. It also has all the classic problems of event loop oriented frameworks, meaning you're manually managing massive state machines. IIRC there was no attempt to assist organizing the data flow across user actions except via traditional threading coordination mechanisms.
- beagle3 10y agoWhat other coordination mechanisms do you have in mind? (assuming closureless/continuationless languages like Java or C++ pre 14)
- duaneb 10y agoWell, I wouldn't use a closureless/continuationless language for a UI except as a platform for a higher language. This is 2016 and the lack of such primitives are absurd. For the time, Swing was pretty good. Things have moved on and now data flow and state management are primary selling points—see things like CoreData (I'm not really aware of anything like it in other languages) or two-way binding that's prevalent in javascript libraries. This by no means solves state management but I think the primitives are easier to reason with.
- mwcampbell 10y agoWhat, in your opinion, made SWT less pleasant to work with than Swing?
- pluma 10y agoSwing is cross-platform in the sense that "HTML5" (i.e. HTML-plus-JS-plus-CSS-plus-Web APIs in a browser) is cross-platform. The "Native" part about React Native refers to React Native using native components of the operating system (like SWT, I think?).