18 comments

  • Ed AdamsEd Adams, over 3 years ago (edited over 3 years ago )

    Dear people who know both Angular.js and React: which one is easier to get started with and build a moderately complicated application with, let's say a to do list app with user accounts?

    1 point
    • Aaron LarnerAaron Larner, over 3 years ago

      I've taught both react and angular in my classes. If you are comfortable with JavaScript I think react is far easier to learn. There are only a few major concepts to grok. After you know those, the rest is just JavaScript. Alternatively, angular is much more of a full fledged complete JavaScript framework. It has way more features and way more things to learn. There is a vibrant community of developers who can help you out and lots of tutorials if you want to do a specific thing (like the frobt end pieces of user authentication). One downside in addition to the numerous concepts you'll need to learn is that if since angular is so different from vanilla JavaScript, the concepts you learn are not transferable to other tools, libraries and frameworks. Additionally the new version of angular (angular 2) is a major change and will eventually make angular 1 knowledge obsolete. My pick is react, but with any tooling decision, it depends where you're coming from.

      3 points
    • Jason BlockJason Block, over 3 years ago

      I think that both are going to be remarkably confusing without some understanding/prior usage of a Javascript MV*-esque framework (or how to architect those applications in general). That said, I can only speak to the challenges you'd actually face with React (as I've never done anything with Angular in practice).

      The biggest challenges you'll face with React are:

      1. Architecture
      2. Tooling

      The practical aspect of building components is straightforward, and arguably the easiest thing to pick up with React. The rest, unfortunately, is a bit chaotic.

      When Backbone apps were at their peak, many dev had issues figuring out where to put all the puzzle pieces. Oftentimes, it led you to make your own framework (I believe Rdio did this for their apps--at Trunk Club we used one that sat atop Backbone called Chaplin). But even then, you often ran into the paralysis that comes with having a feature/application to build and not knowing where to insert the new pieces.

      This is sort of where the React community is right now. There are some great patterns and libraries out there, and a great deal of smart developers working away to make the experience even better. Simultaneously, we're watching this happen in real-time. It's exciting, but scary for a company consuming the library to support & trust.

      Similarly with choosing appropriate tooling, you are left to your own devices. This is unfortunate, because React effectively needs you to inject the Babel transpolar into your build process (not only that, but you need a build process!). Now, just like Backbone, you can make your own meta-framework that sits atop the current suite of in-fashion flashy tooling, but that is entirely at your own risk, and oftentimes an activity that a product manager is not going to allot time for you to handle.

      I'm conflicted--I'm incredibly productive with React (more so than I was when working in Backbone) and really enjoy working with it on a day-to-day basis. But I think there's problems around abstraction & tooling that Ember and Angular handle with greater ease. At the end of the day, that would likely matter more if you are on a larger team. And especially if you are working for a company that expects reliability, features out-of-the-box, and strong community support, a custom-baked React solution is likely not your best bet.

      2 points
  • Alina Kem, 2 years ago

    While building mobile pplications, it's likely to look closer to React, since it combines the most effective tools and methods of present-day outstanding libraries and frameworks. https://erminesoft.com/what-are-the-pros-and-cons-of-angularjs-vs-reactjs/

    1 point
  • Stefano TirloniStefano Tirloni, over 3 years ago

    None of them

    0 points
  • debby stone, almost 3 years ago

    2016 AngularJS VS. ReactJS Survey Results: http://blog.testproject.io/2016/09/01/front-end-development-unit-test-automation-trends2/

    0 points
  • Julia YerJulia Yer, over 2 years ago

    To solve this problem read new article of Cleveroad Inc. called "ReactJS vs AngularJS 2 ultimate performance research 2017" https://www.cleveroad.com/blog/react-vs-angular-ultimate-performance-research-2017

    0 points
  • Doug OrchardDoug Orchard, over 3 years ago

    How about no frameworks and go pure JS? You have to have a good reason to use either of these in production because of the effort learning their quirks,

    Going pure JS is getting better (ecma2015) for bigger applications. Libraries are usually more important IHO eg. Lodash, underscore and or jQuery.

    Just had a quick look and closed https://html5sit.es/ for one reason, too many pop-ups/modals. Maybe the framework isn't the problem here, it could be UX needs a little help?

    0 points
    • Jake Lazaroff, over 3 years ago

      I 100% disagree that "pure JS" is a scalable way to build a web application. We tried that for a while and applications would end up an unstructured mess of code soup.

      Ultimately, making something scalable will mean using SOME sort of design pattern—be it MV*, FLUX or something else. But thousands of smart people have already spent hundreds of thousands of hours thinking about how to best solve these problems, and deal with all the corner cases, and the result is frameworks like React and Angular… why reinvent this particular wheel?

      If you really want to get as close to vanilla JavaScript as you can, may I suggest Backbone? It mostly just abstracts away Ajax and gives you a nice event system, it's small enough to read the source code and understand, and it'll still give you a very sturdy structure upon which you can build a scalable app.

      0 points
      • Doug OrchardDoug Orchard, over 3 years ago

        Don't get me wrong, React and Angular are great ( React I absolutely love atm ). Trying to pick a framework without any plan isn't a good thing. Asking "React or Angular" is like asking "Photoshop or illustrator". Choose the tool/framework that will work with your project.

        Also I do think ES6 is way better for larger projects then ES5. The new module system makes like so much easier. Just sayin'.

        Based on the requirements Anselm Urban states in his "list app with user accounts", it doesn't scream NEED FRAMEWORK! to me. VanillaJS would do just great in this instance. He will need to write a little more code but wont have a heavy framework tying down his application.

        0 points
        • Jake Lazaroff, over 3 years ago

          That's fair. They're all just tools, and they definitely have their appropriate uses. ES6 (and ES7!) are both really exciting.

          I'd still be cautious about starting without some sort of structure because if the requirements ever change and the app needs to expand, it'll quickly become messy and a refactor/rewrite will take a lot more work.

          The key is the structure and use of design patterns, not the framework—but if the person implementing it is totally confident they can write that from scratch, they're probably not asking me whether they should pick React or Angular :) There are so many frameworks that give you the bare minimum that I'd still advise they use one.

          0 points
  • Dylan BaskindDylan Baskind, over 3 years ago

    Founder of https://qwilr.com here - where our core product is all built on Angular. Its actually a really tricky time for working out where to invest learning energy, with Angular 2 being so totally backwards incompatible with Angular 1 (which we use at Qwilr).

    React, as a number of folks have noted, is in many ways simpler. The surface area of the API is much smaller, it just deals with the "view" bit. This is both blessing and curse, depending on how beginner / advanced you are. If you're just getting started React may be frustrating, because you'll keep having to search for a library or utility that helps achieve some standard single-page-web-app objective (i.e. routing etc). On the other hand, this small area of concern can be a very desirable as a more advanced developer, since you can set up your application structure as you see fit (using whichever libraries and utilities you see fit).

    If I had to take a punt, I'd say the React, or React-like, libraries will probably win out in the end. That being said, with some years under my belt with Angular working on a very large and complex app, I'm now very productive with Angular - but its easier to get yourself into a mess on a larger scale app with Angular than with React.

    But in the end, learning either one will be a huge asset as a web-developer, and they've both got very large and very active communities.

    0 points
  • Aaron LarnerAaron Larner, over 3 years ago

    "With that in mind, it appears that Angular and React are by no means competing for the top-spot of being the best all around front-end framework. Instead, they can be used together to create astonishingly fast web and mobile applications."

    This couldn't be further from the truth. I don't know any developers who would recommend using Angular and React together.

    0 points
    • Jason BlockJason Block, over 3 years ago

      As far as I can remember, a lot of Angular+React projects/examples popped up from Angular folks that wanted to slowly transition their projects away from being so intimately tied to Angular (e.g. using React as the base component while still routing + fetching with Angular). Whether or not they're practical? No idea.

      0 points
    • Carl Yung, over 3 years ago

      One of the biggest benefits with React is that it easily attaches to existing frameworks. Comes as no surprise, I think, that React comes from Facebook which was mostly built on PHP.

      0 points
  • Anastasiia Stefanuk, almost 2 years ago

    React is a better one to start working on the web development with. It is simple to learn and use. As it is a library, you will be able to use additional JavaScript frameworks, which are always beneficial to be familiar with. You can work on web browsers and native mobile and desktop applications with no problem. Besides, it has a huge support from development community, React has over 1,000 contributors and 74,784 GitHub stars. If you are struggling which framework to use, I would recommend you to read this article: https://mobilunity.com/blog/migration-from-angular-to-react-developers/

    0 points