4 ms·
So, this is going back from SPA ("ship the code to display and interest with data once, and ship only data multiple times") to server side rendering ("ship both
by phtrivier 5y ago
So, this is going back from SPA ("ship the code to display and interest with data once, and ship only data multiple times") to server side rendering ("ship both the data and the code") ; except that, instead of sending html and JavaScript, they invented an abstraction over layout and interaction.
That makes sense if:
- you have many clients
- that change very often
- but with a kind of change that is fairly consistent
- and you have the engineering horsepower to maintain your own in-house abstraction layer
I wonder if someone suggested jumping the shark altogether, and shipping the whole app as a single s-exp, and make you client a lisp interpreter with a custom logo... (But maybe app stores thrown on that ?)
- minitoar 5y agoYeah app stores generally don’t allow for downloading code like that.
- Closi 5y agoTrue, but app stores also don’t generally allow for what is described here either, as it would allow airBnB to change their app retrospectively to something that breaks the rules. (I appreciate that they did actually allow it this time, but it does seem against their own rules)
- andy_ppp 5y agoNot sure, React native and code push definitely allow this - I think as long as you don’t change what the app does you’re fine.
- spoonjim 5y agoCompanies of AirBnb's size have a backchannel with Apple and don't necessarily have to play by the rules of the proletariat.
- blntechie 5y agoExactly my thoughts, why not generate HTML in the server dynamically and send it across? I’m pretty sure such similar things are being done since the 90s.
- throwaway_2047 5y agoExactly my thought. My theory is that dev nowadays grow up in SPA/mobile client era and they are rediscovering what html was meant to be 20 years ago. I once wanted my SPA to render html directly by fetching the html from my trusted backend and shoving its response directly into a react component using dangerouslySetInnerHTML. One dev told me, "wait, you are opening door for XSS!"
- inopinatus 5y agoAn intermediate UI abstraction may hold some appeal if you maintain apps delivering equivalent function across a diversity of device types and capabilities. The best example I can think of would be a streaming media service that ships an app for hundreds of different TVs, STBs, dongles, NASes, mobile devices etc etc that all front basically the same service. > shipping the whole app as a single s-exp Be careful what you wish for. You may reinvent Lotus Notes by mistake.
- FindMySocks 5y agoI'd blanked lotus notes from my mind. As an ex Notes developer, you're bringing back horrible memories.