Angular 2 vs React: What are the differences?
Choosing a framework be it angular, react, ember or vue is personal preference. I would say start with each and build something that utilise state management (todo list perhaps?) and see which style you are comfortable with.
If you wants to get employed, React is a wiser choice. It also helps you build native mobile apps with react-native . If you are building enterprise app with alot of client-side data, nothing beats Ember.js ember-data.
If you are like me who is prototyping light-weight startup and would like to move fast and missing your first front-end learning (angular 1), go with Vue.js . NativeScript-Vue is the binding to build mobile native apps with it.
Responsiveness is an aspect that deals mostly with CSS, and CSS frameworks such as the ones mentioned are focused on addressing this aspect, making it easy to use components in a standard and less bug-prone way when compared to writing CSS from scratch. This said, knowledge of CSS is very important for front-end development, as it is required to customize components provided by these frameworks, and allows you to create more customized and compelling experiences.
Personally, I have used Vue.js, React, Ionic, Angular, and I enjoyed the first two the most, especially React.
What is the best MVC stack to build mobile-friendly, light-weight, and fast single-page application with Spring Boot as back-end (Java)? Is Bootstrap still required to front-end layer these days?
The idea is to host on-premise initially with the potential to move to the cloud. Which combo would have minimal developer ramp-up time and low long-term maintenance costs (BAU support)?
React might be a good option if you're considering a mobile app for the future, because of react native. Although, Vue.js has the easiest learning curve and offers a better developer ramp-up time. Vue.js is great to build SPAs, very clean and organized and you won't have a lot of long-term maintenance problems (like AngularJS, for example). Bootstrap can still be used, but with flexbox there's no need anymore.
I recommend React because of less memory occupant compare to Angular, but this will depend on your organisation flexibility. When you use React you need to import different libraries as per your need. On the other side angular is a complete framework.
Performance-wise I vote for react js as it loads up quickly and lighter on the mobile. You can make good PWA with SSR as well.
If you are new to all three react will be a good choice considering, react-native will be useful if you want to build cross platform mobile application today or tomorrow. If you are talking about bootstrap styling framework than it's a choice you can style ur components by ur self or use bootstrap 4.0 framework. The complete stack mentioned above is platform agnostic u can run it anywhere you want be it cloud or on-premise.
We are coming from a C# background and we are trying to port our Windows Forms and WPF UIs to the browser. Our current UI is hosted in a "framework" which hosts all Windows and you can navigate in the program. As a back-end, we want to use ASP.Net Core to use some existing logic as well as database access logic. We already collected some experience in JS and TS and are able to create basic UIs in vanilla JS/TS. But we struggle a bit with navigation from one "App" to another "App".
What would be your recommendation?
Have you tried Angular or React? They are frameworks for creating single page WebApps where the DOM is updated on a single webpage, what this means is that your app only loads once and thereafter it is as smooth as a native experience. What you can do is build one menu interface and then have multiple apps all running in the same project. Google Docs is a good example of this. Angular is easier to manage, but personally a bit jarring to get into and understand, whereas React is a bit messier, but easier to pick up.
Coming from C# I think you’ll find Angular comfortable. If you were more node/ruby/web developer savvy I’d probably recommend React.
Angular comes with everything you need out of the box, it’s a bit more opinionated framework. React is a series of libraries that you can patch together to tweak exactly how you like to web dev.
For me Angular is a complete framework. It is built on the experience of AngularJS, has a very cool CLI with a lot of features (also IntelliJ Integration of course), complies with web standards, provides a good maintainability and integrated solutions like i18n or animations. And it is also good for beginners. (linked a german article about my first steps in angular)
It was easier to find people who've worked on React than Vue. Angular did not have this problem, but seemed way too bloated compared to React. Angular also brings in restrictions working within their MVC framework. React on the other hand only handles the view/rendering part and rest of the control is left to the developers. React has a very active community, support and has lots of ready-to-use plugins/libraries available.
It is a very versatile library that provides great development speed. Although, with a bad organization, maintaining projects can be a disaster. With a good architecture, this does not happen.
Angular is obviously powerful and robust. I do not rule it out for any future application, in fact with the arrival of micro frontends and cross-functional teams I think it could be useful. However, if I have to build a stack from scratch again, I'm left with react.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is Angular 2?
What is React?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Before two weeks ago or so, it used to be Backbone views and models, and everything was on our main store app, and our mobile web app, but actually, we just switched our mobile web app to using ReactJS for the interface. So it’s using Backbone models but ReactJS front-end components. Really, it was borne out of the frustration with how the Backbone model-view bindings worked, and it wasn’t especially performant for large views, and we had to do lots of tricks to make it performant. But swapping that out with React views meant that it could be both simpler and faster without having to spend a lot of time on that.
One other interesting thing about that is, since React actually works okay with the Backbone models and the Backbone router and stuff like that, we didn’t have to rewrite the mobile web application and update it to ReactJS. Rewrites are almost always a bad idea. We were able to upgrade pieces of it at a time, move on to React, and now the entire thing is using React and just has the Backbone router and models and stuff like that that we already had, so it's a lot faster.
At the beginning of last year, Netflix UI engineers embarked on several ambitious projects to dramatically transform the user experience on our desktop and mobile platforms. Given a UI redesign of a scale similar to that undergone by TVs and game consoles, it was essential for us to re-evaluate our existing UI technology stack and to determine whether to explore new solutions. Do we have the right building blocks to create best-in-class single-page web applications? And what specific problems are we looking to solve? Much of our existing front-end infrastructure consists of hand-rolled components optimized for the current website and iOS application. Our decision to adopt React was influenced by a number of factors, most notably: 1) startup speed, 2) runtime performance, and 3) modularity.
React has exceeded our requirements and enabled us to build a tremendous foundation on which to innovate the Netflix experience.
Web-frontend programming prior to React: like banging rocks together. With React: Like wearing fusion powered underwear. Gives you a nice warm feeling. Using React for Cloudcraft.co allowed us to create a beautiful UI in record time (1 month start to launch), with virtually no bugs popping up during development. The functional approach to just rendering your component given a state just makes so much sense, with React figuring out the delta between your current and desired representation. It's the future kids!
React is choice number 1 when it comes to JS development at Kurzor. We choose React because it solves many issues with web applications in a elegant way. Writing an app in components is useful for coordination and isolation of concerns. React forces you to abandon state and use vertical passing through props instead. And having as many Pure Components as possible helps to write cleaner code.
With React we usually use: Redux, React Router, React Toolbox, Styled Components.
The Angular 2 CLI is great, it's easy to get up and running with a project.
The really great thing about Angular 2 is it allows us to work with designers by augmenting their artifacts (html pages) with Angular directives. This allows our designs to go back and forth between designers and engineers without having to learn a new markup language (like JSX).
This is the best component framework and API available today for building modern web sites and apps. I really enjoy how minimal it is, and powerful at the same time. It removes opinionated development and replaces it with logic and data philosophies, which has in turn fostered a robust and lively code and support community.
Angular 2 is a great framework for C# developers. Deeply rooted in OOP & MVC principles and full integration with TypeScript. My go-to for client-side dev now...
Angular 2 is a beautiful and fast MVC Framework. We are using it for mobile, web and desktop development.