Overall Satisfaction with React
React has been used as a web front-end layer for a few different projects. We have a couple of web applications that we have chosen to use React for. It addressed the need for something that was forward-thinking and progressive in its approach to development. It allows us to structure the client-side logic and presentation code in a more maintainable way.
- React makes managing state both easy and hard (depending on the context of the situation). So I am using it as both a pro and a con.
- React makes organizing your code quite easy.
- React is fast.
- It can be used on the front end and also rendered server-side.
- The Ecosystem is enormous for being so young. Wide-spread adoption has helped this and gives you plenty of areas to find help.
- React Native is an amazing tool that gets you into Mobile Development using the skills you learn in React Web development
- React's state management can get hairy if you have a deeply nested component and need to pass things up or down the tree very far. This is where libraries like Redux come in, however.
- The progressive nature of its development and change cycles can leave information outdated online faster than other frameworks. This can make finding help or documentation on 3rd party sites frustrating.
- The learning curve on "thinking in React" can be slightly higher than other more familiar patterns of web development.
- Building an app in it can be cumbersome to set up with webpack, but things like Create React App can get you going in a jiffy.
- Development speed has probably sped up overall
- Organization of code has improved
- More flexible future development and maintenance options
- Vue and Blaze
When choosing a front-end framework, you have a ton of choices. There are numerous articles that will try to convince you this way or that about which one is better. I have used Blaze as a UI layer for Meteor Application development quite extensively and have found it to greatly aid development with its simplicity and speed of getting ideas off the ground. It does suffer in certain context from extra code necessary to get things working because of its older handlebars-like patterns. Logic takes more code. With React, you can accomplish a lot of basic tasks more succinctly because it's just javascript all around and you can incorporate broader logic right into the templating.
Using React
Pros | Cons |
---|---|
Like to use Well integrated Consistent Convenient | Requires technical support Lots to learn |
- Performing basic to moderately complex logic in your templating can be achieved and still visually readable from a code standpoint
- Organizing code from a data flow standpoint is much easier than with other framework
- Choosing a way to style components - there are so many different opinions on the matter
- Form handling
Yes - If you call React Native a mobile interface ;) - But seriously though, React Native is amazing. It gets you the ability to build cross-platform, native Mobile apps that utilize over 90% of the same codebase.