TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Tell HN: Unpopular opinion: All Meta's open source front end stuff sucks

27 点作者 erlich将近 2 年前
I was just thinking the other day how everything Meta has put out on the frontend, I felt compelled to use it because of the hype. But I&#x27;ve ended up being frustrated by almost all of it.<p>It really feels like Meta has led us on a shitty frontend path for the past 5+ years that we need to leave behind.<p>- Flow<p>- Jest<p>- Metro<p>- React<p>- React Native<p>- GraphQL<p>- Flux&#x2F;Redux<p>Everything they do is just so overly complicated, and so many layers of abstraction rolled up in a messy ball of mud.<p>Letting such a large company lead the frontend space is a bad idea, because if they make a bad architectural decision they have to just keep rolling with it because they roll it out so widely internally, and improvements are very slow because of the business impact.<p>Simplicity in my book comes down to how comprehensible is your stack trace. A few lines of code calling into a giant magical function is not simple.

10 条评论

dhg72将近 2 年前
Wow, a legitimately unpopular opinion. Strongly disagree, I worked on complex frontends before React, and React was SUCH a breath of fresh air
评论 #36958795 未加载
gjsman-1000将近 2 年前
I&#x27;m at the point where I question whether almost <i>all</i> tools that we use for the web need to be revised. HTML, CSS, and JavaScript have served us well... but I think all of them are showing their age, and everything built above them is a hack at this point. But they are all so engrained that nobody can imagine how things might be done better...<p>JavaScript was obviously never intended, or designed, for 90% of the things it&#x27;s used for. Also, as a language, it&#x27;s so flawed that we have stuff like `left-pad` and `is-odd` on npm which is just atrocious...<p>CSS, and styling pages in general, has always been a mess. Either have a disaster trying to name all your classes, or abuse HTML by using a billion utility classes a la Tailwind.<p>HTML was obviously never made for utility classes, encourages bad practices like inline styles, was never designed for DOMs of such massive size, and the number of strange new HTML tags that don&#x27;t quite do the job is quite large.
评论 #36959048 未加载
jcollins1991将近 2 年前
I mostly agree, and usually feel like a grouchy old man for it. Been doing FE for a long while, jQuery into stuff like Meteor, then early Angular and Ember... There were a lot of frustrations but I found that they were more easily overcome, and past a certain point I&#x27;ve felt like we aren&#x27;t getting any more technologically superior with reimagined frameworks, but rather just finding a new flavour of the month.<p>Conversely, React Native (and other similar solutions, even Electron which I love to hate) are AMAZING and I feel like it&#x27;s such a breath of fresh air compared to pure native app development. They have their ups and their downs, and they&#x27;re not always the best solution for a given problem, but they&#x27;ve brought so much opportunity for dev efficiencies within companies and allowed solutions to be built that would&#x27;ve otherwise been cost-ineffective in the past.
sleepingNomad将近 2 年前
I&#x27;m not sure about overcomplicated, but I agree that it&#x27;s not the best path. Have you used Meta&#x27;s products?<p>As a regular user of Meta Business Suite and other Meta social products I can tell you that they are terrible and full of issues. The creators of React make web apps that are awful to use. What chance do the rest of us have?
l5ymep将近 2 年前
React brings some complexity but at the benefit of better state management and DX. If you have ever worked on large projects where each button has a click handler to do 20 different things, you will find that it&#x27;s easy to miss some edge cases and have state drift.
jrvarela56将近 2 年前
Maybe your definition of simplicity does not satisfy all relevant needs.
nathants将近 2 年前
just gonna leave this here: <a href="https:&#x2F;&#x2F;reagent-project.github.io&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;reagent-project.github.io&#x2F;</a>
jauntywundrkind将近 2 年前
&gt; <i>Everything they do is just so overly complicated, and so many layers of abstraction rolled up in a messy ball of mud.</i><p>With a historical lens, these all seem like great improvements over where we were at the time. Their implementations certainly grow in complexity, but there are core simple ideas that Facebook emerged that were incredibly valuable.<p>With React, the web got one of it&#x27;s first immediate mode rendering schemes. Instead of trying to ongoingly modify the page with event handlers - a bedevillingly complex game of guessing your current state &amp; figuring out the next one - developers could just re-render the thing, and vdom would make it fast enough.<p>With React, we iterated towards simplicity. The VDOM keeps doing it&#x27;s thing, but the tools around how we create it keep getting nicer. Class components were fine but with complex dynamics that required careful understanding. Higher Order Components helped us isolate concerns. Functional components are so much easier to review &amp; read &amp; handle. If anything, from a DX, I feel like React went from excellent at beating the complications of the web, to being phenomenally out of this world great at reducing development complications.<p>With Flux&#x2F;Redux, we got directed data flow. We gained a real place where data lived, we gained a way to ask for that data, we gained a way to update data. We&#x27;d had countless informal systems, but this created a well known structure usable across teams that provided once again <i>just enough constraints</i> to bring order.<p>With Flow, we got typing. I don&#x27;t know a ton about Flow, but Flow was quite early, and it certainly helped pioneer the way forwards &amp; was the right direction. For a while Flow was the clear winner for a lot of people in the typing wars, but TypeScript&#x27;s ability to improve &amp; iterate &amp; their overall approach slowly clawed them towards being the default sensible choice.<p>Jest doesn&#x27;t delight me but seems fine.<p>React Native is a brilliant approach to take crufty complex native app building &amp; to deploy the world&#x27;s most popular software stacks to the problem. In a cross platform way. Brilliant revolutionary attempt. The reality hasn&#x27;t always been sun &amp; roses, but the team keeps working forward and keeps iterating. The new component style is a great iteration towards simplicity, a modern take on the things.<p>GraphQL again paved the wild. I don&#x27;t particularly have love for it, but it nicely intermediated a complex problem of how data is made accessible on the web. It again paved the many many cowpaths &amp; built a paved road stable well defined way to do the job. And it had some really great upsides, like letting you build really complex objects that could draw data from all over the place, but then only need to fetch&#x2F;compute what you need, which I&#x27;ve seen be a huge boon for systems. GraphQL is like an deeply flexible serverside join engine, and that is very powerful to have, and eliminates ton of having to carefully craft APIs ahead of time &amp; orchestrate services yourself.<p>I always am curious what perspective people judge from when they say something is overly complicated, when they call it a &quot;ball of mud&quot;. It&#x27;s also interesting to note the distinction between internal &amp; externals: much fewer devs are out there to judge how clean or how many levels of abstraction there are inside the implementation. From the outside though, most of these projects seem, to me, to present a clear idea or two, and not to be burdened down by being many-layered.<p>I&#x27;d like to hear the naysayers also find one good thing to say about each project. Even if you don&#x27;t like it, what are the things you acknowledge or can appreciate? I feel like anti- views especialy lack depth &amp; nuance, so frequently tend to flat denials, where-as those with positive outlooks bring nuance &amp; complex thinking; there&#x27;s a meta here, about what forces we let drive us, that I think is so crucial to finding the better light of humanity, that deserves the challenge, to push for higher.
评论 #36959605 未加载
test098将近 2 年前
lol this is the most popular opinion on HN. every single thread about javascript or React is literally most of the thread saying &quot;jquery is good enough&quot; and &quot;react is horrible&quot; and lamenting the state of frontend frameworks.
评论 #36958907 未加载
recursivedoubts将近 2 年前
as the creator of htmx.org... that&#x27;s bait