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

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
First poster: bot
Why do ARM chips have an instruction with Javascript in the name (FJCVTZS)?. FJCVTZS is “Floating-point Javascript Convert to Signed fix...
New
AstonJ
Wondering if anyone has any thoughts on choosing between these two languages for WebAssembly? I definitely want to explore wasm, and rea...
New
XSukhpreet
My Favorite tool is figma, It helps a lot in designing .
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
mtmattei
A few months ago, Uno Platform unveiled Uno Platform for Figma plugin, a plugin created to turn your high-fidelity Figma design into XAML...
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
harwind
Why does the image in my <img> tag appear larger than its specified width within a flex container? Here’s my HTML and CSS code: HT...
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

Other popular topics Top

dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
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
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New