Tungsten

Design Philosophy

Tungsten is a JavaScript based, component centric, front end web framework, as seen in React, Vue, Angular, Svelte etc.

Tungsten was essentially born out of a combination of disatifisfaction with how various things were handled (or not handled) in React and related wrapping frameworks such as Next, combined with a real love for many parts of React and React related frameworks. It aims to build on the best parts of React, while filling out and improving on weaknesses.

React is officially a library, and leaves various tasks to outside development - Tungsten is closer to Next which provides some of those outside tasks like build tools and server side rendering.

Tungsten builds, provides a dev server, does server side rendering, renders components like React, and has an intrinsic styling system comparable to a React styling system.

Relationship with react

Tungsten has been build from the ground up, with React as the primary influence. Beyond this there Tungsten has a design goal of being compatible with React components - that is components created for React should work within an Tungsten app (but Tungsten components will not work within a React app unless using limited features)

For the sake of compatibility, Tungsten generally mimics how React behaves when performing tasks otherwise done by React, such as rendering content. For example the rules on integrating updated output of a component into the DOM match React's.

Key differences between Tungsten and React with create-react-app

Compared to create-react-app, Tungsten provides hybrid rendering, routing system, and a styling system by default. Component behaviour is slightly enhanced, read on to the see details.

Tungsten currently lacks a hot-reload feature in it's development server - just refresh the page to see changes

key differences between Tungsten and Next

Compared to Next, Tungsten has a different routing system, defined in code not in the file system, a built in styling system, and some enhancements to how components work. Next has some features and deployments options that Tungsten does not currently have.