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
members: Ahmed ahmed , farah alsoqi, ammar kolko
1- Gatsby: It's a fantastic tool for building blazing-fast websites and web applications.
Gatsby allows sites to defer non-critical page generation to increase load times. This allows developers to generate only the most important pages during a build. Less-trafficked pages are then rendered only when accessed by site users. This is especially useful for large and complex sites.
2- Storybook: An open-source tool for UI development, Storybook is essentially a library or a playground for UI components. 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. Storybook types exports only typescript types for storybook usage. It exports typescript enums, which do have a runtime implementation. But it should not export any implementation such as classes, methods, functions or constants. It also has no dependencies, all the types it exports are bundled in.
3-Svelte: it used for building user interfaces just like react, and for creating static web app that focus on performance (high speed) and simplicity.
4- i18n.js: is an internationalization-framework written in and for JavaScript. i18n goes beyond just providing the standard i18n features such as (Pluralization, Context, Interpolation, Format). It provides you with a complete solution to localize your product from web to mobile and desktop.
5- MathJax / KaTeX: are libraries for rendering mathematical equations that could be used in a web pages . these libraries are specially used for educational platformms and for mathematical content
6-D3.js: This framework exists to fill the need of data visualization and representing data in a visual and appealing way. its usually used for Reports, Statics
7- Formik: it is a library for managing the form for React. it helps simplify the process of building and managing complex type forms. it is used for web apps that require forms such as registration, data entry, and login.
8-React-hotkeys: React-hotkeys is a library that exists to make it easier for developers to add keyboard shortcuts and hotkeys to their React applications. By using react-hotkeys, developers can provide users with a more seamless and intuitive experience, allowing them to navigate and interact with the application more efficiently. It's all about making things easier and more enjoyable for both developers and end-users. it is used for keyboard shortcuts in components.
9- Frontity: it is react-based framework for building headless WordPress websites and web app it used to work fast and flexibly with WordPress websites as the source content.
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. React Query also handles the state management of queries automatically, reducing the need for developers to write and maintain complex state management logic. It provides built-in error-handling capabilities, allowing developers to handle API errors gracefully.
React query types :There are five types of query in Access. They are: Select queries • Action queries • Parameter queries • Crosstab queries • SQL queries. Select Queries Select query is the simplest and most common type of query.
11- 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. While it's mostly used as a state management tool with React, you can use Redux with any other JavaScript framework or library.
Redux Types: Redux has 3 major components: 'actions', 'reducers' and the 'store'. Actions are simple JavaScript objects. It has a 'type' property which specifies the type of the action we are performing and optionally, can also have a 'payload' property which is used to send some data to our redux store