React
Last updated: Nov 4, 2026
Rationale
React is the primary frontend library of Fluid Attacks.
These are the primary reasons why Fluid Attacks selected it and not other alternatives:
- It is open source.
- It is a low-level library. Thus, it is very flexible and powerful, but it gives too many different methods to do the same thing. This has a bad effect on maintainability and standardization.
- It has a large community that supports it. Thus, it is very reliable.
- It has a large market. Thus, Fluid Attacks can easily find developers who used it before.
- It gives a modern approach to implement frontends with TypeScript.
- You can also use the knowledge in mobile projects with React Native.
- It uses JSX. At this time, JSX is the best language to describe user interfaces.
Alternatives
Fluid Attacks uses Next.js for docs.fluidattacks.com and db.fluidattacks.com. For the platform frontend, Astro and Next.js seem to be better alternatives than React, but Fluid Attacks does not use them there at this time. These are the primary reasons: (a) new frameworks or libraries make the work of developers harder, because they must learn them, and this increases cognitive complexity. (b) When Fluid Attacks supports more frameworks or libraries, its stack has more parts. (c) Technical debt: it is not easy to move a component from one library or framework to a different one.
Astro
- It is open source.
- It is a framework. Thus, it defines a clearer method to do things, and this makes maintainability and standardization better, but it is less flexible.
- It has a granular approach to components.
You can write HTML and JavaScript in
.astrofiles. This is very useful to keep a functional approach to components. - It gives a modern approach to implement frontends with TypeScript.
- It supports hundreds of integrations.
- It has a large community that supports it. Thus, it is reliable.
- Because it is new, it is harder to find developers who used it before.
- It is for content-driven websites. Thus, Fluid Attacks is not sure that it can support application frontends, for example, the Fluid Attacks platform.
Astro seems to be a very good alternative to build frontends with much content, for example:
- Website
- Development portal
Next.js
- It is open source.
- It is a framework. Thus, it defines a clearer method to do things, and this makes maintainability and standardization better, but it is less flexible.
- It gives a modern approach to implement frontends with TypeScript.
- It supports hundreds of integrations.
- It has a large community that supports it. Thus, it is very reliable.
- It has a large market. Thus, Fluid Attacks can easily find developers who used it before.
- You can use it for frontends with much content and for application frontends. Thus, it is more flexible, but it has less built-in logic.
Next.js seems to be a very good alternative for almost all the frontends that Fluid Attacks builds with React at this time. This is because it is between flexibility and simplicity.
Angular
- It prefers an object-oriented programming style, but Fluid Attacks prefers a functional style.
- Because it is a framework, it makes Fluid Attacks do things with a method that is sometimes different from vanilla JavaScript. This increases cognitive complexity.
- Its major versions can break compatibility with the earlier versions. Thus, it is harder to keep it updated.
- It has a smaller community than React.
Vue.js
- Its major versions can break compatibility with the earlier versions. Thus, it is harder to keep it updated.
- It has a smaller community than React.
Usage
Fluid Attacks uses React for these items:
- Platform frontend
- Jira integration
- VSCode extension
- Documentation site (docs.fluidattacks.com), with Next.js
- Fluid Attacks Database (db.fluidattacks.com), with Next.js
- Design system (
designs)