6 ms·
I really don't give a shit what anyone says, for me personally ReactJS makes front end great fun to program and an absolute blast and empowers me like never bef
by hoodoof 10y ago
I really don't give a shit what anyone says, for me personally ReactJS makes front end great fun to program and an absolute blast and empowers me like never before to build powerful, interactive front end apps with a code base that is well structured, understandable and makes sense.
Until React I dreaded front end development, painful, weird, quirky, hard to organise and generally problemtic. With React I feel like a front end guru.
AngularJS felt like some sort of weird computer science project developed by Phd's who had spent their university days studying Java - it hurt to learn it.
Call me a hipster fanboy if you want but I choose technology to work with because it is easy and make sense. I don't have much time so I have to commit my limited resource to the optimum set of technologies. At the front end that is React.
- beeker87 10y ago100% agree. With Angular, you're basically having to learn an entirely new MVC framework, complete with a mess of its own methods and definitions, which is built on an already existing MVC framework (a web browser). When I took some time maybe four years ago or so to study Angular, I came to the conclusion that it's just the wrong way to go about web development. I started thinking hell, I'm just gonna write my own library which strictly handles the view portion. Low and behold, I find React, and it's everything I was hoping for. If anyone is thinking about trying out Angular, save yourself time and headaches and use React or Vue.js
- k__ 10y agoWell, I have to say, I had the feeling already when using ExtJS4 and Emberjs. Even more than with React, because they both felt much more full featured. But yes they were harder to grasp than React and I prefer the tiny API of React over that convult that ExtJS is. And yes, I prefer JS-as-templates over that whole HTMLBars stuff Ember throws at their devs.
- qwertyuiop924 10y agoAngular was a bad idea. In sooo many ways... -Two-way binding in all cases is slow -Directives are unecessarily hard to write -Angular's default DI model breaks on alpha conversion, the basis of every JS minifier ever. All the fixes are cumbersome. -The system is poorly documented, making it hard for a dev to get started. -The system is overly complex, slow, and hard to debug ($digest already in progress, anyone?). -But most importantly, it implements stuff that has no buisiness being in an SPA web framework. It re-implements scoping, modules, part of JQuery, DI, and a programming language, complete with parser. React, however, did the responsible thing, and stuck to a specific domain. Even if nothing else React did was good (and I have some arguments there), this is a major win over Angular.
- deleted 10y ago[deleted]
- saskurambo 10y agoTwo way data bind is fast because a graph of binds and dependency is created. So you can have atomic updates while in virtual dom you must rerun all the tree. See vue.js and ractive But is also true that 2way double binding take more memory that virtual dom.
- qwertyuiop924 10y agoTwo-way binding CAN be fast, however, due to various issues, Angular's only option was Dirty Checking, which is sloooow. And no, a depgraph doesn't make it fast. What can make it fast is firing less events, using better triggers, and basically handling it exactly the way that Angular didn't. VDOM can help, but really not much. However you want to put it, two-way binding is costly, and it should be avoided whenever possible, or minimized by catching multiple bind events at a higher up element on the tree (see http://lhorie.github.io/mithril-blog/asymmetrical-data-bindings.html http://lhorie.github.io/mithril-blog/asymmetrical-data-bindi...) Just spraying it everywhere, the way Angular encourages, with no optimization (like the aforementioned asymetrical bindings), should be considered an antipattern.
- saskurambo 10y agoAngular 2way is based on dirty check. Ractive and vue.js are really data binding with atomic changes.
- qwertyuiop924 10y agoI said nothing about Ractive and Vue. Their 2 way binding is better, but with large quantities of bindings, it's still slow.
- saskurambo 10y agoVirtual dom consume more computation processor while data binding consume more memory.
- drdaeman 10y agoI don't see if it makes much sense to compare Angular with React. Heck, it's like a Pythonista would go comparing Django and Jinja. One's a framework, another's a template library. Same goes for Angular and React - Angular's a framework that tries to be do-it-all solution (UI rendering, validation, data model description, data persistence and communications with server, and more), React's an long-distant ancestor of templating libraries that essentially does only one thing - takes a data structure, a component definition and renders (and maintains) a DOM tree. Seems that many are calling non-React pieces that are frequently used with React (e.g. Redux, Flux, Immutable.js, Restful.js) to be "React" as well, while they don't seem have any ties to it. But, yea, loose coupling's great. And React is a very nice library.