- Netflix distributed services
- Facebook’s creation of React
- Walmart marketplaces
What’s a Framework?
A framework is “an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.” Frameworks are built on top of languages to speed up processes and develop specific tools, you can see some examples of CSS frameworks for design here.
Vue is a progressive framework for building user interfaces. Vue is designed from the ground up to be incrementally adoptable, making it easier for integrations and connecting to existing projects.
Vue is also super-fast, with 20KB min+gzip Runtime and minimal optimization needed to power your applications.
The way Vue works is through template styles similar to Angular. It is a fast and easy language to work with for apps, UI, and interactive interface development, and it has the ability to power single web page projects too.
One of the biggest reasons people like Vue over some of the other frameworks is because a lot of time is saved during rendering. Vue tracks the component’s dependencies so the system already knows which components need to be re-rendered when something changes.
See examples of cool websites, apps, and projects made with vue.js.
Angular is built for the future. The framework is maintained by a team of engineers who share a passion for making web development feel effortless. They believe that writing beautiful apps should be joyful and fun. Learn more about Angular here.
Angular follows a classic MVP (Model View Presenter) pattern for complex applications. This is a concept people use to break down large projects into specific ‘separation of concerns’ and areas to focus on developmentally. You can read more about this concept here.
Check out made with angular to see cool examples of projects built on this framework.
Similar to Vue, React is efficient in rendering and only changing necessary components when interacting with the state. React also changes the way people can interact with states and works to evolve the development process. It is component based, meaning each encapsulated section can manage its own state, which is important in large scale and complex UIs.
What is React?
This video does a great job breaking down exactly what React is and how it is used.
Express is a fast and minimal web app framework for both web and mobile applications. Think of it as the framework for building websites. Express helps you quickly get your apps live, while providing a number of methods for creating APIs easily, too.
A lot of other popular frameworks are built on top of Express because of the simplicity and ease of integration. You can view the full list here.
Express.js Tutorial: Build RESTful APIs with Node and Express
Recommended video from Programming with Mosh on Express:
Redux is a data management system that is mainly used with React. For large scale projects with lots of moving parts, Redux helps to organize the data and keep everything running predictably even in vastly different environments.
Redux places a focus on debugging and ease of use. They write:
“The Redux DevTools make it easy to trace when, where, why, and how your application’s state changed. Redux’s architecture lets you log changes, use “time-travel debugging”, and even send complete error reports to a server.”
One important thing to note about Redux is that you should not use it unless absolutely necessary! According to the Redux FAQ, “the need to use Redux should not be taken for granted.” Multiple early contributors to the project proclaim that it is something you’ll know when you need, and that you only need when other problems arise.
Dan Abramov says: “I would like to amend this: don’t use Redux until you have problems with vanilla React.”
So just keep that in mind before jumping in full steam to this powerful, and somewhat advanced framework. It is definitely useful, but only at large scale and when dealing with large amounts of data changing over time.
Read more about recommended uses for Redux here.
Going Beyond Vanilla JS
One thing all of these frameworks have in common is that they help developers accomplish more in less time. That’s a big part of their appeal.
Each framework has its strengths, weaknesses and ideal use cases. Which one you choose really depends on the specific needs of your project.
But, now that you know a bit more about them, you’ll have a head start on picking the right one.