0.2.8 • Published 4 months ago

brisa v0.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

npm version npm size PRs Welcome

Features

  • ⚛️ ・ Everything you need: JSX, TS, server/web components, server actions, optimistic updates, SSR, streaming, suspense, signals, websockets, middleware, layouts...
  • 🚀 ・ Speed: Brisa is designed to start, build, test, deploy and run fast.
  • 🌍 ・ i18n support: text translation and routing carrying only the translations you consume.
  • 📦 ・ Tiny: 0B by default and 3kb when you need web components.
  • 📲 ・ Change the output: You can change your web from server to static, to desktop, android or ios app with just one configuration command.

Getting Started

Simple one command:

bun create brisa@latest

For more info visit the docs.

Inspirations

Bun.js

Bun.js makes it easy for many new frameworks to emerge thanks to its API such as the Next.js style page system, TypeScript support and JSX by default. Besides, it is super fast and the DX of working with it is awesome.

In Brisa we don't use Webpack, Turbopack, Vite or esbuild, we use directly Bun.build, which is faster than esbuild.

Next.js

Brisa's architecture is very much inspired by Next.js pages directory, the way of defining pages, middleware, layout, etc, we have also expanded its model to define websockets and web components.

Although we like more how pages structures the files, also Next.js inspired us to use server components by default and server actions.

React

Brisa was very inspired by React to work with JSX components, both for server components and web components. Our compiler transforms and optimizes the JSX in a different way so that writing web components is more React-like, and takes up much tiny than the original code.

Preact

The Preact team's focus on optimizing for small bundle code size motivated us to make Brisa 3kb as well. Although Brisa defaults to 0B, it is only 3kb if you use web components.

Solid.js

Solid.js here inspired us a lot with the signals. The idea that server components can react to web components through server actions and signals blew our minds, to the point that it motivated us to create the "action signals".

The way web components are reactive without needing Virtual DOM or rerendering greatly improves performance.

Qwik

The motivation to start with a new framework came from meeting Qwik. Misko came to Barcelona and talked about his baby, and I was motivated by Misko, Manu and Shai to talk about Qwik so I could also start creating my baby and try to make the web a little better.

The resumability concept has motivated us to load code like server actions when the user interacts. We can't say that we have resumability because the web components need to be hydrated, but the motivation to improve this in the future is still open.

Lit

Brisa was inspired by Lit to use the platform more. Today we have web components and there is Declarative Shadow DOM, so we can SSR web components.

If well abstracted, the code of a web component can be smaller than using a library. Moreover, it also makes it easier to control when a prop changes, when it is unmounted and to have web components mixed with server components without problems.

We liked the idea of consuming web components as web components from JSX. That is, reading the code you know when a component is a server <Server /> or when it is a web component <web-component />. We want developers to be able to easily distinguish the use of both.

The fact of using web components makes it more comfortable to debug the code as well, accessing directly to the web components from the DevTools elements, without any extension.

HTMX

HTMX has inspired Brisa to make the use of web components less and less necessary and the rest of the components are server components. Here we mix the concept of server actions with HTMX ideas such as indicators, debounce, etc.

Another thing that inspired us a lot is the fact of using more Hypermedia. Brisa's server actions respond with HTML that reactively updates the DOM. It also makes it easier to debug by looking at the Network tab in DevTools and see what the server action returns.

Tauri

In Brisa we wanted to make a direct integration with Tauri. So that from the Brisa configuration you can define the output: server (by default), static, desktop, android and ios, and the Brisa CLI will take care of the integration adding the necessary Tauri files that you can then modify if you want to change the icons, the title or use more native things.

Vue.js

Finally, I want to thank An Phan, a co-worker who is in the core team of Vue.js and when he found out that I was starting to make a framework, he gave me a lot of support.

Documentation

The documentation is available on brisa.build.

Contributing

See Contributing Guide and please follow our Code of Conduct.

Discord

Come join the Discord community channel~

License

MIT

0.2.9-canary.3

4 months ago

0.2.9-canary.1

4 months ago

0.2.9-canary.2

4 months ago

0.2.8

4 months ago

0.2.8-canary.2

5 months ago

0.2.8-canary.4

4 months ago

0.2.8-canary.3

5 months ago

0.2.8-canary.5

4 months ago

0.2.8-canary.1

5 months ago

0.2.7-canary.4

5 months ago

0.2.7-canary.3

5 months ago

0.2.7

5 months ago

0.2.7-canary.2

5 months ago

0.2.5-canary.6

5 months ago

0.2.5-canary.4

5 months ago

0.2.5-canary.5

5 months ago

0.2.7-canary.1

5 months ago

0.2.6

5 months ago

0.2.5

5 months ago

0.2.5-canary.2

5 months ago

0.2.5-canary.3

5 months ago

0.2.5-canary.1

5 months ago

0.2.4-canary.5

5 months ago

0.2.4

5 months ago

0.2.4-canary.2

6 months ago

0.2.4-canary.1

6 months ago

0.2.4-canary.4

5 months ago

0.2.4-canary.3

6 months ago

0.2.3-canary.2

6 months ago

0.2.3

6 months ago

0.2.3-canary.1

6 months ago

0.2.2

6 months ago

0.2.2-canary.3

6 months ago

0.2.2-canary.4

6 months ago

0.2.2-canary.5

6 months ago

0.2.2-canary.2

7 months ago

0.2.1-canary.4

7 months ago

0.2.1-canary.3

7 months ago

0.2.2-canary.1

7 months ago

0.2.1

7 months ago

0.2.1-canary.1

7 months ago

0.2.1-canary.2

7 months ago

0.2.0

7 months ago

0.1.8-canary.7

7 months ago

0.1.8-canary.6

7 months ago

0.1.8-canary.5

7 months ago

0.1.8-canary.4

7 months ago

0.1.8-canary.3

7 months ago

0.1.7-canary.4

7 months ago

0.1.8-canary.1

7 months ago

0.1.8-canary.2

7 months ago

0.1.7

7 months ago

0.1.7-canary.2

8 months ago

0.1.7-canary.1

8 months ago

0.1.7-canary.3

8 months ago

0.1.6-canary.2

8 months ago

0.1.6-canary.3

8 months ago

0.1.6-canary.1

8 months ago

0.1.5-canary.8

8 months ago

0.1.5-canary.7

8 months ago

0.1.5-canary.6

8 months ago

0.1.6

8 months ago

0.1.5

8 months ago

0.1.5-canary.4

8 months ago

0.1.5-canary.3

8 months ago

0.1.5-canary.2

8 months ago

0.1.5-canary.1

8 months ago

0.1.4

8 months ago

0.1.4-canary.7

8 months ago

0.1.4-canary.3

8 months ago

0.1.4-canary.5

8 months ago

0.1.4-canary.4

8 months ago

0.1.4-canary.6

8 months ago

0.1.4-canary.2

8 months ago

0.1.4-canary.1

8 months ago

0.1.3

9 months ago

0.1.3-canary.3

9 months ago

0.1.3-canary.4

9 months ago

0.1.3-canary.5

9 months ago

0.1.3-canary.1

9 months ago

0.1.3-canary.2

9 months ago

0.1.2-canary.4

9 months ago

0.1.2

9 months ago

0.1.2-canary.2

9 months ago

0.1.2-canary.3

9 months ago

0.0.227

9 months ago

0.0.226

9 months ago

0.0.225

10 months ago

0.0.224

10 months ago

0.0.229

9 months ago

0.0.228

9 months ago

0.1.1-canary.2

9 months ago

0.1.1-canary.1

9 months ago

0.0.235

9 months ago

0.0.230

9 months ago

0.0.234

9 months ago

0.0.233

9 months ago

0.0.232

9 months ago

0.0.231

9 months ago

0.1.2-canary.1

9 months ago

0.1.0

9 months ago

0.1.1

9 months ago

0.0.205

10 months ago

0.0.204

10 months ago

0.0.203

10 months ago

0.0.202

10 months ago

0.0.209

10 months ago

0.0.208

10 months ago

0.0.207

10 months ago

0.0.206

10 months ago

0.0.201

10 months ago

0.0.200

10 months ago

0.0.216

10 months ago

0.0.215

10 months ago

0.0.214

10 months ago

0.0.213

10 months ago

0.0.219

10 months ago

0.0.218

10 months ago

0.0.217

10 months ago

0.0.212

10 months ago

0.0.211

10 months ago

0.0.210

10 months ago

0.0.208-canary.1

10 months ago

0.0.223

10 months ago

0.0.222

10 months ago

0.0.221

10 months ago

0.0.220

10 months ago

0.0.197

10 months ago

0.0.184-alpha.3

11 months ago

0.0.196

10 months ago

0.0.195

10 months ago

0.0.194

10 months ago

0.0.199

10 months ago

0.0.198

10 months ago

0.0.193

10 months ago

0.0.192

10 months ago

0.0.191

10 months ago

0.0.190

10 months ago

0.0.186

11 months ago

0.0.185

11 months ago

0.0.184

11 months ago

0.0.189

11 months ago

0.0.188

11 months ago

0.0.187

11 months ago

0.0.206-alpha.2

10 months ago

0.0.206-alpha.1

10 months ago

0.0.184-alpha.2

11 months ago

0.0.184-alpha.1

11 months ago

0.0.184-alpha.0

11 months ago

0.0.183

11 months ago

0.0.182

11 months ago

0.0.181

11 months ago

0.0.180

11 months ago

0.0.179

11 months ago

0.0.178

11 months ago

0.0.177

11 months ago

0.0.175-canary.2

11 months ago

0.0.175-canary.1

11 months ago

0.0.169

11 months ago

0.0.164

11 months ago

0.0.163

11 months ago

0.0.162

11 months ago

0.0.168

11 months ago

0.0.167

11 months ago

0.0.166

11 months ago

0.0.165

11 months ago

0.0.175

11 months ago

0.0.174

11 months ago

0.0.173

11 months ago

0.0.172

11 months ago

0.0.176

11 months ago

0.0.171

11 months ago

0.0.170

11 months ago

0.0.159

11 months ago

0.0.158

11 months ago

0.0.157

11 months ago

0.0.156

11 months ago

0.0.161

11 months ago

0.0.160

11 months ago

0.0.159-canary.1

11 months ago

0.0.159-canary.4

11 months ago

0.0.159-canary.2

11 months ago

0.0.159-canary.3

11 months ago

0.0.153

11 months ago

0.0.152

11 months ago

0.0.151

11 months ago

0.0.150

11 months ago

0.0.155

11 months ago

0.0.154

11 months ago

0.0.149

11 months ago

0.0.148

11 months ago

0.0.147

11 months ago

0.0.144-canary.1

11 months ago

0.0.139

11 months ago

0.0.142

11 months ago

0.0.141

11 months ago

0.0.140

11 months ago

0.0.146

11 months ago

0.0.145

11 months ago

0.0.143

11 months ago

0.0.138

11 months ago

0.0.137

11 months ago

0.0.136

11 months ago

0.0.135

11 months ago

0.0.134

11 months ago

0.0.128

12 months ago

0.0.127

12 months ago

0.0.126

12 months ago

0.0.129

12 months ago

0.0.131

11 months ago

0.0.130

12 months ago

0.0.133

11 months ago

0.0.132

11 months ago

0.0.125

12 months ago

0.0.124

12 months ago

0.0.123

12 months ago

0.0.122

12 months ago

0.0.121

12 months ago

0.0.84

1 year ago

0.0.85

1 year ago

0.0.86

1 year ago

0.0.87

1 year ago

0.0.88

1 year ago

0.0.89

1 year ago

0.0.80

1 year ago

0.0.81

1 year ago

0.0.82

1 year ago

0.0.83

1 year ago

0.0.79

1 year ago

0.0.106

12 months ago

0.0.105

12 months ago

0.0.104

1 year ago

0.0.103

1 year ago

0.0.109

12 months ago

0.0.108

12 months ago

0.0.107

12 months ago

0.0.102

1 year ago

0.0.101

1 year ago

0.0.100

1 year ago

0.0.117

12 months ago

0.0.116

12 months ago

0.0.115

12 months ago

0.0.114

12 months ago

0.0.119

12 months ago

0.0.118

12 months ago

0.0.113

12 months ago

0.0.112

12 months ago

0.0.111

12 months ago

0.0.110

12 months ago

0.0.120

12 months ago

0.0.95

1 year ago

0.0.96

1 year ago

0.0.97

1 year ago

0.0.98

1 year ago

0.0.99

1 year ago

0.0.90

1 year ago

0.0.91

1 year ago

0.0.92

1 year ago

0.0.93

1 year ago

0.0.94

1 year ago

0.0.78

1 year ago

0.0.77

1 year ago

0.0.75

1 year ago

0.0.76

1 year ago

0.0.73

1 year ago

0.0.74

1 year ago

0.0.70

1 year ago

0.0.71

1 year ago

0.0.72

1 year ago

0.0.67

1 year ago

0.0.68

1 year ago

0.0.69

1 year ago

0.0.66

1 year ago

0.0.63

1 year ago

0.0.64

1 year ago

0.0.65

1 year ago

0.0.62

1 year ago

0.0.61

1 year ago

0.0.60

1 year ago

0.0.59

1 year ago

0.0.58

1 year ago

0.0.57

1 year ago

0.0.55

1 year ago

0.0.56

1 year ago

0.0.53

1 year ago

0.0.54

1 year ago

0.0.52

1 year ago

0.0.51

1 year ago

0.0.50

1 year ago

0.0.49

1 year ago

0.0.47

1 year ago

0.0.48

1 year ago

0.0.46

1 year ago

0.0.45

1 year ago

0.0.44

1 year ago

0.0.42

1 year ago

0.0.43

1 year ago

0.0.41

1 year ago

0.0.40

1 year ago

0.0.39

1 year ago

0.0.38

1 year ago

0.0.37

1 year ago

0.0.35

1 year ago

0.0.36

1 year ago

0.0.34

1 year ago

0.0.33

1 year ago

0.0.32

1 year ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.29

1 year ago

0.0.28

1 year ago

0.0.27

1 year ago

0.0.26

1 year ago

0.0.25

1 year ago

0.0.25-canary.3

1 year ago

0.0.25-canary.4

1 year ago

0.0.25-canary.2

1 year ago

0.0.25-canary.1

1 year ago

0.0.24

1 year ago

0.0.23

1 year ago

0.0.21

1 year ago

0.0.22

1 year ago

0.0.20

1 year ago

0.0.19

1 year ago

0.0.20-canary.1

1 year ago

0.0.19-canary.1

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.17-canary.4

1 year ago

0.0.17-canary.3

1 year ago

0.0.17-canary.5

1 year ago

0.0.17-canary.2

1 year ago

0.0.17-canary.1

1 year ago

0.0.15

1 year ago

0.0.12-canary.2

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.12-canary.1

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.1.0-alpha.5

2 years ago

0.1.0-alpha.4

2 years ago

0.1.0-alpha.3

2 years ago

0.1.0-alpha.2

2 years ago

0.1.0-alpha.1

2 years ago

0.0.1

2 years ago