I think the HTML, CSS and even JavaScript are the most stable and future-proof components of your stack. Your Rails backend, on the other hand, will experience far more changes and API instability in the long run.
JavaScript was considered as a unstable and under-specified part of the Web in the "Dynamic HTML" era somewhere between 1997-2006, when Microsoft Internet Explorer implementation of DOM diverged from more standard Netscape/Firefox in many tricky ways. This has largely been solved by better standards, initiatives like Acid tests and (unfortunately) slowly spiraling into Blink engine monoculture.
Your Rails backend, on the other hand, will experience far more changes and API instability in the long run
I see this as different layers of stability. On the bottom is a solid foundation of web standards that's widely adopted and resilient to breaking changes. Layered on that is the web framework and language. Before ruby, I really enjoyed perl, so I've experienced the collapse of a language and community. Matz had some good insights drawn from the history of other languages https://www.youtube.com/watch?v=4MM5b2F9zrM
Javascript is fascinating because of its evolution. Its initial popularity and wide install base guaranteed a lot of resources for it to grow. I'm excited to see whether wasm can bring more languages to the web.
Comments
Left out of the post, but the stack is rails, turbo, and stimulus. Hosted on a 2016 MacBook Pro with a dead battery in my closet
I think the HTML, CSS and even JavaScript are the most stable and future-proof components of your stack. Your Rails backend, on the other hand, will experience far more changes and API instability in the long run.
JavaScript was considered as a unstable and under-specified part of the Web in the "Dynamic HTML" era somewhere between 1997-2006, when Microsoft Internet Explorer implementation of DOM diverged from more standard Netscape/Firefox in many tricky ways. This has largely been solved by better standards, initiatives like Acid tests and (unfortunately) slowly spiraling into Blink engine monoculture.
I see this as different layers of stability. On the bottom is a solid foundation of web standards that's widely adopted and resilient to breaking changes. Layered on that is the web framework and language. Before ruby, I really enjoyed perl, so I've experienced the collapse of a language and community. Matz had some good insights drawn from the history of other languages https://www.youtube.com/watch?v=4MM5b2F9zrM
Javascript is fascinating because of its evolution. Its initial popularity and wide install base guaranteed a lot of resources for it to grow. I'm excited to see whether wasm can bring more languages to the web.