With H/3, modern frameworks have become unnecessary deviations from web standards that result in high costs and lower app lifetimes. Do standard server side work, don’t use node as a server, sprinkle a bit of typescript where needed, and keep things lean.
As a recovering front end developer of 20 years, someone who has played with every damn framework and used most of them professionally; just stick to web standards and ignore the frameworks unless you specifically need them.
For example: we are using HN. It is simple. It works. It does not need to change. It does not need to be reddit or twitter or whatever, to be engaging. It’s good because it’s focused simple and well maintained. Almost every app I enjoy that has been over complicated or lost touch with its user base has done so while implementing these frameworks. They are business death. See; Facebook (react destroyed fb), Google (angular destroyed AdWords and G Suite), and so on. You lose analytics, accessibility, performance for the end user, less server side bugs is bad when clients are running the bugs, and most importantly you lose track of your customers needs.
If you want your shit to work, keep it close to the metal, conform to standards, scale only where necessary, and listen to your customers.
Your example does not align with your closing statement. Using Arc is certainly not "sticking to web standards" in the way you're proposing.
HN is simple and works, from a user perspective. I don't have my hands on the codebase, but I imagine it's kind of fun to work on precisely because it isn't "close to the metal". DX is just as important as UX is, you have to strike a balance.
Not sure there's much correlation between frameworks and apps becoming complicated or losing touch with their userbase. Using AdWords as an example, I'm like ~75% sure they went from one framework (Google Web Toolkit) to another (AngularJS).
GWT and Facebook’s PHP stack were both effectively server side technologies. GWT was pretty awful, but angular is probably the worst of the bunch when it comes to front end frameworks too. What I’m saying is you should run your app on the server and use HTML as a presentation layer. This is standard, it gives you visibility into bugs, it simplifies the end user payload, and it works quickly and reliably without needing huge refactoring projects and complex abstractions that your business does not need.
You probably don’t need a front end stack. You should just use the web standards as designed first, and then add improvements that customers like.
> For example: we are using HN. It is simple. It works. It does not need to change.
There are lots of basic issues with HN. For example, if you vote on a comment while writing a reply, the page reloads and you lose your comment. A web component for voting would do wonders here.
You've been here since 2014. How much value have you derived from this code? How long would it take you to write it?
https://news.ycombinator.com/hn.js
I don't think there's a person I've asked who prefers the modern web over the way it was 10 years ago. All we've done is create a bunch of busywork that results in a cushion class of yes-men who are paid to protect the oligarchs from the peons they control. The specific kind of user you're talking about unfortunately includes these people.
If we stop navel-gazing at our salaries for a second, we should take a look at what developers who make a real difference do. I'm not talking about people who build stuff that leeches off consumer credit cards. I'm talking about TimBL, Matt Mullenweg, Bjarne Stroustrup, John Resig, Greg Kroah-Hartman, Linus Torvalds. They do things on principle, on values, and are self-confident enough not to care about chasing status. They're people who look at a world full of problems and want to actually help by sharing their ideas.
Those people generally build open, self-hosted solutions. They want to empower people, freeing us from the modern versions of AT&T and IBM. They make stuff that can run on a Pi or an old Celeron. Their stuff is standards-compliant, open, clean, simple, and user-auditable, so that it can be trusted and contributed to.
React was developed by Facebook, an app that steals your own family members' valuable time. Angular was developed by Google, and app that drains your own wallet. If you want to emulate their outcomes, by all means use their technologies. If you want to make a difference in the world, observe those who are making a difference and emulate them.
> React was developed by Facebook, an app that steals your own family members' valuable time. Angular was developed by Google, and app that drains your own wallet. If you want to emulate their outcomes, by all means use their technologies. If you want to make a difference in the world, observe those who are making a difference and emulate them.
They're unrelated. The tech and outcomes are unrelated. You can make great things for the world with React. Using Arc isn't gonna make Facebook a better company
You're welcome to that opinion, but I disagree. In my experience, Conway's Law applies directly to code, not just to networks and systems.
It is also my opinion that at all levels, motives and intent are driving dynamic forces in life. Ignoring them is a great way to waste your time, money and efforts. I can understand that not everyone feels this way, but I do. So perhaps that's where our interpretations differ.
As a recovering front end developer of 20 years, someone who has played with every damn framework and used most of them professionally; just stick to web standards and ignore the frameworks unless you specifically need them.
For example: we are using HN. It is simple. It works. It does not need to change. It does not need to be reddit or twitter or whatever, to be engaging. It’s good because it’s focused simple and well maintained. Almost every app I enjoy that has been over complicated or lost touch with its user base has done so while implementing these frameworks. They are business death. See; Facebook (react destroyed fb), Google (angular destroyed AdWords and G Suite), and so on. You lose analytics, accessibility, performance for the end user, less server side bugs is bad when clients are running the bugs, and most importantly you lose track of your customers needs.
If you want your shit to work, keep it close to the metal, conform to standards, scale only where necessary, and listen to your customers.