Intro to Reactive Applications
tl:dr; just use this https://learnredux.com/
Reactive applications have become all the craze lately in the front-end space. Companies like Google, Facebook, and PayPal have taken this concept by storm and have made the push toward data intensive component based front ends.
The ability to take a component and easily reuse it somewhere else has been commonplace in the module oriented backend world for decades and now thanks to tools like Webpack, React, Angular, and Vue the same is true for front end development.
It has almost become a necessity for any aspiring front end engineer to start to be able to be productive in this paradigm. jQuery has quickly become useless in this new landscape and it can be difficult to figure out the road to take. It can be a little overwhelming at first, but we are here to help you get over the hump.
What framework do I use?
By using one of the frameworks, you get access to some of the most common patterns used at the largest companies of today. They each have their own strengths and weaknesses, but for most applications, any will work well.
We here at DevX highly recommend using React as it is one of the most widely used frameworks in industry. It also has awesome extensions like React Native, React VR, and Proton that expand React beyond just the web.
So how do I learn React?
We highly recommend that you use something like “Create React App” to start at first, as the setup for React can be daunting at first. (https://github.com/facebook/create-react-app)
This is great and all, but this is basic!
Yes it is very basic, that is the point. React provides just the View layer of your application, it leaves routing, data handling, fetching, auth, etc up to the user make it extremely flexible. This also means that it is very difficult to get up and started in actually building a full fledged app in React.
Ok so how do I do routing?
Use React Router. (v4 at this point and time) It is very declarative and pretty easy to pick up quickly.
But what about the data?
This is the most important part of any front end application and of course it is the most difficult. There are lots of buzzwords here like unidirectional data flow, pure functions, flux, redux, etc. These are generally more architecture patterns that you can use with any of the frameworks listed above, but most were created with React in mind. These can be very scary at first, but in reality it is all pretty basic. Here are a few options that you can use.
Flux, the OG from facebook.
Redux, the gold standard.
MobX, the black sheep.
For the most part, we use redux here at DevX. It is what most companies use in industry and is pretty intuitive once you get used to it.
Great! I understand it all now, where can I go from here?
The world is your oyster! There is a budding ecosystem around React right now that you can do an endless amount of things.
React Native, build mobile apps with native speed.
React VR, like Pokemon Go.
Elm, the godfather of Redux.
Testing in React.
Are you interested in building out meaningful applications and learning from like minded individuals? Then DevX might be for you. We are looking to bring on Developers, Designers, and PMs every quarter to help you develop your skills through building applications that make a difference. Join our mailing list at https://ucladevx.com! If you enjoyed this article give us that lit clap.