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
1- Gatsby : it is used to build static sites, it boosts performance it only loads critical HTML, CSS, JavaScript, and other data and prefetches resources for other pages you might navigate to.
-Gatsby is the perfect solution if you don’t need huge customization in data fetching.
2- Storybook
Why does this exist?
To make it easier to build and maintain UI components.
What is it used for?
Building and documenting UI components in isolation.
Storybook: is a tool that helps developers build UI components separately from the rest of their application. This makes it easier to create and test UI components, and to ensure that they are consistent and reusable.
3- Svelte
Q: Why does this exist? Why did people spend hundreds of hours of their time to build this?
Ans: Svelte, however, doesn't use a virtual DOM, instead compiling code into tiny, pure Vanilla JS. As a result, the code works much faster from the beginning, making a potential app product much lighter and user-friendly. This is the first and most notable difference that Svelte has presented to the world of coding.
Q: For what types of projects would you use this for?
Ans: you can build entire web applications with it. It is a good choice for large-scale projects.
4- i18n.js
What is i18n.js used for?
i18n.js is used to translate JavaScript applications into multiple languages. It is a library that provides a simple and efficient way to do this.
what types of projects would you use i18n.js?
You would use i18n.js for any JavaScript application that you want to translate into multiple languages. This includes web applications, mobile applications, desktop applications, and even command-line applications.
5-MathJax / KaTeX
MathJax is a JavaScript library that displays mathematical notation in web browsers, so basically to make mathematical texts and equation look better and more readable.
Katex : a fast, easy-to-use JavaScript library for TeX math rendering on the web, Tex Math is a popular means of typesetting complex mathematical formulae.
6-
Why does D3.js exist?
To make it easier to create interactive charts and graphs on the web.
For what types of projects would you use D3.js?
Any project where you need to display data in a visually appealing and interactive way. This includes projects like news websites, business dashboards, and educational tools.
7-Formik
What is Formik used for?
Formik is a library that helps developers build and manage forms in React applications. It provides a number of features that make it easier to validate forms, handle errors, and submit form data.
For what types of projects would you use Formik?
You would use Formik for any React application that needs a form. This includes web applications, mobile applications, and desktop applications.
8- react-hotkeys
What is react-hotkeys used for?
react-hotkeys is a library that helps developers add keyboard shortcuts to React applications. It provides a simple way to define keyboard shortcuts and to handle keyboard events.
For what types of projects would you use react-hotkeys?
You would use react-hotkeys for any React application where you want to add keyboard shortcuts. This includes web applications, mobile applications, and desktop applications.
9- Frontity
Why does Frontity exist?
People build websites and web applications using different content management systems (CMSs), such as WordPress, Drupal, and Joomla. However, these CMSs can be slow and inflexible. Frontity exists to make it easier to build fast and flexible websites and web applications using React.
What is Frontity used for?
Frontity is a headless React framework. This means that it allows you to separate your front-end code from your back-end code. This makes it easier to scale and maintain your website or web application, and to use different CMSs.
For what types of projects would you use Frontity?
You would use Frontity for any project where you want to build a fast and flexible website or web application. This is especially true if you want to use a different CMS than WordPress, or if you want to have more control over your front-end code.
10-React Query
Why does React Query exist?
Because fetching data from APIs can be hard and complex. React Query makes it easier.
What is React Query used for?
To make fetching data from APIs easier in React applications.
For what types of projects would you use React Query?
Any project where you need to fetch data from APIs, such as e-commerce applications, real-time chat applications, data visualization applications, social media applications, and news websites.
11-Redux
Why does Redux exist?
Redux exists to make it easier to manage the data in your JavaScript applications.
What is Redux used for?
Redux is used to manage the state of JavaScript applications. State is the data that an application uses to run.
For what types of projects would you use Redux?
use Redux for any JavaScript project where you need to manage a lot of data, or where the data is complex. This includes projects such as:
Large websites
E-commerce applications
Real-time chat applications
Data visualization applications