11 ms·
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.
by enra 4y ago
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.
- 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.
- mostlysimilar 4y agoRails is still “a thing” and is better today than it has ever been.
- kache_ 4y agoonly because the companies that use rails are stuck on it :P
- djfobbz 4y agoMajority of the ones I know are making billions. Why change something that’s already profitable?
- kache_ 4y agoWhy 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)
- wiseowise 4y agoNope.
- moooo99 4y agoMany 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.
- hirvi74 4y agoReally? 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.
- deleted 4y ago
- criddell 4y agoWhat are the primary characteristics that distinguish a web site from a web app?
- Avshalom 4y agonumber of pages
- em-bee 4y agoi'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.
- glitcher 4y agoAt 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.
- krapp 4y ago>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.
- 4y ago
- CPLX 4y agoIf the Shopify ecosystem was the only example of rails in existence then rails would still definitely be a thing.
- s__s 4y ago> 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.
- MrBuddyCasino 4y agoPeople 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.
- teakettle42 4y agoOS 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.
- mLuby 4y agoPurity: https://xkcd.com/435/ https://xkcd.com/435/ Farmville Devs <- Facebook Devs <- Chrome Devs <- OS Devs <- Chip Devs <- Factory Devs
- kristopolous 4y agoIt's almost like their small differences come with some narcissism.
- LAC-Tech 4y agoApp developer here. Your sand sucks and it's affecting our apps!
- amelius 4y agoMake your own sand then.
- muxator 4y ago> 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.
- dmje 4y agoCouldn'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.
- mattgreenrocks 4y ago“It depends” never leads to thought leadership, though.
- vbezhenar 4y agoIMO 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.
- Mordisquitos 4y agoYes, 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`.
- mhoad 4y agoIt’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.
- deleted 4y ago[deleted]
- vbezhenar 4y agoIt requires tremendous resources compared to html parser. It's possible, but very costly if you want to crawl the entire Internet.
- karmakaze 4y agoI 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.
- pcmaffey 4y agoThe distinction is between websites as documents and websites as applications. Both are still websites.
- eschaton 4y agoNah, you should build most apps using operating systems’ native toolkits, and stop trying to pretend web pages are applications.
- 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. Hackernews seems more like something I would call an app etc.
- unclebucknasty 4y ago>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?
- dsego 4y agoWe had that, remember flash and java applets? Well, it wasn't that great.
- unclebucknasty 4y agoSort 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.
- winternett 4y agoAmen, 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.
- fdschoeneman 4y agoYour 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?
- tr1ll10nb1ll 4y agoI’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.
- likortera 4y agoThe 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.
- ughitsaaron 4y agoWhat’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?