artsy / README

:wave: - The documentation for being an Artsy Engineer
Creative Commons Attribution 4.0 International
1.1k stars 120 forks source link

docs(tech-radar): Add Next.js to the list #525

Closed damassi closed 11 months ago

damassi commented 11 months ago

Added adopt to next, and the word "should" in the description! Thoughts?

joeyAghion commented 11 months ago

Thanks for adding this, as it is a major stack change to document.

I actually think of Next as borderline between Trial and Adopt. We're trial-ing it in the right way, in my opinion: we built an internal app, then we built a partner-facing app, taking those production [but low-risk] lessons and propagating them. We haven't yet used it for our highest-volume products. The risks or questions I'd hope are addressed before that include:

Web practice, or the devs working in these repos, can decide this Trial vs. Adopt question as far as I'm concerned. I just think it's worth that explicit feedback about how it's gone so far. (And Next only has to be better than the alternative, not perfect.) Has this happened? Should I raise it? Happy to merge if so.

damassi commented 11 months ago

To answer:

How stable the framework is (e.g., do upgrades require a lot of work?)

Typically none, and have done many, many minor upgrades, and even one major one (next 13). (Though going from pages to layouts is a major change)

the ENV-handling incompatibility in v>=13 (possibly addressed in https://github.com/artsy/volt-v2/pull/760 and https://github.com/artsy/volt-v2/pull/752)

This is done! Though we should get it over in Forque as well and let things simmer. (Update: opened Forque PR here.)

The reports of client-side instability (unresponsive tabs)

This is specific to Convos. Addressed change to fix this; and my take is this isn't a next thing but rather how we architected our page. Though that said, there was a ping about this today which i suspect is a page cache issue. We will see. (A fuller description of the issue can be found in this PR)

Web practice, or the devs working in these repos, can decide this Trial vs. Adopt question as far as I'm concerned. I just think it's worth that explicit feedback about how it's gone so far.

I think this goes without saying? Every web dev (everywhere) wants to work with next, and every team member who has worked with our next apps has described it as nothing less than a delight. It is the standard for Javascript/Web frameworks, has the best web devs in the industry on the team (including most of the former facebook react core team engineers), is free, there are three staff engineers who follow these things all agreeing, etc, etc. I guess, in short, and given our pretty substantial build out of Forque, this is pretty uncontroversial. What more do we need?

joeyAghion commented 11 months ago

I think this goes without saying?

This is sort of the point of the radar... to take things that might go without saying, or be products of inertia, and instead make them explicit milestones, with discussion and even version control of the state changes. I learned something, so I'm glad I shared my concerns.

Given that 3 of the most active Forque contributors have already weighed in affirmatively here, I'll go ahead and merge.

Question for later: you mention front-ends specifically in this entry, and I understand Next is focused on React. If we were rebuilding a node system without a front-end (like Metaphysics), would we still use express today?

damassi commented 11 months ago

would we still use express today?

Yes indeed. There are other, newer options, but we shouldn't deviate far from the mean for something as critical as a backend server framework. Express is still by far #1. If we were to choose something newer and more fancy there would be a lot more risk for little gain.