Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

Angular, React, and Javascript framework fatigue

February 3, 2016
Samuel Mendenhall

    Introduction

    I'm an avid follower of Hacker News and many various programming related subreddits. There is a constant flow of posts where the author expresses fatigue, weariness, and many times backlash at JavaScript and the plethora of front-end frameworks. Much of this conversation surrounds React and Angular and then other frameworks such as Mithirl, Meteor, Ember, Vue and others (and there are many others). The conversation many times will go X is the best framework, or X is not the best framework Y is, and the reasons, or much consternation that X or Y is short lived and will be superseded soon by Z. Then many times it is just complaining about X, Y, Z, and frameworks and JavaScript in general.

    I'd like to offer a few thoughts counter to this outcry of fatigue in the industry.

    Overview

    What if you viewed the churn and the constant creation of frameworks and libraries as a positive growth factor. What if you viewed the JavaScript ecosystem as parallel to the machine learning ecosystem.

    In the machine learning world there is, albeit not as voluminous, a continual outpouring and creation of new libraries and frameworks to analyze data. There is only positive sentiment towards this as we see this as advancing the ball on the field. Yet many take the parallel situation of JavaScript framework advancement and have a very negative sentiment, possibly because of the negative sentiment towards JavaScript in general.

    I tend to see these negative sentiments as more group think and viral memes catching on than necessarily objective criticism. If we get down to it we can nitpick and criticize any language or framework. We can find fault with C++, Java, Ruby, Python, you name it, or we can praise each respectively. Each language, and everything contained therein, has strengths and weaknesses, but even more so, at the end of the day the apps we create are black box. The end user sees the function not the code. Therefore if we are programming in a language/framework to create functionality, then it is the effectiveness and vibrancy of the functionality that is the goal, the nuances of the languages or framework are more or less meaningless to the degree that they do not significantly slow us down or prevent us from implementing functionality. Yes I know future maintainability is important, testing is important, solid code is important, but such things can be accomplished in nearly any language or framework. Such concepts are universal, not specific. One can create beautiful code in any language just as one can create poorly designed code likewise.

    Frameworks

    Let's look at Angular and React. Prior to Angular there were definitely plenty of popular front-end frameworks (Knockout, Backbone, Ext, etc...) however Angular made a huge splash because it was a brand new approach backed by a very large company that provided a full framework out of the box to do front-end development, especially with single-page apps. It filled in a lot of gaps that front-end developers previously had problems with and gave a complete solution while being extensible, this was huge. Angular caught on fast, and I believe, due in part of the popularity of Angular, the front-end framework/library development re-ignited. This is not a bad thing, this is progress. This is learning from past mistakes. Angular and React wouldn't exist if there wasn't still a need or room for improvement.

    And now we have React, which is the next major evolution in JavaScript frameworks. You may disagree that it is the best out there right now, but it is currently, at the time of this writing, the most trendy with the most hype. The authors of React took a new approach using a virtual dom where changes queue up reconciliations between the virtual dom and the real dom.  React also offered an extremely simple means of hooking into the lifecycle of the Component, and provides a very simplistic set of APIs to render the view layer.   The simplicity and conciseness of React has been very well received by the industry, and I believe has shown that we can have a very powerful framework/library (depending on how you mince words) that is also simple to grok.  It would also appear that Angular 2 is adopting some of the concepts from React and other frameworks.  Angular 2 has made the idea of a Component a first class construct, and offers lifecycle hooks which is fantastic.  The dom rendering in Angular 2 is much faster as well though it isn't using a virtual dom, it does support the native shadow dom where available.  I also really like that Angular 2 is pushing TypeScript.

    I find the vibrant npm ecosystem and the ever changing front-end framework ecosystem very exciting. The churn, the numerous frameworks, the attention and resentment all indicate a growing and advancing domain of knowledge and techniques. New content means new life and it brings new programmers and attention. The last thing I would want to see is no new frameworks and no growth or advancement. There are languages and domains out there with small ecosystems and small user bases. Those languages can be fun but frustrating when there are few library and framework options. In JavaScript the world is your oyster. And again, many are turned off by that, but I believe it is ultimately a good thing.

    What should you do if you have JavaScript and/or framework/library fatigue, yet you are still part of the JavaScript world? Choose a framework you like, that is active, use it, take a step back and ignore everything else for a while. Remember ultimately you are creating functionality, the language and the frameworks are simply a means to an end. Being inflamed at the numerous frameworks out there is ultimately a meaningless endeavor. When you express angst at the industry it only inflames others, either with you or against you, but it changes nothing. It does not stop anyone else's development and exploration of new frameworks. The best thing you could do, if you believe in an existing framework, and hate the idea that other 'inferior' ones are being created/used, is to start contributing bug fixes and features to the framework you like so that it has the best chance of long term use.  If you don't contribute to the upstream, blowing smoke is just that, it accomplishes nothing meaningful. And if you just enjoy hating and criticizing, then it would be an excellent practice to take your ideas on why everything else is so bad, and create a new framework yourself. Being the one criticized by creating 'yet another framework' would give an excellent humbling perspective.

    Predictions

    What's next in the industry? I have no crystal ball, but the past is the best indicator of the future.

    • I'd expect to continue to see the evolution of existing frameworks and libraries and the creation of new ones that advance some new idea or concept that make creating webapps easier and more fluid. The larger frameworks will likely cherry pick from the best ideas in the aggregate. We've already seen this with Angular 2 adopting superior forms of internal rendering over v1 and having the 'Component' as a first class construct.
    • Angular 2 will be successful to some degree but probably be overshadowed by React mainly due to momentum.  This likely won't change for a while, especially given the still 'not ready for production' state of Angular 2.  Think Xbox 360 and how it hit the market long before the PS3, the PS3 was always playing catch up.  Not a perfect analogy in light of Angular 1.x, but it has some parallels I think.
    • Innovations surrounding and within React may become a standard (think Flux and the Virtual DOM) but it would be many years before that really caught on and with the Angular/Angular 2 user base it won't become the industry standard necessarily.  I don't hold a strong position here, consensus is very difficult in this domain, but having Google or Facebook back a standard may give it a higher chance of success.  Remember competition is good.  Standards are good, but there is the age old fragmentations of standards problem as well:  https://xkcd.com/927/
    • There will be some new library or framework X that will be introduced and gain momentum eventually though it will be a while. React and Angular have enough hold and mindshare that any new major framework will have a very hard uphill battle to establish any sort of major dominance barring a new revolutionary approach like React popularized.
    • There will be many new micro-frameworks and 'nextbestthings' that come out, but none will experience the large success of React and Angular for some time.
    • When React version 1.0 is released it will be a very significant milestone as a successful implementation of the original concept and goals.  I see the momentum only increasing for React not decreasing.  There will undoubtedly be an arc at some point, but not soon.
    • There will continue to be framework fatigue, if people are fatigued now, they will continue to be so, especially with the popular hate of JavaScript in general by many. Some may rest in the comfort of some of the major frameworks/libraries, but there are always new programmers so there will always be confusion over what to choose and what to do. And there will always be fanbois and people who enjoy trolling. To provide a counter to that, constructive criticism of anything is healthy, through the collective conscious criticism we can expose flaws in existing frameworks that hopefully push the ball forward to develop better techniques, I do realize this is important.

    Conclusion

    I hope the new development of frameworks and churn continues.  I'm a big believer in the power of the collective conscious to innovate.  Just like the field of machine learning the world of front-end JavaScript is incredibly dynamic and continually advancing.  There is clear evidence that we are progressing and getting newer and better means as time goes on; I can only hope this will continue despite the fatigue many feel.  I encourage you to continue advancing the cause, criticize, but offer ideas for solutions.  Don't see fracture and fragmentation as bad, see it as the collective exploration of new approaches and ideas, which may catch on and be adopted mainstream.   Happy coding and enjoy the wild!

    Last updated: December 19, 2016

    Recent Posts

    • Red Hat Enterprise Linux 10.2 and 9.8: Top features for developers

    • What GPU kernels mean for your distributed inference

    • Debugging image mode with Red Hat OpenShift 4.20: A practical guide

    • EvalHub: Because "looks good to me" isn't a benchmark

    • SQL Server HA on RHEL: Meet Pacemaker HA Agent v2 (tech preview)

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.