Closed3

memo @240222*

nakamotonakamoto

https://www.robinwieruch.de/react-trends/
そもそもEdge Computingとは我々ユーザーの地理的にもっとも近い距離で色んな処理を行うこと。Vercelにはサーバー側の機能が大きく2つあって、まず1つはServerless FunctionsというNode.jsランタイムのサーバー。もう1つはEdge FunctionsというEdgeランタイムのサーバーである。EdgeランタイムはNode.jsのAPIが使えない代わりにめっちゃ早いしコールドスタートもない。Serverless FunctionsNode.jsのAPIが使えるし、重い処理をさせたいならServerless Functionsを使って、基本的にはEdge Functionsを使用する。

因みにNext.jsはデフォルトでNode.jsランタイムになってるためデフォルトで遅くなる。なのでNext.js App Routerroot layoutSegment Configruntimeというconfigを設定できるのでそれをedgeにするのがおすすめ。基本的にedgeにすることによってパフォーマンスがめっちゃいいアプリ作れるし安いのでそれでいいけどもページによってはにNode.jsのランタイムが欲しくなる時もある。そしたらそのレイアウトやページだけruntimeNode.jsにするといい。Vercelの意図はedgeをデフォルトにするとNode.jsが動かないなあって混乱のもとになるためちょっと遅いけどServerless Functionsをデフォルトにしてる(ユーザーの認知度の問題)

PlanetScaleのようなDBaaSはリードレプリカ(本番DBのレプリカ)
をRead権限で各エッジに置いてるため、一緒に使うとユーザーはReadなら
リードレプリカにアクセスできてエッジコンピューティングとしては尚良し。

nakamotonakamoto

BUNDLERS FOR REACT: TURBOPACK VS VITE

TurbopackWebpackの後継でNext.jsの本番環境には使用できないが、
ローカル環境には使用できるしVercelTurbopackを使ってDFを進めてたりする。
Rust製でTree shaking(使われてないコードを削ぎ落とす機能)とキャッシュも
Turbopackではファーストクラスでサポートされてる。

Webpackでも色んなことできたけれどもRSC出てきたりと
色々考えないといけないことが多くなってTrubopackが誕生。
Turbopackを使うイコールNext.jsを使うということ。
それ以外のバンドラはViteが一強。ちなViteの作者はVue.jsの作者。
自分らの欲しい機能を速攻Turbopackに入れられるためNext.jsTurbopack作ってそう。

nakamotonakamoto

HEADLESS UI LIBRARIES FOR REACT

ほとんどのケースでshadcn/uiよりもMantine UIの方が良い。
カスタマイズするならshadcn/uiがいいけど基本的にカスタマイズしなくていいし、
ユーザーが欲してるのも特に独自のUIではない。ビジネスのことを考えるなら、
一番早く機能実装できるMantine UIの方が良い。

RSCの登場によってStyled Components EmotionのようなCSS-in-JSはもう使われない。
但しStyle Xは別である。CSS-in-JSならStyle X Tailwind CSSならshadcn/ui 素のCSSならMantine UIという意思決定が良さそう。

このスクラップは2024/02/24にクローズされました