With this tutorial you can check the performance of a React.js Application with a HTTPS and HTTP2 Node.js Servers.
π HTTP/2 will make our applications faster, simpler, and more robust β a rare combination β by allowing us to undo many of the HTTP/1.1 workarounds previously done within our applications and address these concerns within the transport layer itself. Even better, it also opens up a number of entirely new opportunities to optimize our applications and improve performance!
Google Developers | Introduction to HTTP/2
Node.js HTTPS Documentation
Node.js HTTP2 Documentation
React.js Website
MDN Mozilla | MIME types
Lighthouse Documentation
The following video shows how you can check the difference between an https and http2 server with a react.js application.
List of methodologies and tools used in this project for compliance with Quality Assurance Code (QAC)
- ESTlint, tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.
NPM ESLint
NPM ESLint | Airbnb
In order to work with this project, your local environment must have at least the following versions:
- NodeJS Version: 14.xx
- NPM Version: 7.10.0
This project is built on the basis of several workspaces: back, front and performance. After installing the dependencies you will find several folders "node_modules".
You have to do the following steps to be able to work with this project.
$npm i
$npm run build
$npm run server-https
$npm run performance-https
$npm run server-http2
$npm run performance-http2
/
βββ assets π # Images Sources.
βββ back π # Backend Project with https and http2 Node.js servers.
βββ build π¦ # Frontend static compiled Application.
βββ front π # Frontend Project with React.js library.
βββ performance π # Performance Project Test with Lighthouse library.
βββ reports π # Html static files with performance results.
βββ ...
For review and update all npm dependencies of this project you need install in global npm package "npm-check-updates" npm module.
# Install and Run
$npm i -g npm-check-updates
$ncu
Created with JavaScript, lot of β€οΈ and a few βοΈ