なぜみんな嫌がるような反応をするのでしょうか?

DDD
リリース: 2024-09-19 06:27:02
オリジナル
692 人が閲覧しました

Why Does Everyone Hate React?

Before we dive in, I have a serious question for you: why do you really think people hate React so much? Is it the JSX? The endless options? The fact that it changes more often than your Netflix recommendations? I genuinely want to know—so if you’ve got a hot take, do me a favor and drop it in the comments. Seriously, don’t hold back.

Now, full disclosure: in one of my previous articles, I may have poked a bit of fun at React, and let’s just say... people noticed. So, consider this an apology—except it’s not. But hey, I’m here to make amends (kind of).

React: the JavaScript library that developers love to hate. It’s like the popular kid in school that everyone talks about, either with admiration or resentment. For every person praising its component-based architecture, there’s someone else groaning about its complexity. So, why does everyone seem to hate React so much?

Let’s take a look at the usual complaints and unpack them.


1. "React is too complicated!"

Oh yes, because writing JavaScript in the form of components, and managing state, is so much harder than learning a dozen different frameworks. Some say using React feels like solving a Rubik’s Cube blindfolded. You’ve got JSX, hooks, lifecycle methods, and state management that can spiral out of control if you’re not careful.

But is it really that complicated? If you’ve ever dived into vanilla JavaScript for a serious project, you know that managing state there feels like trying to assemble Ikea furniture without instructions. Sure, React has its learning curve, but once you get a handle on it, things start to click—kind of like when you first figured out how to use recursion in programming. At first, it's confusing, then it's magic.

So yes, React takes effort, but so does anything worthwhile.


2. "React’s ecosystem is overwhelming!"

Ah, the famous complaint about the ever-growing ecosystem. React isn’t just React—it’s Redux, React Router, Context API, and a parade of other tools that seem to multiply like gremlins. When you sit down to start a new project, it feels like choosing a streaming service: do I need Netflix, HBO, or maybe Disney+? In the React world, it’s more like, “Do I need Redux, or maybe I should try MobX? Should I use React Query for state management? What about the latest CSS-in-JS trend?”

And yes, the options can feel overwhelming. But this is the price of progress. React gives you the tools to build complex, scalable applications, but it also leaves the choices up to you. It's kind of like how the Marvel Cinematic Universe gives you endless options to dive into: from Iron Man to WandaVision, there’s something for everyone.

In React’s case, the ecosystem is vast because developers love options. You can assemble your app like a buffet, picking only what you need.


3. "React keeps changing!"

The number of developers who complain about React’s constant updates could fill a stadium. They grumble about how just when they get used to class components, along comes hooks. But guess what? This is how things evolve in tech.

React’s evolution isn’t a bad thing—it’s keeping pace with modern development needs. Sure, things change, and yes, it might be annoying when your carefully crafted app suddenly feels outdated because of the latest React version, but wouldn’t you rather have a library that innovates than one that stagnates?

Like in Game of Thrones, where everyone was fighting for the Iron Throne, React is constantly evolving to stay at the top of the JavaScript framework battle. But unlike the show's ending, React actually gets better over time (no dragons needed).


4. "JSX is weird!"

For those who aren’t used to mixing HTML with JavaScript, JSX feels like an abomination. “Why are we putting HTML right inside JavaScript?” some purists ask. It’s like when you first saw pineapple on pizza—an unexpected combination that just doesn’t seem right.

But then, you try JSX, and it’s surprisingly... useful? JSX allows you to build your UI in a way that keeps everything together. It’s not pretty at first glance, but once you start using it, you realize how powerful it is to have your logic and UI seamlessly integrated. Instead of flipping between multiple files and languages, you get everything in one place. What’s not to love?


5. 「React には定型句が多すぎます!」

開発者はシンプルさを好むため、コンポーネントの作成、状態の管理、フックの使用、ライブラリのインポートなど、React に必要なセットアップの量を見ると、それはやりすぎのように感じます。 「単純な To Do リストを作成するために、なぜこれほど多くのファイルとコード行が必要なのでしょうか?」は一般的なリフレインです。はい、Vue や Svelte などのフレームワークは、より少ない手順で同様のタスクを処理できる可能性があります。しかし、強力なパワーには優れた定型文が付属しますよね?

真実は次のとおりです。React の冗長性は単なる余分なものではありません。それはスケーラブルなものの基礎を築くことです。確かに、おもちゃの車しか欲しかったときにレゴのセットを組み立てているような気分になります。しかし、「単純な To Do リスト」が、予想していなかった機能を備えた本格的なプロジェクトに変わると、その構造の良さがわかるでしょう。さらに、React のモジュール式の性質により、新しいピースを追加したときにレゴ デス スターが崩壊しないようにするなど、長期的なメンテナンスが容易になります。


6. 「React アプリが遅くなる可能性があります!」

パフォーマンスや仮想 DOM ウィザードリーについてよく話題になりますが、React アプリは時々動作が遅く感じることがあります。コンポーネントが不必要に再レンダリングされたり、状態管理が混乱したりすると、それはスポーツカーをハンドブレーキをかけたまま運転するようなものです。終わりのないモグラたたきゲームをしているかのように、レンダリングのバグを追跡しながら最適化に何時間も費やすこともできます。しかし、問題は、なぜこのようなことが起こるのかということです。

真実は、React は本質的に遅いわけではありません。ほとんどの場合、それは開発者のミスか機能の誤用です。再レンダリングしすぎ?状態を正しく処理できなかったのは私たちの責任です。メモリリーク?繰り返しますが、それは通常、管理ミスに関するものです。 React をトニー・スタークのアイアンマン スーツのようなものだと考えてください。適切な訓練を受けていない人がスーツを建物の側面に衝突させても、スーツのせいではありません。一度マスターすれば、素晴らしいパフォーマンスが得られます。そして、正直に言うと、React が最適化のために提供するツールは豊富にあります。重要なのは、それらの使い方を知ることだけです。


7. 「React にはフレームワークが多すぎます!」

それは React ですよね?学習するライブラリは 1 つだけですよね?間違っている。 React エコシステムに飛び込むと、Next.js、Gatsby、Remix などのフレームワークのビュッフェに突然直面します。それは、ドアを 1 つ開けただけで、その向こうにさらに 10 のドアがあり、それぞれが異なるものを提供しており、どれを選ぶべきか見当がつかないようなものです。 「サーバーサイドのレンダリングは必要ですか? 私の個人ブログには静的サイトの生成は過剰ですか?」

真実は次のとおりです。React の周りに非常に多くのフレームワークがあるという事実は呪いではなく、むしろ幸いです。 React は必要なものを選択できる柔軟性を備えています。 SEO に配慮したサーバー側レンダリングが必要ですか?次へ.js。非常に高速な静的サイト ジェネレーターが必要ですか?ギャツビーはあなたの男よ。これはスイス アーミー ナイフを持っているようなものです。ツールの数が多すぎるように思えるかもしれませんが、最終的には、取り組んでいる問題が何であれ、柔軟に解決できるようになります。誰もあなたにそれらすべてを学ぶことを強制しません。効果的なものを選択して、それを続けるだけです。


React がもっと尊敬されるべき理由

現実には、ほとんどの人は React を嫌いではなく、学習曲線にイライラしているだけです。 Reactが悪いというわけではありません。 React はハンドホルダーではないということです。他のフレームワークは組み込みの利便性を提供してくれるかもしれませんが、React はユーザーをディープエンドに放り込んで「泳げ!」と言います。確かに、最初は気が遠くなるように思えるかもしれませんが、そこにこそその力があるのです。 React はあなたを制限しません。その微妙なニュアンス、広大なエコシステム、そしてその中心となる哲学を理解することが求められます。正直に言うと、React はすぐに夢中になるというよりは、ゆっくりと燃え上がるものです。

React は、同梱されているツールの中で最も簡単であるとは決して主張しませんでした。夕食を作ってくれたり、洗濯物をたたんでくれたりする、親切すぎるいとこのビューとは違います。いいえ、React はむしろ、あなたにドアを示しながらも、それを開けることを期待する賢明で経験豊富な指導者に似ています。 それは欠陥ではなく、設計上の選択です。学習曲線は急勾配かもしれませんが、それによって得られる柔軟性とパワーはどうでしょうか?比類のないものです。

React にふさわしい敬意を払いましょう。それは 2013 年から存在しています (テクノロジーの時代に換算すると、これは事実上永遠に相当します)。それ以来、現れては消えていったトレンド、ライブラリ、フレームワークの数を考えてみてください。AngularJS は消え去り、jQuery は遺物となり、その他の数え切れないほどのものが消滅したり、大きく方向転換したりしています。しかし、React は生き残っただけでなく、繁栄しました。それはただ固執するだけではありませんでした。同じ中心となる哲学を維持しながら、新しい開発者のニーズに適応して進化しました。それは無視できることではありません。それは本当に注目に値するものの特徴です。

React の永続的な関連性

React は完璧ではないかもしれませんが、その持続力を認めましょう。ライブラリやフレームワークは、台頭すると同時に燃え尽きてしまうことがよくありますが、React はその祖先よりも長持ちし、より新しく輝く競合他社の氾濫に対しても優位を保ち続けています。確かに、Svelte、Solid、さらには Vue 3 もありますが、市場における React の優位性を奪うことに成功したものはありません。 React は、Facebook や Instagram から Airbnb や Netflix に至るまで、何百万もの Web サイトやアプリで React を活用しており、依然としてその優位性を保っています。

正直に言うと、多くの開発者が不満、冗談、「React はクソだ」という Reddit スレッドでそのを生き延び、今でも多くの人にとって頼りになるライブラリである

のツールです。 ?それは尊敬に値します。その長期にわたる統治はまぐれではありません。これは、成長する情熱的なコミュニティを維持しながら、実世界での長年の使用によって実戦テストされ、洗練され、強化されてきました。癖があるかもしれませんが、明らかに正しいことを行っています。

React の複雑さが強みである理由

それでは、その複雑さについて話しましょう。 React を習得するには、他のフレームワークよりも多くの努力が必要ですか?絶対に。しかし、それは欠点ではありません。それはその柔軟性の証です。 React は選択肢を提供します

。そして、大きな力には大きな責任が伴います (ベンおじさん、ありがとう)。シングルページ アプリ、React Native を使用したモバイル アプリ、または Next.js を使用した高パフォーマンスで SEO に優しい Web サイトを構築する場合でも、React はすべてを処理できる多用途性を備えています。

確かに、JSX は最初は少し奇妙に見えるかもしれませんし、膨大な数のフック、パターン、状態管理ソリューションに圧倒されるかもしれません。しかし、快適になるためにひとたび努力すれば、React が提供するコントロールは並外れたものになります。それは、基本的なアプリを構築するだけではありません。エクスペリエンスを作り上げ、スケーラブルなアーキテクチャを作成し、他のフレームワークでは不可能な方法で複雑な問題を解決することが重要です。

React は、アプリを構築する方法

を教えてくれません。それはあなたにツールを提供し、あなたにとって何が最適かを見つけ出すことを期待します。この柔軟性は、React が小規模で迅速なプロジェクトと大規模なエンタープライズ レベルのアプリケーションの両方に同様に役立つことを意味します。これはフロントエンド開発におけるスイス アーミー ナイフであり、適切に使いこなせるようになるには時間がかかるかもしれませんが、一度使いこなせると非常にやりがいがあります。

React が依然としてフレームワークとして選ばれる理由

ゲームで 10 年以上が経過しても、React の影響力は衰える気配がありません。 Redux、React Router などのライブラリ、Next.js などのフレームワークを備えたその大規模なエコシステムは、常に成長し、革新されています。ほとんどの人が匹敵することのないレベルの柔軟性、パフォーマンス、および開発者エクスペリエンスを提供するため、開発者は今でもそれに群がります。さらに、コンポーネントと再利用性に重点を置いた React は単なる流行ではなく、ユーザー インターフェイスの構築についての考え方を変えました。

実際、React をテクノロジー業界の定番にしているのは、React のエコシステムです。 Facebook (Meta) とその強力な貢献者コミュニティからのサポートにより、React は改善され続けています。これは単なるフレームワークではなく、最新の Web 開発をサポートするエコシステム全体です。小さなウィジェットを作成する場合でも、Web サイト全体を作成する場合でも、React がサポートします。

最終的な考え

では、React は完璧なのでしょうか?いいえ、決してそうであるとは主張しませんでした。しかし、その長所はその癖をはるかに上回ります。最初の複雑さは?それが React に長期的なスケーラビリティを与えるのです。圧倒的に感じる生態系は?それは、React が必要なものを自由に構築できるようにするだけです。風変わりなJSX?まあ、人生では奇妙なことが、最高の結果になることもあります。

技術トレンドが電光石火のスピードで変化する世界で、React は関連性を維持し、適応し、開発者にとって頼りになる選択肢であり続けることに成功しました。そしてそれは尊敬に値するだけでなく賞賛に値します。好きか嫌いかに関係なく、React はここに残ります。そして正直に言うと、私たち全員が React を利用することでより良い生活を送れるようになります。

それで、おそらく次回、JSX を悪口したり、終わりのない変化について不平を言ったりすることに気づいたら、思い出してください。それは React ではなく、単なる成長痛です。そして、最終的にそれをマスターしたときは? React がフロントエンド フレームワークの王様としての地位を獲得した理由がわかるでしょう。

以上がなぜみんな嫌がるような反応をするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!