14 ポイント 投稿者 GN⁺ 2023-08-16 | 21件のコメント | WhatsAppで共有
  • ユーザーインターフェース構築のために広く使われているJavaScriptライブラリ React に対する批判的な検討と代替案の提案。
  • React時代遅れ だと批判され、パフォーマンスと適応性に欠けると指摘。
  • 著者はReactのエコシステムが不必要に大きいと主張し、React hooks は今や時代遅れだと述べている。
  • フロントエンドでレンダリングとスケーリングに集中する必要はないという主張。
  • サーバーサイドレンダリング はもはや独自性のあるものではなく、双方向データバインディングは悪い考えではないという主張。
  • スタイリング はReactよりシンプルであり、他のフレームワークも学ぶのは難しくないという主張。
  • Reactの代替は単に「新しくて目新しい」だけではなく、成熟していてより優れたパフォーマンスを提供するという主張。
  • Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik など他のフレームワークを試してみることを推奨。
  • 著者個人のお気に入りは Svelte で、Reactより学びやすく、パフォーマンスも高いと主張。
  • Svelte はコンパイラであり、使われていないコードはビルド時に取り除かれるため、より小さなバンドルを生成。
  • Svelteのメタフレームワーク SvelteKit は多様で強力であり、静的配信、サーバーレンダリング、エッジデプロイが可能。
  • Vue はReactより優れたパフォーマンスと、よりUI中心のアプローチを提供し、JSXより標準的なHTMLに近いテンプレート言語を使う。
  • Solid はReactをより高性能にしたような存在で、複雑さ、パフォーマンス問題、ボイラープレートを取り除く。独自のメタフレームワーク SolidStart も提供。
  • Fresh はDeno上に構築されたサーバーレンダリングのフロントエンドフレームワークで、アイランドアーキテクチャを採用。最小限のJavaScriptと高速な動的コンテンツ読み込みを提供。
  • Astro は高性能な静的サイトジェネレーターで、動的なサーバーサイド機能も備える。デフォルトではJavaScriptをまったく使わず、さまざまなフロントエンドフレームワークと互換性がある。
  • Preact はReactをよりスリムで高速にした版で、Reactにはないいくつかの優れた機能も備えている。
  • Qwik は新しいアプローチで、サーバーレンダリングReactに似たコードを提供し、多くのインタラクションがあるプロジェクトに適した選択肢。
  • Lit, Stencil, Polymer のようなWeb Componentsライブラリは、同じコンポーネントを複数の環境で再利用したい、またはフレームワーク変更に備えたいプロジェクトに推奨。
  • 著者は、技術業界がReactから新しいものへと技術採用の次の飛躍を遂げられる可能性を示唆している。

21件のコメント

 
linrise 2023-08-17

この記事は、無礼な後輩が「先輩〜 もう大したことないんだから引退してくださいよ?」と言っているような内容に見えて、ばかばかしい。

 
moderator 2023-08-17

記事について少し過熱しているようです。
サイト利用方法 のコメント投稿項目をご確認ください。

親切で落ち着いた言葉で話してください。
投稿者を直接攻撃しないでください。
反論がある場合は、その内容だけを書いてください。

 
cosine20 2023-08-17

個人的には、単にJSのような言語がサーバー開発言語として使われるのはあまり好きではありません。
最近はTSベースのものも多いですが、結局できあがるものはJSですし……。Pythonもそうですし、JavaScriptもそうですが、言語という観点では本当に好みではないのに、利便性のためかよく使われていますね。
言語の民主化のような感じですね

 
roxie 2023-08-17

Vercel が血と汗を流して作り上げたものなのに、あまりにも当たり前で大したことではないかのように受け取られている気がして、あまり良くないですね。

 
secret3056 2023-08-16

学校に通っていたころ、文法エラーすら拾ってくれないエディタで地獄のようなサーブレットを書いていた記憶を思い出すと、ReactであれSvelteであれ、あらゆるものに感謝したくなりますね……

 
bichi 2023-08-16

あれこれ使ってみるとReactの長所と短所が見えてきますが、Reactが良い、JSXが強みだ、hooksに対する否定的な意見に対して否定的であるのは、盲目的な宗教のような感じですね

 
alucard 2023-08-16

JSXではなく「表現力」に強みがあると書いたのですね……。hooks については、実際に原文を読んでみると、hooks パターンそのものを批判していたのではなく、単にそれがもはや React だけの強みではない、という程度のことしか書いていなかったと確認しました。この程度なら同意できます。あのような訳になっていたので、私が誤解していました。
それで、コメントを書かれた方が把握された「長所」は何なのか、具体的に書いていただけますか?

 
bichi 2023-08-16

ライブラリやフレームワークに、まさか長所だけあって短所はないと思っているわけではないですよね? 使っていてReactの欠点のようなものを感じたことはありませんか? わざわざ欠点を書いてほしいとおっしゃるということは、一度も感じたことがなかったようですね? 長所短所というのは、長所もあるという意味だということはご存じですよね? 長所も多いですが短所も多いです。

そのうち昨日読んだものなのですが、リンクは分かりません。サーバーコンポーネントでは、サーバーコンポーネントの外でしかcontextを使えないそうです。そのためjs-in-cssを使えないそうですね。私が直接やってみたわけではないので、本当に欠点だとは言えませんね(笑)。

フックですか? 私は本当に画期的なアイデアの提供者だと思います。ですが今はですね(笑)、Reactよりもっと賢くて使いやすいシグナルがあります。本文にもあります。

 
alucard 2023-08-17

はい(笑)、よく聞きました

 
cookiet 2023-08-16

こんな中でも抜けている angular、うっうっ

 
alucard 2023-08-16

まったく同意できませんね。JSXのようなものは、HTMLより表現力に強みがあるからあえて使うのでしょうし、
双方向データバインディングがずっと悪い考えだったという一般的な意見が、なぜ急に覆ったのかも疑問ですし、
不必要に大きなエコシステムとはまたどういう意味なのでしょうか? そして hooks が時代遅れだと……。
個人的には、実際にプログラマーが書いた文章なのかどうかさえ疑問ですね。

 
kuroneko 2023-08-16

かなり納得できる内容が多い気がします。今でもReactは使っていますが……

 
[このコメントは非表示になっています。]
 
beingbook 2023-08-16

技術的にどのようなトレードオフがあるのかを具体的に説明するのではなく、単に性能が低いと主張するのには無理があるように見えます。たとえばReact以外のアイランド実装では、優先順位ベースのローディングのようなことができないのですから。

 
laracool 2023-08-16

電子政府フレームワークに別のものが登場しない限り……Reactは国内で強力であり続けるしかないでしょう。

 
[このコメントは非表示になっています。]
 
bohaesoju 2023-08-16

そうですね。Reactの代替として、あまりにも多くのライブラリを提示していますね。
包括的にすべてを考慮したときに、Reactより優れている点をアピールすべきではないかと思います。

 
tequila 2023-08-16

Vue や Nuxt は本当に良いのに、国内では立場が狭くて残念です。Svelte は……立場を語れないような状態で(泣)……

 
[このコメントは非表示になっています。]
 
bichi 2023-08-16

1万回うなずける正論

 
GN⁺ 2023-08-16
Hacker Newsの意見
  • 一部の開発者は、Vueのテンプレート言語はJSXよりも素のHTMLに近く、テンプレートファイル内で条件分岐や繰り返しを簡単に書けるため、こちらを好む。
  • Reactでfiltermapreduceなどの言語機能を使うことは、人によっては回避策よりも便利だと受け取られている。
  • ある開発者は、Reactから離れてサーバーサイドレンダリングのフロントエンドとvanilla JSを使った経験を共有し、そのほうが保守しやすいと感じたという。
  • すでにDOMがReactにサードパーティライブラリを統合する信頼できる方法を提供しているため、Web Componentsは過大評価されていると見る人もいる。
  • Reactの人気はそのプログラミングモデルに起因しており、JSXは依然としてJSアプリケーションのUI部分をJS部分に直接統合するための、より優れた方法の1つと見なされている。
  • ビジネスの観点では、Reactのような業界標準に従うことは採用のしやすさとより大きなエコシステムをもたらし、一から構築する必要性を減らしてくれる。
  • ReactのHooksはクラスコンポーネントのライフサイクルメソッドに比べて大きな改善と見なされており、よりクリーンで強力なコードを提供する。
  • 一部の開発者は、Reactの関数コンポーネントとHooksを誤りだと考えており、その結果コードベースの保守性が下がり、理解しにくくなると判断している。
  • Reactは他のフレームワークよりもさらに基礎的なものと見なされており、命令型からより関数型のパラダイムへの移行を促す。
  • GoogleがWeb Componentsを仕様化するためにAlex Russelへ支払った金額に関する記事の引用は、Web ComponentsとReactの直接的な競争関係のために偏っていると見なされている。
  • 一部の開発者は、Webプログラマーが「自分でやってみること」や実用的なやり方で複雑なシステムを構築する能力を失ってしまったと感じており、Reactのようなフレームワークはしばしば過剰に使われていると感じている。
  • 記事の著者は、例を示さず、現在のソリューション間の歴史や違いについての専門性や理解が不足していると批判されている。
  • 開発者がレンダリング性能を心配する必要はないという記事の主張に同意する人もおり、Reactが開発者にuseMemouseCallbackのような機能を使わせることに疑問を感じている。
  • 開発者がReact開発者にしかなれず他の方法を見つけられなくなるという記事の主張に同意する人もおり、Reactがコンポーネント、状態、Hooksのような定義を持ち込むことで、基本的なプログラミング概念への理解が失われたと感じている。