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
Sara jouma , Nour kayyali, Dana Alsiddig, Jana AbuHaltam
Gatsby is a powerful tool that can help developers to build high-performance, SEO-friendly, and scalable websites
Gatsby is mainly used to build static websites, Progressive Web Apps, and even Electron apps. However, it’s also well-suited for building blogs and other content-heavy websites.
2.Storybook:
An open-source tool for UI development. The tool enables developers to showcase the interaction of the components in an isolated development environment, making it easier to test and debug the components and collaborate with fellow developers.
It can be used for applications with complex user interfaces.
3.Svelte:
Svelte is a modern JavaScript framework used to build static web apps that are fast, lean, and are fun for developers to use.
However, Svelte’s main intuition, and its biggest difference from all the other popular JavaScript frameworks, is that it moves most of the processing to a compilation stage. That is, rather than relying on large and complex libraries loaded at run time, Svelte is built around a compiler that processes your application’s code before emitting a small, fast, and optimized code bundle.
i18next is an internationalization-framework written in and for JavaScript.
Most frameworks leave it to you how translations are being loaded. You are responsible to detect the user language, to load the translations and push them into the framework.
i18next takes care of these issues for you. We provide you with plugins to:
detect the user language, load the translations, optionally cache the translations
extension, by using post-processing
and it uses for all projects that required multi-languages supports
5.MathJax / KaTeX:
Is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup. MathJax is released as open-source software under the Apache License.
It used for Educational websites, research, and scientific publications.
6.D3.js:
It is an open-source JavaScript library that is used for manipulating documents based on data. It produces dynamic visualizations of data for the web. D3.js provides the building blocks for displaying data through colorful charts, graphs, and maps – instead of boring text and spreadsheets.
It used in dashboards, infographics, interactive charts.
7.Formik:
is a popular open-source library for building and processing complex form data in React applications such online shopping for account creation. it provides a convenient way to manage form state, validation, and submission.
8.react-hotkeys:
Is a library that can be used to add keyboard shortcuts to any type of React application. It is a good choice for developers who want to make their applications easier and faster to use.
9.Frontity:
Is framework is to help people build performant, scalable websites with WordPress and React easily by using WordPress REST API to fetch the data from your WordPress site (PHP server) and renders it in your React frontend (Node. js server).
It used in News websites , E-commerce websites , Portfolio websites, Blog websites
10.React Query:
is a powerful data synchronization library for React that solves these problems. It provides you with a set of hooks that you can use to fetch, cache, and update data in your React and Next.js applications.
It used in application that required a lot of complex data fetching.
11.Redux:
Redux is a predictable state container designed to help you write JavaScript apps that behave consistently across client, server, and native environments, and are easy to test and it solves the state transfer problem by storing all of the states in a single place called a store.
It used in games, e-commerce, and large scale web apps.