The objective of this discussion is to expose you to some of the popular frameworks that are built on top of JavaScript or React. The goal is not for you to know how to use these, but simply understand what their intended usage is in case you want to use it at some point in time.
For each of these, I want you to answer the following questions for the class:
- Why does this exist? Why did people spend hundreds of hours of their time to build this?
- For what types of projects would you use this for?
- Gatsby
- Storybook
- Svelte
- i18n.js
- MathJax / KaTeX
- D3.js
- Formik
- react-hotkeys
- Frontity
- React Query
- Redux
Aya Abu Al Hummos, Malak Jabr, Yassin Aji, Dana Maraqa, Lujain Mansour
usually used for :
Static Websites: Gatsby's primary use case is for building static websites. If you have a website that doesn't require real-time data updates and can be pre-rendered,
Blogs: Gatsby is a popular choice for creating blogs.
E-commerce Sites: example : Nike
Portfolio Websites: For designers,
developers, photographers, or any creative professional,
used for the following project:
Web Application Development
Design Systems:UI library for a company or a project
E-commerce Platforms: Projects involving e-commerce websites often require a wide range of UI components
Team Collaboration: Storybook encourages collaboration between designers, developers,
types of projects where MathJax can be particularly useful:
Formik: Formik addresses several common challenges and pain points that developers encounter when working with forms.
You would typically use Formik in React projects for various types of forms, such as login and registration forms, contact forms, data entry forms, surveys, and any application that requires user input and data submission. It's particularly valuable for projects with complex forms that involve input validation, conditional logic, form state management, and integration with back-end services.
Overall, react-hotkeys is a valuable tool for improving user experience, accessibility, and developer productivity in React applications where keyboard interactions play a significant role. It simplifies the implementation of keyboard shortcuts and makes it easier to create a more user-friendly and efficient application.
You would use react-hotkeys in a variety of projects where you want to implement keyboard shortcuts and improve user interaction, like Games and Productivity Applications
React Query: a powerful data-fetching library for React applications that simplifies fetching, caching, and state management of server-side data. It was created to address the challenges developers face when managing server-side state, fetching, caching of data, and error handling.
Declarative & Automatic: You need to tell React Query where to get your data and how fresh you need it to be, and the rest is automatic
Simple & Familiar: If you know how to work with promises or async/await, you already know how to use React Query.
Extensible: React Query is configurable down to each observer instance of a query with knobs and options to fit every use case.
It’s suitable for anything from weekend hobbies to enterprise e-commerce systems. So, whether you’re building a small personal project or a large-scale application, React Query can be a valuable tool to simplify data management.
Redux: A predictable state container for JavaScript applications.
Predictable: Redux helps you write applications that behave consistently.
Centralized: Centralizing your application’s state and logic enables powerful capabilities
Debuggable: The Redux DevTools make it easy to trace when, where, why, and how your application’s state changed.
Flexible: Redux works with any UI layer and has a large ecosystem of add-ons to fit your needs.
It’s suitable for anything from small personal projects to large-scale applications.
Redux is used in production by many major companies and is a popular choice for projects that require a robust, scalable state management solution.