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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Which would you use for a new Project (ReactJS or AngularJS)?

9 点作者 ericthegoodking超过 10 年前

7 条评论

slashnull超过 10 年前
Well,<p>1) if I understood correctly, the design of Angular has some inherent, and rather large, performance hits.<p>2) Google isn&#x27;t dogfooding Angular save for one project. Facebook seem pretty serious about doing all new developement in React.<p>3) the specific kind of developement they&#x27;re doing is similar to the one I have to do right now, viz. taking an established mostly static page and adding bits of highly interactive and dynamic behavior here and there. Google used Angular to reimplement the app from scratch. I can&#x27;t afford that.<p>4) Angular, at what will probably the top of its popularity right now, just broke all interfaces and syntax and everything during the passage to 2.0, for reasons that were never fully explained (to me at least). Facebook won&#x27;t be able to do that without breaking the proportionally large investment they had so far with React.js and incurring significant costs, which is nice and stable and comfortable. If the benefit&#x2F;cost ratio of React 2.0 (or 1.0, I guess) is acceptable for Facebook, then it will probably be acceptable for me, too.<p>5) React interacts nicely with their Flow typechecker, which I think is, uh, the safest vector, right now, to foster the adoption of algebraic typing in the mainstream of programming. I won&#x27;t typecheck my JS before the summer, probably, but still, this is philosophically fun.
delluminatus超过 10 年前
I&#x27;ve made applications using both React and Angular. Qualitatively, Angular is way easier to get started, but React &quot;feels nicer&quot; (it&#x27;s hard to explain, but because you have to handle a lot of the eventing and message passing yourself, you feel like you understand your own app a lot better. Angular is a framework, with inversion of control -- React is just a library).<p>IMO, you should use Angular, unless you:<p>1. Need good performance with over 1000 data bindings<p>2. Are making a literal SPA (i.e. don&#x27;t really need URL routing or multiple controllers)<p>3. Plan to build a long-term rock-solid application (like a backbone for an enterprise)<p>4. Want to understand exactly what is happening in your app.
评论 #8962222 未加载
ptasci67超过 10 年前
+1 to &quot;As with everything it depends&quot;<p>Personally, when I switched to React, I never turned back. Angular gives you more out of the box but I personally hated that box. I really jive with the React way of doing things and mixins allow you to easily add more functionality like routing, etc.
smt88超过 10 年前
<a href="http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-is-Awesome" rel="nofollow">http:&#x2F;&#x2F;jlongster.com&#x2F;Removing-User-Interface-Complexity,-or-...</a>
raorao超过 10 年前
that&#x27;s dependent on the problem at hand. Are you building a site that has a lot of moving parts on the same page, that needs to communicate nuanced state changes across components? If so, react&#x2F;flux is a godsend, since the system will be easier to maintain and customize.<p>Is your site made up of many different views that don&#x27;t change much once loaded? Then angular would be a fine tool for the problem. You would likely move much faster initially, since Angular handles a lot of problems with data binding and routing for you.<p>And finally, are you sure you need either of these frameworks? If you want your front end to consume JSON but it isn&#x27;t particularly dynamic, something like backbone will probably be good enough. Hell, server-rendered templates do the job in a lot of cases. No reason to solve a problem that doesn&#x27;t exist.
tptacek超过 10 年前
React is much simpler.
gravedave超过 10 年前
Don&#x27;t know about ReactJS, but I&#x27;d stay away from Angular, especially since Angular 2.0 will break compatibility anyway.<p>I&#x27;d probably go for Backbone, Underscore, Zepto and&#x2F;or Bootstrap.