<story><title>Create your own dysfunctional single-page app</title><url>https://tinnedfruit.com/articles/create-your-own-dysfunctional-single-page-app.html</url></story><parent_chain><item><author>qwerty456127</author><text>IMHO the whole advantage of single-page apps is about separating the UI and the data + using the browser as a cross-platform UI toolkit, runtime and deployment engine. The reason for SPAs to exist is that browsers are the only way to deploy an app that runs on every OS, looks pretty, automatically updates in an instant every time you run it and can be discovered and ran by everybody in a single click. Just imagine a world where something like WPF was made a truly free standard with full-featured 100%-compatible open-source implementations available on all the major OSes (Windows, Mac, Linux, Android, iOS) from the beginning and packed with efficient support for apps to be ran straight from a URL.</text></item></parent_chain><comment><author>boomlinde</author><text>In my experience, SPAs often grow to the point where the client-server boundary ends up being right in the middle of data, not between UI and data. The client-side starts to maintain its own complex state and set of data transformations not immediately concerned with UI given anything less than the perfect API.</text></comment>
<story><title>Create your own dysfunctional single-page app</title><url>https://tinnedfruit.com/articles/create-your-own-dysfunctional-single-page-app.html</url></story><parent_chain><item><author>qwerty456127</author><text>IMHO the whole advantage of single-page apps is about separating the UI and the data + using the browser as a cross-platform UI toolkit, runtime and deployment engine. The reason for SPAs to exist is that browsers are the only way to deploy an app that runs on every OS, looks pretty, automatically updates in an instant every time you run it and can be discovered and ran by everybody in a single click. Just imagine a world where something like WPF was made a truly free standard with full-featured 100%-compatible open-source implementations available on all the major OSes (Windows, Mac, Linux, Android, iOS) from the beginning and packed with efficient support for apps to be ran straight from a URL.</text></item></parent_chain><comment><author>mosselman</author><text>There are cases where a SPA might be a good idea, I think those cases can be counted on one hand. I don’t mean the products, but use cases.&lt;p&gt;I could imagine it would be more complex to build Slack using traditional server-side rendered HTML than building it as an SPA.&lt;p&gt;Nowadays though you see blogs, CRM systems, etc being built as SPAs, which just makes it more complex to work on them.</text></comment>