News for hackers. Stuff that matters.
Re:The balance has shifted away from SPAs by enra on Saturday May 21, 2022 @01:31PM (#31459936)
Apps, not sites. It’s even in the name, Single Page Application. You probably shouldn’t build websites as SPAs but you probably should build most apps as SPAs.

Slack, Dropbox, Google, Notion, Spotify, superhuman, 1Password, Robinhood…

Basically most web tools/apps are SPAs if they have been built in the last ~10years. Github, Reddit and Airbnb were founded ~15 years ago when Rails was still a thing.

Re:The balance has shifted away from SPAs by s__s on Saturday May 21, 2022 @02:44PM (#31460627)
> You probably shouldn’t build websites as SPAs but you probably should build most apps as SPAs.

As a frontend dev this has always been my stance, but I’ve been consistently shunned for it.

How much of that was naïveté vs. misaligned incentives I’m not sure.

In any case, these thing always leave me with the feeling the industry is getting way too saturated with script kiddies. It just feels immature, and the culture that’s grown around web dev seems to reflect that. Or more likely I’m just bitter and old.

Re:The balance has shifted away from SPAs by teakettle42 on Saturday May 21, 2022 @03:39PM (#31461071)
OS developer here. You’re all naive children playing in our sandbox, arguing over what color to paint your sandcastles.

Or more likely I’m just bitter and old.

Re:The balance has shifted away from SPAs by LAC-Tech on Saturday May 21, 2022 @07:41PM (#31463302)
App developer here. Your sand sucks and it's affecting our apps!
Re:The balance has shifted away from SPAs by amelius on Saturday May 21, 2022 @08:09PM (#31463527)
Make your own sand then.
Re:The balance has shifted away from SPAs by andai on Saturday May 21, 2022 @08:55PM (#31463826)
Re:The balance has shifted away from SPAs by webmaven on Sunday May 22, 2022 @01:52AM (#31465238)
… and then go pound it?
Re:The balance has shifted away from SPAs by mLuby on Saturday May 21, 2022 @05:12PM (#31461876)
Purity: https://xkcd.com/435/

Farmville Devs <- Facebook Devs <- Chrome Devs <- OS Devs <- Chip Devs <- Factory Devs

Re:The balance has shifted away from SPAs by kristopolous on Saturday May 21, 2022 @07:17PM (#31463107)
It's almost like their small differences come with some narcissism.
Re:The balance has shifted away from SPAs by ragnarok451 on Sunday May 22, 2022 @04:24AM (#31466045)
We need a hardware dev to chime in
Re:The balance has shifted away from SPAs by webmaven on Sunday May 22, 2022 @01:51AM (#31465233)
Speaking from personal experience, those aren't mutually exclusive.
Re:The balance has shifted away from SPAs by ericmcer on Sunday May 22, 2022 @12:38AM (#31464923)
If you feel old you should try Next.js. I dove into it recently and joined the Discord channel, sometimes I answer questions. It is really interesting helping people who are creating complex apps by stitching together a bunch of npm modules while having absolutely no clue about the underlying implementations, or the basics of web dev and javascript.
Re:The balance has shifted away from SPAs by regularfry on Sunday May 22, 2022 @08:39AM (#31467492)
And the meta-interesting thing is, once the abstractions get good enough, that is the correct direction for things to move in.

The abstractions are not, however, good enough yet.

Re:The balance has shifted away from SPAs by MrBuddyCasino on Saturday May 21, 2022 @02:57PM (#31460744)
People largely don’t think for themselves, every once in a while the firmware gets updated and they have a new opinion. All you can do is pick your battles, there is finite amount of credits to spend.
Re:The balance has shifted away from SPAs by ChefboyOG on Monday May 23, 2022 @08:36AM (#31478193)
We are bitter and old, but that doesn't make us wrong ;)
Re:The balance has shifted away from SPAs by brailsafe on Saturday May 21, 2022 @06:43PM (#31462768)
I liked to put the line between whether you're required to sign in to use it or not. If none of the data was necessarily publicly accessible anyway, that's more of a spa suited interface
Re:The balance has shifted away from SPAs by webmaven on Sunday May 22, 2022 @01:55AM (#31465251)
Not sure that heuristic works. For many people, the major destinations that require a login are paywalled content sites.
Re:The balance has shifted away from SPAs by brailsafe on Sunday May 22, 2022 @05:06AM (#31466237)
Well, it would be one of many. Considering building an SPA for a paywalled content site would be a little surprising to me in the first place, but it would make a lot of sense to me for any of the behind-the-scenes or account management facilities you'd only ever see once you've logged in. I wouldn't expect the content view to either be sufficiently interactive on its own, or sufficiently interactive when coupled with other aspects of the UI, to require the complexity of an SPA at all.
Re:The balance has shifted away from SPAs by webmaven on Sunday May 22, 2022 @09:51AM (#31468197)
What do you think the full set looks like?

Once you start adding conditions and context to the heuristic, it starts to look a lot like a Design Pattern.

Re:The balance has shifted away from SPAs by brailsafe on Thursday May 26, 2022 @06:45PM (#31524188)
The full set would be something like who the target market is, whether it's a completely internal or completely standalone thing that just happens to be built with web tech, whether it's intended to be offline-capable and whether there's a lot of state involved in the interactive capabilities of most views, should there be the capability to do any kind of concurrent UI things like picture-in-picture video while someone navigates the rest of the screens and changes data frequently, and then the importance/complexity of maintaining a high-level of accessibility.

What I was describing could maybe be conceptualized as multiple applications that serve one larger site. You have the public facing staticly rendered site, built in whichever way, but that ultimately has accessible rendered content on page load and as fast as possible. Then you also have interfaces to the data that is rendered there, which might be completely separate codebases for different purposes.

These could also take place in things like a reporting portal inside a company, where stakeholders need to regularly see static or filterable reports of pre-rendered data, and then you have other internally available apps that different departments can use to manipulate that data in ways that they can easily receive immediate feedback on whether or not it's valid or how it looks etc..

Re:The balance has shifted away from SPAs by ttty on Sunday May 22, 2022 @12:44AM (#31464949)
I’m also surprised how people can’t see the benefit of have 1 way of doing things. 99% of the websites end up in app like features.

Maybe we don’t talk about the same thing, but isomorphic code with react is great for websites too: server side render, instant page change on client side. Reuse of exact code. Huge benefits.

Re:The balance has shifted away from SPAs by mostlysimilar on Saturday May 21, 2022 @01:54PM (#31460189)
Rails is still “a thing” and is better today than it has ever been.
Re:The balance has shifted away from SPAs by LAC-Tech on Saturday May 21, 2022 @07:42PM (#31463323)
I avoid rails-style megaframeworks like the plague. I'm fine writing the glue code if it means I understand more of the stack, or it doesn't refuse to budge if I occasionally have to go "off the rails".
Re:The balance has shifted away from SPAs by hirvi74 on Saturday May 21, 2022 @02:30PM (#31460496)
Really? I miss it sometimes. I haven't kept up with it in over 5 years (switched to .Net now).

I am just curious, why would I use Rails over something like .Net in today's time? I am no apologist for .Net or anything, I am just genuinely curious.

Re:The balance has shifted away from SPAs by msbarnett on Saturday May 21, 2022 @03:12PM (#31460852)
Because you or a team knows it, because it's still a hell of a lot more of a batteries included ecosystem than the last Scala or node projects I was involved in which had to reinvent a shocking number of wheels that are table stakes in Rails-land (can't speak to .net, never been an MS stack dev), because you're working with some other Ruby or Rails thing and its easiest to stay compatible, because there's a lot of mature, profitable projects out there hiring in it with high salaries ;), etc

It's an engineering decision with tradeoffs, like every engineering decision.

Re:The balance has shifted away from SPAs by regularfry on Sunday May 22, 2022 @08:41AM (#31467519)
My gut feel is that the .Net ecosystem is probably more complete than the Rails ecosystem, but part of that is because there's a larger market for commercial components. Like you say, tradeoffs.
Re:The balance has shifted away from SPAs by jb3689 on Saturday May 21, 2022 @03:39PM (#31461073)
Hot take: Phoenix does almost everything Rails does but better. Ruby is still superior for scripting, but OTP gives you so much flexibility for integrating your backend (supervision is built in, process abstraction is built in, rpc is built in, microservice architecture is built in). The only other thing I don’t care for with Phoenix is the amount of metaprogramming which I think is even worse than Rails
Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @12:20AM (#31464853)
Hot take: Everyone now uses k8s, I don't get why forcing our devops team to learn OTP and understand how to integrate Elixir with k8s is a benefit, it will only be harder for them. So you get most of the benefits like scalablity/reliability etc even if you're on the Rails - but you don't have to expose junior devs to a complicated and obscure stack like Elixir.
Re:The balance has shifted away from SPAs by pmontra on Sunday May 22, 2022 @02:50AM (#31465561)
All those people using k8s don't include any of my customers. Current projects are Django sites running on VMs, Rails sites on a kind of Heroku service and a Phoenix app running on VMs plus some Elixir services running on Google Cloud serverless services.

Actually the latter is a candidate to k8s because the team knows less and less of server management. I think they are going to replace complexity with complexity for something that fits well in a small VM. We will see.

Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @05:37AM (#31466405)
They sound like small clients, no offense. Indeed for them k8s is probably an overkill - as is Elixir.
Re:The balance has shifted away from SPAs by pmontra on Sunday May 22, 2022 @08:23AM (#31467354)
No offense taken. Small contractor, small customers. The long tail doesn't need fancy technologies devised by companies that have to serve billions of users and yet a lot of people live there.

About Elixir, I don't think it's an overkill. I find its pattern matching much better than anything similar in Python and Ruby. Running a background job without having to use Celery or Sidekiq is great. The deploy story is worse than Ruby's (IMHO) in part because it's compiled (I prefer to deploy with Capistrano than having to build and deploy.) Python's deploy story just doesn't exist. According to the project I'm using a self made Capistrano equivalent, git pull or sending git patches to the server.

Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @10:06AM (#31468309)
I'm sure you serve them well with Elixir. All these technologies are good enough. You wouldn't be able to build stuff for them in PHP/Ruby/Java? You would, but you prefer Elixir because you think it's superior and thats fine. But even if its superior you have to agree equivalent stuff is being built in 15 other stacks. Technology choice is a bit overrated imo.
Re:The balance has shifted away from SPAs by pmontra on Sunday May 22, 2022 @03:51PM (#31472038)
Actually the customer chose Elixir. They found me because there weren't many Elixir developers in my country when the project started years ago. I prefer Ruby for my own stuff which of course is way smaller than customers projects.
Re:The balance has shifted away from SPAs by swat535 on Saturday May 21, 2022 @03:25PM (#31460949)
I don't think there is any particular "reason". Majority of the languages and tools are really good enough to achieve 90% of business use cases out there.

Unless you have some specific requirements for you app like high concurrency or memory safety and so on, then you can pick whatever you (or your team) are most comfortable with: Django, Rails, Symphony, .. are all excellent.

It's more about solving business problems and building great systems than anything else. All tools have pros and cons of course, it's simply up to us to review the requirements and pick the right one for the job.

Re:The balance has shifted away from SPAs by jhgb on Saturday May 21, 2022 @02:51PM (#31460686)
I imagine that one reason why you might want to use it is if you don't like the "let's reinvent the wheel incompatibly every three years" approach from the .NET world.
Re:The balance has shifted away from SPAs by hirvi74 on Saturday May 21, 2022 @04:21PM (#31461435)
I'll be honest, this made me chuckle.

You are not wrong though, and it's quite annoying when hopping between multiple .Net versions. I feel like I have a bit of insight into what it would have been like to be developing in Python during the 2.x to 3.x schism years back.

Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @12:22AM (#31464856)
Never knew this was the case, I thought these enterprisey stacks were all about moving slow and being compatible. Why are they doing this then?
Re:The balance has shifted away from SPAs by tsimionescu on Sunday May 22, 2022 @03:54AM (#31465912)
Microsoft has a strong stance of backwards compatibility, but they achieve this by freezing the The Old Thing as much as possible and keeping it working as is.

Then, they come up with The New Thing every few years, which is not backwards compatible and only handles 20% of what the old thing did + a few new things, but they promise this is the future and will eventually have all the features. The Old Thing is always there if you want it, so there's no reason to revolt when this happens.

The New Thing will eventually be replaced by a Newer Thing, get frozen in its current status, and the Newer Thing will be promised to be the future.

A nice example is Windows GUI. The Old Thing is GDI. Then they invented WinForms in .NET, then WinForms was abandonned in favor of WPF, then WPF was abandonned in favor of Metro/Modern/Universal apps, and last I checked they had some new HTML+JS-based stack available. All of these frameworks still work - you can take an app built with any of them and run it on the latest Windows, and you can even build a new App based on any of them and still find resources for it etc. But none of the old ones are getting new features, and MS will steer you to one of the newer ones instead.

The same kind of thing happened with communication frameworks (COM, then WCF, then???), with ORMs (ADO.NET, LINQ to SQL, Entity Framework, Entity Framework Core) and I'm sure others.

Re:The balance has shifted away from SPAs by v-erne on Sunday May 22, 2022 @06:45AM (#31466778)
And don't forget about silverlight and frameworks build on top of it (for enterprisy like form apps). That one was one hell of a swamp that almost drowned my friend's startup after MS decided to kill it. Years of hard work went down the drain at a snap of a finger.
Re:The balance has shifted away from SPAs by regularfry on Sunday May 22, 2022 @08:47AM (#31467552)
This is exactly why I got off the MS merry-go-round. The strategy seems to be to keep developers constantly chasing the Next Thing so they haven't got time to explore alternatives.

I detect a similar strategy with Apple and the app store: make it so that the long tail of small developers can't invest in more than one platform by moving goalposts so frequently you spend any spare cycles you have trying to keep up.

Re:The balance has shifted away from SPAs by dghlsakjg on Saturday May 21, 2022 @02:43PM (#31460613)
Rails has added a lot of cool built in stuff. SPA like stuff that is done over sockets but written in ruby (Hotwire is the name of it) is the most germane to this conversation.

But all t he other stuff common to popular libraries still applies, tons of community support, huge extensibility, large population of devs that have experience building large apps.

Re:The balance has shifted away from SPAs by DeathArrow on Saturday May 21, 2022 @03:16PM (#31460886)
With net you can accomplish the same with HTMX. And you can do the a SPA frontend fully in C# using Blazor.
Re:The balance has shifted away from SPAs by Zak on Saturday May 21, 2022 @10:14PM (#31464289)
It's mature.

That means it's not likely to make huge breaking changes without lots of notice. Its development team isn't going to find something more interesting to do tomorrow. Lots of people know it. There are lots of libraries and tools that work with it. Its capabilities and limitations are well understood and predictable. Its future isn't tied to a single vendor. Lots of people know it.

Re:The balance has shifted away from SPAs by paulgb on Saturday May 21, 2022 @02:37PM (#31460563)
I haven’t kept up with either, but remember that “because you know it” is a perfectly reasonable and fine reason!
Re:The balance has shifted away from SPAs by travisgriggs on Saturday May 21, 2022 @05:21PM (#31461952)
I struggle with this a little. Or rather, I struggle with the counter corollary: “Because you don’t know it.”

I mean, I solve most of my problems with the hammers I have at hand. But I try not to fall exclusively in this trap of “I will use tech X because that’s what I know.”

But I see a majority of my programming peers who will avoid moving “forward” because it’s easier to “stay behind.” At first, this works, because the difference between what’s new and evolving versus what’s established and a “core competency” is trivial and easy to marginalize. As it persists over time though, the investment can become a real millstone.

I am pretty comfortable with Python. We use it some pretty key areas in our product. It’s an established technology and competency for us. Last year, I needed to construct a service that was going to involve spinning up LOTS of little long lived threads. I was concerned about doing this in Python. Doing so would be easy and straightforward. “Because I know it” would definitely have said “do this in Python right now, deal with scaling issues later.” Instead I looked around and deemed this a good reason to take Elixir for a spin. I’m glad I did. It turned out to be a good fit for this problem. “Because I don’t know it” caused others around me to raise their eyebrows and question my approach initially. Was it the 100% best choice? Who knows for sure. But it’s worked out well. Ironically, just the other day, a data serialization library I have in both systems, the Python one needed to run faster (new use case for it suddenly needed speed that we didn’t hitherto care about). After some profiling, I rearchitected the python algorithm to be more similar to the Elixir one and gained about 50% speed up.

Re:The balance has shifted away from SPAs by regularfry on Sunday May 22, 2022 @08:51AM (#31467588)
A lot of places suffer from not believing they have the capacity to use the right tool for the job if it's not in the tech stack they already have. Similarly, people over-index on having a comfortable implementation path for feature X in technology Y, whereas technology Z, if they cared to look at it, would halve (or better) the implementation time.
Re:The balance has shifted away from SPAs by webmaven on Sunday May 22, 2022 @02:00AM (#31465282)
> After some profiling, I rearchitected the python algorithm to be more similar to the Elixir one and gained about 50% speed up.

That would be a VERY interesting case study. Any chance you could write it up as a blog post or similar?

Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @12:25AM (#31464870)
There's so much more to this then Stack X runs faster or has better concurrency - there's development time, there's the team's ability to maintain the code, there's community size. Performance is overrated most of the time - it simply doesn't matter much to the business if you save some money on AWS bills compared to human cost.
Re:The balance has shifted away from SPAs by weatherlite on Sunday May 22, 2022 @12:17AM (#31464843)
Nothing changed much in the last 5 years, if you like .Net better stick to .Net. The fact you miss Rails sometimes means it wasn't that bad though.
Re:The balance has shifted away from SPAs by charlie0 on Saturday May 21, 2022 @09:48PM (#31464142)
Same for Laravel, although it hasn't grown as much as Rails, the amount of batteries included is amazing. There's very little I've had to reinvent, unlike my Node JS projects, where there's too much time wasted in finding and learning 3rd party packages that are outdated in a year or two.
Re:The balance has shifted away from SPAs by kache_ on Saturday May 21, 2022 @02:20PM (#31460406)
only because the companies that use rails are stuck on it :P
Re:The balance has shifted away from SPAs by djfobbz on Saturday May 21, 2022 @03:08PM (#31460827)
Majority of the ones I know are making billions. Why change something that’s already profitable?
Re:The balance has shifted away from SPAs by kache_ on Sunday May 22, 2022 @06:07PM (#31473285)
Why make billions when you can make millions (not dealing with bad async primitives and type safety that doesn't need some third party project like sorbet)
Re:The balance has shifted away from SPAs by moooo99 on Sunday May 22, 2022 @04:17AM (#31466004)
Many start-ups (especially ones that aren't backed by millions of VC money) choose Rails because of the super high developer productivity and the broad availability of well tested packages.

You could just fade out rails as you could with any other monolith, but many companies aren't doing it because it offers legitimate advantages.

Re:The balance has shifted away from SPAs by wiseowise on Sunday May 22, 2022 @03:04AM (#31465634)
Nope.
Re:The balance has shifted away from SPAs by winternett on Sunday May 22, 2022 @02:13AM (#31465354)
Amen, I fondly recall the days when browsers went back to exactly the same page and data that I was on before when I click the back button.

Database driven sites and apps have experienced great performance and functional gains since the marketing teams pushed SPAs onto everything and it's tragic that billions of dollars will be thrown off a cliff (once again) to refactor everything back to prior methods... Hubris always wins until it fails massively.

That being said, SPAs do work well for certain things, but people just keep losing track of the right shoe for the right foot.

Re:The balance has shifted away from SPAs by dmje on Saturday May 21, 2022 @03:29PM (#31460983)
Couldn't agree more, been saying this for years. There are moments when an "app-like" experience is what's required - and that's mostly (not always but mostly) when these SPAish approaches are relevant.

On big, sprawling, multipage content-rich websites, not so much if at all.

It depends. Web people should have this tattooed on their foreheads.

Re:The balance has shifted away from SPAs by mattgreenrocks on Saturday May 21, 2022 @07:30PM (#31463214)
“It depends” never leads to thought leadership, though.
Re:The balance has shifted away from SPAs by vbezhenar on Saturday May 21, 2022 @04:20PM (#31461429)
IMO the distinction is simple. You want Google to index your website. You don't want Google to index your webapp.

I'm aware that Google can run JS, but its support is limited compared to server rendering and there are other crawlers behind Google which probably will never be as sophisticated.

Re:The balance has shifted away from SPAs by mhoad on Sunday May 22, 2022 @05:47AM (#31466451)
It’s literally just headless evergreen chromium handling the rendering these days and has been for a while. It handles JS fine on the condition that you as a developer continue to think about accessibility.
Re:The balance has shifted away from SPAs by vbezhenar on Monday May 23, 2022 @03:07PM (#31483605)
It requires tremendous resources compared to html parser. It's possible, but very costly if you want to crawl the entire Internet.
Re:The balance has shifted away from SPAs by Mordisquitos on Saturday May 21, 2022 @04:56PM (#31461713)
Yes, sure. If you don't want Google to index your online service, one way to do it is to design the whole thing as an SPA, with all the added complexity and reinvention of the wheel that it involves.

The other way is to add a few lines to your `robots.txt`.

Re:The balance has shifted away from SPAs by muxator on Saturday May 21, 2022 @03:08PM (#31460825)
> Google

If you mean "google" as "google properties as a whole", then yeah (the fusion of google maps and google earth is something absolutely _mind blowing_ to see in a web browser, for example).

If you mean "google" as "the search engine", then I was perfectly fine with a server side rendered, non-so-much-semantic search it was until last decade. Advanced search worked well, fast as hell already. Hell, there were two search text boxes if you wanted to search for something else once you scrolled down to the bottom of the page.

Re:The balance has shifted away from SPAs by eschaton on Saturday May 21, 2022 @06:46PM (#31462813)
Nah, you should build most apps using operating systems’ native toolkits, and stop trying to pretend web pages are applications.
Re:The balance has shifted away from SPAs by bowsamic on Sunday May 22, 2022 @02:08AM (#31465323)
But then you have to build it three times for desktop and another two times for mobile
Re:The balance has shifted away from SPAs by the_gipsy on Sunday May 22, 2022 @03:43AM (#31465867)
Mobile users can just use the web. Clicking a link is much easier than installing yet another app.
Re:The balance has shifted away from SPAs by CPLX on Saturday May 21, 2022 @02:24PM (#31460445)
If the Shopify ecosystem was the only example of rails in existence then rails would still definitely be a thing.
Re:The balance has shifted away from SPAs by unclebucknasty on Saturday May 21, 2022 @10:56PM (#31464488)
>Apps, not sites. It’s even in the name, Single Page Application...you should probably build most apps as SPAs.

The whole concept of Single Page Applications was misguided from the start, and the reason for that is even in the name. Pages and applications should never have been mashed together. The moment we decided we needed apps, we should have abandoned the static document-based "page" concept altogether.

We shoul've replaced it with a browser-hosted VM-based execution environment in which proper apps could be built.

It's never been a question of MPA vs SPA. The question has always been how do you build browser-based applications in a way that escapes the impedance mismatched document/html model?

Re:The balance has shifted away from SPAs by dsego on Sunday May 22, 2022 @06:04AM (#31466551)
We had that, remember flash and java applets? Well, it wasn't that great.
Re:The balance has shifted away from SPAs by unclebucknasty on Monday May 23, 2022 @01:17AM (#31475536)
Sort of. But, was the problem the principle or the execution? Those "solutions" pre-dated the idea of building robust apps with native Web-idioms (e.g. SPAs). So, they tried to layer on an entirely different non-Web platform, including a completely new, non-browser native UI framework.

And, we're now delivering entire frameworks to the browser to support, essentially, a kludgy VM-based approach that just shoehorns app concepts onto the HTML document model.

So, what I'm suggesting is more of an in-browser hybrid.

Assuming the only two approaches are Flash or React seems like an industry-wide failure of imagination.

Re:The balance has shifted away from SPAs by karmakaze on Saturday May 21, 2022 @04:30PM (#31461514)
I was expecting a discussion of native, cross-platform or hybrid apps. Single or multi-page application/site barely registers as a distinction to me like it once did with faster mobile networks and devices.

I'd venture to guess that even an MPA comprising multiple SPA 'pages' is an unsurprising composition especially for captive audience apps like internal, or government etc.

Re:The balance has shifted away from SPAs by andyp-kw on Saturday May 21, 2022 @01:54PM (#31460184)
Rails never went away.
Re:The balance has shifted away from SPAs by criddell on Saturday May 21, 2022 @02:12PM (#31460340)
What are the primary characteristics that distinguish a web site from a web app?
Re:The balance has shifted away from SPAs by jvalencia on Saturday May 21, 2022 @03:52PM (#31461187)
I would say interactivity. A spreadsheet for example, you are constantly modifying rows. You want that in memory in the browser, not on a server, where you need to constantly be making ajax calls.

How many micro-interactions do you want --- the more you have, the more likely you want an application rather than a site.

Re:The balance has shifted away from SPAs by snowwrestler on Saturday May 21, 2022 @03:18PM (#31460899)
For me it is reading vs doing.

When you first go to aws.amazon.com, you get a website with content about AWS.

Once you log in, you’re in the AWS web application, and it’s time to start doing things.

Forums like HN, I would consider websites because there is a lot of reading and not much doing.

Re:The balance has shifted away from SPAs by mmcnl on Saturday May 21, 2022 @03:40PM (#31461081)
I'd say there's is not a clear definition, but I think: low interaction intensity / no personalized experience = website, high interaction intensity / personalized experience = application.

Wikipedia and blogs are mostly for consuming content and it's the same content for everyone. Clearly a website. Instagram usually isn't super interactive, but it's extremely personalized, so it's much more like an app. Gmail also clearly a web app.

Re:The balance has shifted away from SPAs by pmontra on Sunday May 22, 2022 @04:04AM (#31465953)
Facebook used to be server side PHP and it always was personalized. I think the distinction is more about the degree of interactivity. Highly interactive GUIs (the hell of jQuery developers) went to SPAs and are called webapps. Low interaction GUIs could be server side rendered with the technologies of 20 years ago even today. Most banking sites are low interaction and could be old style Java even if almost every one I see is a SPA now. The distinction is very fuzzy.
Re:The balance has shifted away from SPAs by JohnBooty on Sunday May 22, 2022 @12:23AM (#31464862)
Why would an SPA do a "personalized experience" better than a traditional website?

Amazon is highly personalized and fits well into the standard web page paradigm. What about Instagram's "personalization" wouldn't work as a standard web page?

Re:The balance has shifted away from SPAs by moooo99 on Sunday May 22, 2022 @04:21AM (#31466025)
> What about Instagram's "personalization" wouldn't work as a standard web page?

Really nothing. But for most people Instagram is primarily a mobile application and comes with the usual experience of a mobile application. Transitions, fast reactions, no "whole page" reloads, etc.

Continuing this experience into the less frequently used browser version only makes sense, especially given the fact that Instagram's tooling allows for a relatively easy transfer (iirc large parts of the mobile apps are implemented using React Native)

Re:The balance has shifted away from SPAs by dmje on Saturday May 21, 2022 @03:35PM (#31461037)
Possibly old fashioned view here but I think of it in two ways.

Firstly if it's "transactional" it fits more often into the label of "application". If it is there mainly for consumption of media, it's more "Web site".

Secondly, I think it's useful to think about what it'd feel like as a desktop app. Stuff like say Google Sheets would feel perfectly normal running on your desktop. It's super snappy, all on-page. Something like the BBC or HN, not so much.

Re:The balance has shifted away from SPAs by glitcher on Saturday May 21, 2022 @02:55PM (#31460730)
At a very superficial level, HN feels like a website and logging in to do my banking feels like a web application. But trying to drill down into specific definitions or draw a clear line between them seems to fall apart quickly. So I guess for me at least I really don't know the answer, but also don't think it's terribly useful to make a distinction either.
Re:The balance has shifted away from SPAs by edflsafoiewq on Saturday May 21, 2022 @03:26PM (#31460958)
A bank should be a website (if only my bank would agree...). If you're making a Photoshop clone in the browser, that's web app territory.
Re:The balance has shifted away from SPAs by krapp on Saturday May 21, 2022 @03:13PM (#31460863)
>But trying to drill down into specific definitions or draw a clear line between them seems to fall apart quickly.

The only clear line I've seen is javascript. If it uses javascript for anything nontrivial, people believe it's a web app. This comes up all the time in threads about "the old web" or "how you would fix the web," in the context of what seems to be a prevalent belief on HN that the web should be split up between the two paradigms, with purely static, noninteractive "sites" in one place, and "apps" in the other.

Problem is, as mentioned upthread, the vast majority of sites using javascript, including SPAs, are still meant to be read as documents. If you include any form of interactivity, including backend processing and rendering, even more sites become apps.

In practice, it seems to me to be more of a religious taxonomy than a technical one, based on the belief that the modern web has become tainted by complexity and needs to be made pure again.

Re:The balance has shifted away from SPAs by giantrobot on Saturday May 21, 2022 @09:33PM (#31464037)
> In practice, it seems to me to be more of a religious taxonomy than a technical one, based on the belief that the modern web has become tainted by complexity and needs to be made pure again.

I see it more being whether a page uses progressive enhancement. If I can disable JavaScript and at least be able to read a page's content, then its a web page rather than an app. If JavaScript is an absolute requirement for any functionality it's an app.

A page with some client-side form validation, AJAX submissions, or even just some dynamic content are awesome uses of JavaScript so long as the pages themselves don't hinge on me running the JavaScript. Posting a comment might be a POST and clicking an image thumbnail might load it in a new tab instead of a light box. The functionality is all still there if for any reason the JavaScript doesn't load.

One of my big problems with "apps" is they have zero provisions for JavaScript not running. Most "apps" don't even give an error page telling you explicitly JavaScript is required. Even when you have JavaScript enabled they tend to break in stupid ways if you've got an ad blocker.

Re:The balance has shifted away from SPAs by em-bee on Saturday May 21, 2022 @02:54PM (#31460716)
i'd say the dynamic of the content.

anything that can be done offline ought to be an SPA so that it can be made to actually still work without internet access.

Re:The balance has shifted away from SPAs by Avshalom on Saturday May 21, 2022 @02:26PM (#31460465)
number of pages
Re:The balance has shifted away from SPAs by fdschoeneman on Sunday May 22, 2022 @02:17AM (#31465375)
Your first paragraph is money and I don't want to get on a tangent, but I'm curious to know what you think rails is today, if not a thing?
Re:The balance has shifted away from SPAs by ughitsaaron on Sunday May 22, 2022 @07:33PM (#31473870)
What’s the method for determining what counts as a “website” versus a “web app”? For instance, what makes AirBnB or Amazon a “website” but Google an “app”? Are blogs which use SPA frameworks or dynamic routing necessarily “applications” because of the tools they use or can they be classified as a website in spite of them?
Re:The balance has shifted away from SPAs by likortera on Sunday May 22, 2022 @06:52AM (#31466814)
The problem is that it is not that easy to classify stuff as black or white. Most of the services we use are right in between. What's worse, what starts on one side might evolve to the other as new features are added.

So the "It's even in the name" argument is not an easy decision point as you make it look like.

Re:The balance has shifted away from SPAs by pcmaffey on Saturday May 21, 2022 @04:57PM (#31461729)
The distinction is between websites as documents and websites as applications. Both are still websites.
Re:The balance has shifted away from SPAs by usrn on Saturday May 21, 2022 @09:15PM (#31463948)
The line between app and site is fuzzy IMO. Does cloudflare's documentation reader count as an app or a site? They certainly wrote it as an SPA. Hackernews seems more like something I would call an app etc.
Re:The balance has shifted away from SPAs by usrn on Saturday May 21, 2022 @09:15PM (#31463941)
The line between app and site is fuzzy IMO. Does cloudflare's documentation reader count as an app or a site? They certainly wrote it as an SPA.
Re:The balance has shifted away from SPAs by tr1ll10nb1ll on Sunday May 22, 2022 @05:52AM (#31466481)
I’m building an “app” using the low-JS approach with HTMX and Alpine (Django back-end) and it seems to give a more hybrid experience.
Re:The balance has shifted away from SPAs by TekMol on Saturday May 21, 2022 @01:35PM (#31459983)

    Slack, Dropbox, Google, Notion,
    Spotify, superhuman, 1Password, Robinhood…
I don't use any of these. With the exception of Google (the search engine). Which I don't think is a SPA. When I type a search query and hit enter, it loads a new page. When I click on the next page at the bottom, it also loads a new page.
Re:The balance has shifted away from SPAs by gunapologist99 on Saturday May 21, 2022 @01:48PM (#31460126)
Both Google Maps and Gmail were among the very first SPA's.
Re:The balance has shifted away from SPAs by tatersolid on Sunday May 22, 2022 @07:50AM (#31467119)
Wasn’t the first SPA actually Microsoft’s Outlook Web Access 5.0, back in 1997?
Re:The balance has shifted away from SPAs by nsonha on Sunday May 22, 2022 @05:23AM (#31466342)
> I don't use any of these

Thanks for letting us know everyone was waiting for you stating your personal preferences, so they can follow suit.