JavaScript Ecosystem
npm can invoke other scripts and act as a build tool due the scripts
Babel started as a tool for programmers to write their apps using the awesome new ES6 features, while shipping code that older browsers and Internet Explorer could support
transpiling »
process of translating one language or version of a language to another is called transpiling,
a portmanteau of translating and com*piling
Javascript Modules
ESM (ECMAScript modules) are the official standard format to package JavaScript code for reuse. node.js supports it after v12 but we can use it even before with the help of the Webpack
Unused and older formats:
- CJS (CommonJS Modules) Main use: server. Were standard Node.js modules. Were gaining traction on the frontend with Browserify.
- AMD (Asynchronous Module Definition) Main use: browsers, frontend. The most popular implementation of this standard is RequireJS
- UMD (Universal Module Definition) predecessor to ESM
Packer?
Webpack bundles our app and its dependencies into a single file. It can also allow us to use ESM import syntax also on server side.
Server Side Frameworks (Next.js)
Frameworks to add SSR
Lightweight framework for static and server-rendered React.js applications.
Without the question, Next.js is by far the most popular.
Those are all server side framework, just like Express, Koa, Hapi, etc, but they have some form of SSR (Server-side Rendering), even Serverless-side rendering, and building static web applications using React/Vue/Angular.
Next.js is the solution built on React, and Nuxt.js is for Vue developers, and Nest.js which is heavily inspired by Angular
Data layer
- Relay couples React with GraphQL.