4 ms·
Great writeup, thanks to the author for sharing his deep experience in such a readable way. My career has also spanned different eras of UI tech, from win16/32,
by marstall 4y ago
Great writeup, thanks to the author for sharing his deep experience in such a readable way. My career has also spanned different eras of UI tech, from win16/32, through server-generated HTML, Objective C and Swift/UI on mobile, and now I'm a full-time react and react native neckbeard.
And I ran to the react stack about 7-8 years ago from native iOS development. It made everything so much easier. On the way out the Cocoa door, I was pelted with comments about Performance, which was viewed as lacking in JS, a true second class citizen on a smartphone.
And they were right. If your app needed it.
Which it generally didn't - until it did. When the app I was writing started dealing with larger and larger amounts of data, a larger and larger number of views to visualize that data, large images being panned and zoomed ... I wanted the bare metal, I wanted the multithreading. I wanted the memory control.
That said, if you aren't going to push things that far graphics wise, and most apps don't, js/css/html is, to me, a far more joyful way to go.
Author didn't even touch on compile-time benefits, but they are spectacular when you go from Xcode, to React, then put the afterburners on with Fast Refresh, which is, truly, instant.
- bombolo 4y agoWell if you include the "download all the js dependencies" step… there it goes any time benefit you might have gained.
- marstall 4y agothat's not part of Fast Refresh. Fast Refresh only compiles the lines you've changed - something like that.
- bombolo 4y agoYou know that c++ also doesn't need to recompile everything if you just change 1 file right?
- marstall 4y agothere's a magic with fast refresh which is that the code doesn't need to be rebundled and redeployed after a change. this would correspond to the linking and execution phase in c++. makes for an amazing experience when you are doing interactive development, orders of magnitude better in terms of responsiveness to the code you're writing.