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
team : feda, Mahmoud,Mohammad,Abdullah, MohammadRasheed.
Q1Gatsby: Gatsby is an open-source framework that combines functionality from React, GraphQL and Webpack into a single tool for building static websites and apps. features : 1- code splitting,2-friendly developer experience .... Type of project : eCommerce sites, marketing sites, blogs
2- Storybook : is a development environment tool that is used as a playground for UI components. It allows us, to create and test components in isolation. It runs outside of the app, too, so project dependencies won't affect the behaviour of components, so it making it easier to test and debug and it also Helps focus on building individual UI components in isolation Enhances collaboration between designers and developers Makes it easier to test and iterate on UI components Creates a living document of UI components Enhances testing of UI components in isolation //. ,,, Project: it's used for the UI testing and development It provides a sandbox for creating, visualizing, and documenting User Interface components and allows developers to see how the components will look and behave in different states, making it easier to catch and fix issues early in the development process
3-Svelte :1- is a modern JavaScript framework used to build static web apps that are fast, lean, and are fun for developers to use. You can use Svelte to build single, reusable components for projects of any kind, including larger applications written with Angular, React, Vue, or any other frameworks 2- Svelte’s simplicity is one of its standout features. Unlike other frameworks that come with a steep learning curve and a myriad of concepts to grasp, Svelte keeps things simple. It relies on familiar HTML, CSS, and JavaScript, making it easier for developers to get started and build applications quickly. Projects: Brave ,Decathlon ,Square's official website (financial services and mobile payment)
4- i18n.js : 1- The JavaScript Internationalization API (also known as i18n) allows you to design web pages and applications in such a way that they can be easily adapted to support the needs of users that speak different languages 2- Internationalization (I18N) is the process of designing and preparing software products (apps) to support multiple locales, languages, and regions. By internationalizing a codebase, developers and businesses can expand their user base and access a wider audience. project : it used for time formats, local calendars, number formats, and numeral systems, sorting and presentation of lists, handling of personal names and forms of address.
5- MathJax / KaTeX: are two popular libraries for displaying mathematical content in browsers. Although both libraries offer similar functionality, they use different syntaxes and have different configuration options. project : displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup.
6- D3.js : (also known as D3, short for Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of Scalable Vector Graphics (SVG), HTML5, and Cascading Style Sheets (CSS) standards. projects: creating visualizations such as charts, maps, and more on the web.
7- Formik : is a small group of React components and hooks for building forms in React and React Native and is written in TypeScript,. It helps with the three most annoying parts: Getting values in and out of form state , Validation and error messages , Handling form submission project : for building form in react and its called using useFormik function to create the component .
8- react-hotkeys : 1- uses key maps to decouple defining keyboard shortcuts from the functions they call. This allows hot keys and handler functions to be defined and maintained independent of one another.2- A hotkey is a key or a combination of keys on a computer keyboard that, when pressed at one time, performs a task (such as starting an application) more quickly than using a mouse or other input device.
9- Frontity : it's free and open source framework to create lightning fast websites using WordPress and React, uses WordPress REST API to fetch the data from your WordPress site (PHP server) and renders it in your React frontend (Node. js server).
10- React Query : s a powerful data synchronization library for React that solves these problems.
11- Redux : Redux is an open-source JavaScript library for managing and centralizing application state. It is most commonly used with libraries such as React or Angular for building user interfaces.