AstonJ

AstonJ

Are SPAs dying or becoming more popular/beginning to shine?

DHH might like you to believe they are a thing of the past:

https://twitter.com/dhh/status/1275902566719610880

I actually went down this rabbit hole after reading this thread about SSR apps vs SPAs, where this comment stood out:

Take for instance an app that I use everyday, Kanbanize. It is built around some server side rendering tech and it is awesome, but I know that some will tell that the UX is subpar, the same can be applied to Basecamp and Hey.

I wondered what Marciol was referring to so googled and found this on HN:

Noteworthy how they tout the success of their “magic” frontend stack made with vanilla JS, lack of a trendy framework, etc. But if you use the app, the UX is fairly laggy, requires frequent refreshes, all the animations and interactions are off - the list goes on and on. It’s noticeably subpar (and I like Hey).

Unfortunately have to agree. I really wanted to love HEY, and while it’s certainly not super laggy or anything, I’m not overwhelmed with the “magic”.

Ran into a host of inconsistencies already, changing between imbox/feed/papertrail on iOS also feels very “unnative” in the sense of not fluid.

The Basecamp folks have always been JavaScript skeptics (my perception at least) so I’m not totally surprised. And while the “magic” may apply to the simplicity of their front end implementation, that’s unfortunately not the same as a magical user experience where in 2020 I do expect a more fluid feel.

It’s quite apparent that often it’s just replacing one HTML block with another without too much thought about transitions.

From the twitter feed: “React is so 2019. HTML + minimum JS is 2020”

Ok. Just as long as you don’t get stuck in 2010 :stuck_out_tongue:

Something like a web email-client really lends itself perfectly to a pure client side JavaScript application. Use the browser’s cache facilities to cache the client side javascript and save server resources by avoiding server side rendering. You don’t care that much about initial load time. Or search engine visibility.

Seems to me that the proof is in the pudding wrt their stack, but it’s probably not what they wanted to prove. I would take a well tuned React SPA over this any day of the week.

Which was in a thread about this tweet:

https://mobile.twitter.com/dhh/status/1275901955995385856

What are your thoughts? Have you changed your mind about SPAs? Always been a fan? Or been a fan and now moving towards “minimal JS” or SSR solutions?

Most Liked

SmithyTT

SmithyTT

DHH has got it back to front. HTML + minimal JS was a thing when SPA frameworks were in their infancy (bloated slow trash) but things are very different now. The concerns raised in the HN and elixirF thread are valid, just compare the best React apps to the best HTML + minimal JS apps to see for yourself.

React apps: Facebook - Instagram - WhatsApp - Airbnb - Discord
Angular apps: Gmail - PayPal - GitHub Community - Indiegogo - Microsoft Office (web)
VueJS apps: - Gitlab - Chess.com - Netlify

HTML + minimal JS apps: BaseCamp? Hey?

:wink:

SmithyTT

SmithyTT

Smaller teams can absolutely achieve similar. algoexpert.io is a nice example. A React app with TypeScript and a Go backend by a two person team.

The SPA scene is gargantuan now. Out of the top 3 (React, Angular, Vue) Vue is the easiest to learn and what you learn there will not be wasted if you move to React or elsewhere later. Svelte is even easier but has some ways to go.

If you are basing your opinion on what SPAs and these frameworks used to be like, give them another look—you might be surprised by what they can do and how much you end up liking them.

AstonJ

AstonJ

In what way?

Ok you’ve convinced me to give them a closer look! :blush: I had another look at Discord and it’s come a long way since I first checked it out (or what I remember of it anyway) - it’s pretty slick!! They don’t have huge team either IIRC.

Do you recommend any of the frameworks in particular and could you recommend some learning resources please?

I think I’m leaning towards giving Svelte a go - there’s some decent interest here on the forum and I like that it’s essentially a variant language that compiles to JS, which, from what I’ve seen anyway, makes for a more interesting/pleasant developer experience. I sometimes think that in the JS world newer can potentially be better because there’s so much in JS that needs fixing :laughing:

Thanks for your input in this thread :+1:

Where Next?

Popular Frontend topics Top

andresriveros
I’m very interested in the Stimulus reflex approach for frontend development: It is a great way to integrate action cable very easily ...
New
New
AstonJ
I was watching this video by Richard Feldman (Elm core team) and he’s predicting TypeScript is going to take over the JS world: ...
New
mafinar
I (re-)realized I had the book “Modern CSS with Tailwind” bought, never read a page of it until today. With me being a fast reader and th...
New
EngineerHamziey
Hello everyone, is there a website or app that I can use to improve my self Like where there are UI UX designs to practice with and then...
New
SynergyRob
I invented a game of double Chess called Synergy Chess. I am not a coder. I hired someone to write the program. People can play online fo...
New
riyajohnson
When it comes to selecting a framework for a development project, it’s crucial to make an informed decision. With so many options availab...
New
vinay003
When it comes to integrating messaging features into super apps, you’ll want a reliable and efficient solution. Here are some top SMS API...
New
jaeyson
Hi Elixir and React friends! I read a post (Stephen Bussey - React in LiveView: How and Why?) on use case for reaching react for complex...
New
toollist
Hey folks, Wanted to share a Chrome extension I’ve been using for Instagram data collection, and also open up a discussion about one of ...
New

Other popular topics Top

PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
PragmaticBookshelf
Overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework. Miguel Gr...
New
xiji2646-netizen
Woke up to this today: Claude Code’s complete source code exposed via npm source map. Not a snippet. All 512,000 lines. 1,900 TypeScript ...
New