14 ms·
Where are those SPAs everybody is talking about? All sites I use regularly are MPAs: Hackernews, Amazon, AirBnB, Booking.com, Wikipedia, GithHub ... Reddits
by TekMol 4y ago
Where are those SPAs everybody is talking about?
All sites I use regularly are MPAs:
Hackernews, Amazon, AirBnB, Booking.com, Wikipedia, GithHub ...
Reddits new design is kind of a hybrid. It is MPA when you hop between subreddits and other pages. But it shows a post on the same page when you click on it in a subreddit feed. I actually are annoyed by the new Reddit enough to switch to old.reddit.com most of the time when I end up on Reddit. Not sure why. But maybe it tells something, that the only "somewhat SPA" I know makes me switch to its MPA version regularly.
- manmal 4y agoWas AirBnB not one of the first companies to champion server-side rendering of React apps? I think you’re listing apps that are actually a bunch of SPAs glued together (each page is super complex and an SPA of its own right).
- TekMol 4y agoOn AirBnB, you search for a location on the homepage and then you go to a new page, the map page. Which is a bit SPAish because it reloads apartments when you move the map. Then when you click on an apartment, you go to a new page, the apartment page. Overall, I would count that as MPA? The apartment pages seem to be client side rendered. When I CTRL+u and look a the source code, I see a lot of JSON and not much HTML.
- marcosdumay 4y agoHum... > Hackernews, Amazon, AirBnB, Booking.com, Wikipedia, GithHub I don't know about AirBnB. Booking has a little bit of interactivity that is more annoying than helpful¹, like the GP's example for Reddit. None of the others can be described as "applications". 1 - The map is good. The stuff on the map is very good. The map itself is an SPA. For all the rest of the site, if they removed all the Javascript it wold be an improvement.
- AlchemistCamp 4y agoIt wasn't React, but Spike Brehm gave a lot of talks about Airbnb moving to "isomorphic JavaScript" with a library he created. It was called Rendr and it basically let you stitch together Backbone and Node and share code between the client and the server. I remember being pretty interested in it at the time. https://techcrunch.com/2013/04/19/airbnb-open-sources-rendr-librar/ https://techcrunch.com/2013/04/19/airbnb-open-sources-rendr-...
- manmal 4y agoAh yes, before React even!
- winrid 4y agoLever was doing this in 2014 with DerbyJS.
- manmal 4y agoAirBnB was doing it in 2013 (or earlier): https://news.ycombinator.com/item?id=31459699 https://news.ycombinator.com/item?id=31459699
- altdataseller 4y agoMonday.com, Google Docs, Trello.
- WalterGR 4y agoGmail
- pkamb 4y agoOld.Reddit.com does some kind of page-reload every time you navigate back to the subreddit from a comments page. Incredibly annoying and makes Hacker News feel blazing fast by comparison. Does anyone know how to block that page reload and associated movement of stories and scroll position on the page you're returning back to?
- egypturnash 4y agoI do not know how to stop it and I hate it so much.
- bmacho 4y agoReplace the button you click with history.back() with tampermonkey?
- deleted 4y ago[deleted]
- avel 4y agoFacebook, Twitter.
- 88913527 4y agoThe best apps seem to be fully MPA or SPA. The hybrids have UX problems. It's arbitrary some things require a hard page navigation, and others don't. I mean, it's probably an intersection between product/engineering teams, but as a user of an application, I have no real visibility into that nor concern for it; I just see the dichotomy.
- deleted 4y ago[deleted]
- tshaddox 4y agoYouTube, Facebook, Instagram, and Twitter are the obvious examples from among the top 10 or so most visited websites in the United States.
- TekMol 4y agoWhat is SPA about YouTube? It feels completely MPA to me.
- 323 4y agoIt's an illusion. If you look carefully you'll see that all YT content is loaded dynamically, starting from a blank page with a blank video player.
- eyelidlessness 4y agoThe only distinction that matters is whether it has a client-side router. If it feels like an MPA, and doesn't feel slow, that can be easy to miss. But it’s still a SPA.
- NovemberWhiskey 4y agoMinimize a video so it's playing in the corner of the browser; notice that the video continues to play seamlessly as you navigate around the site. You can't do that in an MPA right now.
- capableweb 4y agoYou could in theory do that although the experience would be slightly odd. Either open the video in a new page and put in the bottom right, force focus it after the main window been active. Or wrap the entire websites in two iframes, one for main content and one for video player. Main content can change without interfering with the video player. Not saying you should do either of these, as the UX would be worse, but you could if you really want to :)
- seydor 4y agoThat s super annoying btw . Frankly video is best browsed like a traditional multi page listing, like how porn sites do it
- dymk 4y agoAirbnb is not a SPA in the sense that it's a _single_ page, but the main pages of the site contain a lot of interactivity, and IMO individually constitute at least mini-SPAs.
- eyelidlessness 4y agoGitHub is definitely not an MPA. Or at least most of the core functionality people use for work isn’t. It feels like one under ideal network conditions, but if your connection stalls you can see its routing stall before any attempt to load a new page.
- bdcravens 4y agoGithub is a Rails app, and leverages Turbolinks which does partial page renders (but still keeps routing server-side)
- msbarnett 4y agoGitHub is an MPA Rails app that uses turbolinks to make page transitions quicker, which is what you’re seeing stall. No routing is done client side.
- maxloh 4y agoNavigations within the same repo are powered by client side routings (e.g. from "Code" tab to "Issue" tab).
- msbarnett 4y agoNo? I'm looking at the request in webinspector right now. GitHub is kicking back the full partial for the issues tab, and turbolinks JS is then swapping out the relevant DIVs -- it's a bog-standard Rails MPA server side routed setup, I think you're just letting the turbolinks animation convince you there's more happening on the frontend than really is.
- maxloh 4y agoYou are right. It wasn't client side routing. But GitHub doesn't use turbolink. They wrote their own implementations that lies at app/assets/modules/github/behaviors/pjax.ts.
- 4y ago
- enra 4y agoApps, 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.
- usrn 4y agoThe 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.
- TekMol 4y agoSlack, 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.
- gunapologist99 4y agoBoth Google Maps and Gmail were among the very first SPA's.
- tatersolid 4y agoWasn’t the first SPA actually Microsoft’s Outlook Web Access 5.0, back in 1997?
- nsonha 4y ago> 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.
- andyp-kw 4y agoRails never went away.
- dingleberry420 4y ago> I actually are annoyed by the new Reddit enough to switch to old.reddit.com most of the time when I end up on Reddit. Not sure why. But maybe it tells something, For me it's because the new design is hilariously slow in every way. And also it looks really, really bad. Meanwhile old.reddit.com loads instantly and doesn't burn my retinas.
- mmis1000 4y agoFor people don't know how slow it is. This is a issue I opened 4 month ago and hasn't been answered. https://www.reddit.com/r/bugs/comments/rj0u77/reddit_redesign_has_very_high_cpu_usage_during/ https://www.reddit.com/r/bugs/comments/rj0u77/reddit_redesig...
- jiggawatts 4y agoI didn't know Firefox had the capability to post performance traces like this! Also... I wouldn't have thought that by default it would include screenshots of potentially private/sensitive information such as the the titles of other open tabs.
- mmis1000 4y agoThe resolution is very small anyway, I don't think people would be able to see the title. Besides that, the screenshot (or other track) can be trimmed by just unselect the track when upload the profile. (The default does not contain track of other sites)
- dredmorbius 4y agoEven old.reddit.com is annoying enough that I head first to https://teddit.net/ https://teddit.net/ Principle advantage being that Reddit URLs are rewritten such that once on the site, you stay there. This isn't the case for either old.reddit.com or the even lighter alternative i.reddit.com, for which reverts back to www keep occurring.
- 4y ago
- epistasis 4y agoI think new Reddit is intentionally terrible, and incorporates SPA attributes, purely to make the experience unpleasant and drive app usage. They offer old.Reddit.com so that some core users don't leave, but those users might not be needed forever, if a different user base can be cultivated.
- NewEntryHN 4y agoIt's called "applications" because it's not "sites". Slack, Gmail, etc.
- deleted 4y ago[deleted]
- bo1024 4y agoI don't think the opposite of single-page app is multi-page app. The opposite is not an app at all, it is a "webpage". My viewpoint here: https://notan.app/ https://notan.app/
- nebula8804 4y ago>Where are those SPAs everybody is talking about? I can't speak for others but my company (of 50k) has dozens of internal facing SPAs each with their own dev teams. Each of these apps are used by at least hundreds of not thousands of people on a weekly basis.
- 5350-uiop-1130 4y agoFor me it's not so much about the technical merits of SPA vs MPA its the annoyance of having all the stuff that used to be backend now part of frontend. I resisted "learning" typescript for like 5 years or more and I hope it's been validated somewhat. Being a web dev is hard enough dealing with myriad devices and ever changing trends without consolidating every aspect of web/app into that role because Facebook wanted to cut down on their server costs. And I don't enjoy using those bloated electron apps either, the difference between native and JS is stark.
- BossingAround 4y ago> I resisted "learning" typescript for like 5 years or more and I hope it's been validated somewhat. What does TS have to do with SPA/MPA?
- strix_varius 4y ago… and why is “learning” in quotes?
- seydor 4y agowhen you go to some page and it downloads 10MB of javascript for starters, proceeds to show you spinning wheels for 9 seconds (sometimes with original messages such as " time to take the world"), then when it loads it jumps around for 12 seconds while the images are absolutely destroying the layout of the page, then it beeps some chat asks you if you would like help, but the only help you need is to dismiss so many popups ? ... that one.
- collaborative 4y ago6groups.com (PWA) is an SPA I am developing from scratch, no frameworks involved. It performs really well vs its native Android counterpart
- littlecranky67 4y agoI've been developing SPAs as an independent contractor for over 8 years, and not a single of those SPAs is public facing - they are all enterprise line-of-business apps used internally. Sometimes I wondered how employing a team of 10-15 developers to develop an SPA for 1-2years (plus maintenance) is profitable, if your targeted user audience is 2,000-3,000 internal employees of that business. My current gig for a smaller corp (<50 employees) I am with 3 other developers (1 FE, 2 BE) and all that team has been doing for almost 1.5 years is to develop a SPA webapp that is exclusively used by the on-call phone support staff, which are no more than 4 actively working supporters at the same time. Admittedly, the business customers deal in huge amounts of money so having qualified phone support is a must here, and upselling/sales also happens on those calls.
- bratbag 4y agoI have worked on similar projects in finance, where various regulatory requirements prevent using adhoc internal tools. It's either use an application provided by an authorised third party (who take a cut of every transaction) or become directly authorised to run solo with your own application that meets legislative requirements.
- golergka 4y agoVisual Studio Code, Spotify, Slack. Sometimes SPAs are literally apps that you install on your computer.
- nullbytesmatter 4y agoWell, Udacity is 90% SPA (React) and it's a content/page driven site.
- pier25 4y agoAirbnb is really a hybrid. For example, the property page is really an spa on its own.