Reinventing Web Development with Brisa: A Conversation with Aral Roca - JSJ 677 - podcast episode cover

Reinventing Web Development with Brisa: A Conversation with Aral Roca - JSJ 677

May 15, 20251 hr 5 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

In this week’s episode, it’s just me — Charles Max Wood — and I’m joined by the incredibly sharp and open-source-loving Aral Roca, direct from Barcelona! Aral’s the creator of Brisa, a new full-stack web framework that flips the script on how we build modern web apps. If you thought the "another day, another framework" meme was played out... well, Brisa might just change your mind.

Key Takeaways:

-Brisa’s Big Idea: It's designed to let you build web apps with minimal or zero JavaScript on the client side. Think HTML streaming, server actions, and components that render server-side first, but can gradually hydrate on the client.

-Server-first FTW: Aral walks us through how Brisa handles server actions — even capturing click and scroll events on the server — using ideas inspired by HTMX, LiveView, and server components from frameworks like Next.js.

-Tiny and Mighty: The whole framework is incredibly lightweight. Web components come in at just ~3 KB, and the built-in i18n system is under 1 KB!

-From Idea to Reality: Aral started Brisa to scratch his own itch — building side projects and blogs without bloated front-end code. But now, others are using it too (yes, even in production!), including one travel agency that's gone all-in.

-Multi-platform Future: Brisa has adapters in the works for Vercel, Node, and Deno — plus integration with Tauri for building native Android, iOS, and desktop apps from the same codebase.

-What's Coming: Roadmap goals include improved hot reloads, more adapters, transitions, lazy-loaded components, and a better playground for developers to tinker with.

Oh, and yes — Aral does parkour. For real.

This episode is packed with deep technical insight and exciting potential for a new way to build web apps — especially for devs who love fast performance, server-rendering, and clean architecture.

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Transcript

Speaker 1

Hey, folks, welcome back to another episode of JavaScript Jabber. This week on your panel's It's just Me this week Charles max Wood. I'm also here with Aral Rocca Gomez. Do you want to just introduce yourself, let people know who you are and what maybe you're famous for that kind of a thing.

Speaker 2

Yeah, sure, Hello, Well, yeah, I'm at all. I'm from Barcelona. I love to contribute the open source, so I have a lot of libraries and I try to contrude as much as possible to open source.

Speaker 3

And the last seeing a Davy, it's a framework, Risa. Yeah, that's the topic of awesome.

Speaker 1

Yeah, I got in, had started having a look and it looks like it kind of does everything. So before we get too far in, I did want to ask why build another framework?

Speaker 3

Right?

Speaker 1

It seems like the running joke for a long time was another day another framework kind of thing, So yeah, why why create something new as opposed to just saying, oh, here's how you're doing reakay whatever.

Speaker 3

Yeah, it's yeah, it's a little bit different than the other ones.

Speaker 2

It's a it's a fully started framework, but it's not like solid the start jes or or as spal kids because all these frameworks, and really it's a top framework from some front.

Speaker 3

The library like noj is using React a library, and.

Speaker 2

That's the same for next, but it's using bw aspal Kit is using the spread et cetera. And in Brizil we implement it in the other way. So we started building the framework without any JavaScript from ten library and the main goal at the beginning was to be possible to create web applications without Java, skip playing code and bringing all the power on the server. And here we mix ideas from actually the makes that it's a great library, and also ideas from server actions, but implemented in a

different way. And this was the first approach, but then we realized that well, really be playing interactions also makes sense in order to implement that. And one of the things that we like in presides to use the web

platform as much as possible. And also we are transferring hypermedia and the best thing to support this front and part was to implement web components and but two in a different way because we wanted that the developers can write the components in an easy way, in the similar way that they are breeding the server components with.

Speaker 3

Yeah.

Speaker 2

Yes, and also we are using signals for these were components. So it is another idea of framework, so it's a little bit different, but the main goal is that, for example, if you have any commerce and almost everything are server interactions, you can build it without any component. That is the most powerful, more powerful thing, and then you have two kill whites.

Speaker 3

That is the size of the RPC.

Speaker 1

Of right, So let's go ahead and start with where you started, because you you mentioned that it was you know, it had kind of the server what was it, server actions and those kinds of things, and then yeah, you brought in some of the ideas from HTMX. By the way, folks, it's breeze a b r I s A. You can find it at Breeza br I s A dot build. But yeah, so, yeah, you want to explain how the server actions work and how the HTMX ideas kind of come in, and then we can move up from there to the front end.

Speaker 3

Yeah sure, Yeah.

Speaker 2

In Briza, all the events on the server are server actions and they are very similar that from ten events.

So you can capture not only on submit, also on click, on a stroll, on double click, all the events and also the propagation is working on the server components so you can pass on a server component some event and up on the parent of the server components this action and the powerful thing here is that we move part of the web platform on the server and you can access to the to the event and you can access to the event current target of value for example or

that attribute, or you can rest a form on the server. In reality, the responsible to the shop is the RPC or prison that all the code that the developers are Britain executities on the server.

Speaker 3

So this is the powerful thing.

Speaker 2

And then we add some extra attributes from IDA from a tetemis for example an indicator to handle pending the states.

Speaker 3

The rower states of this actions m H in a easy way.

Speaker 2

Also, for example, if it's an input, we are supporting at the bounds. If to support this the bounds on the server. It's not the client, but it's written on the server. And and also one.

Speaker 3

Of the the ideas of themics that we are supporting is hyper media, so all the server actions are transferring al but in a streaming okay, and but yeah, to understand a little bit better, the how does improved if we are thinking to the normal way to do a server interaction with other frameworks. Normally, we are adding a client.

Speaker 2

Client to normalize the event, then realize, and then we are calling some API endpoint. Then we are awaiting the response of the server, and then we are rendering on the client, also adding more client gode and in Briza we change this approach so all the things happen on the server and then you can decide if render the component, render the page, or render another component in another place.

But all these things happen on the server and then it's transferring to themilin and streaming and the users see the changes much faster because it's the power of streaming or that doesn't need to await the response to them do this extra shop on the client.

Speaker 1

Gotcha? So how much faster are we talking? I mean, I hate asking that question because it depends a lot on what you're doing. But yeah, yeah, can you give us a ballpark if you benchmarked or anything?

Speaker 2

To be honest, no, because now currently the current version of Brisa, it's very experimental, it's not yet the one to zero and for the field public version, we focus a lot on all the ideas to be all these ideas and now one of one of the idea is to do all these major marks and also improve the disperformance and all these things. So it's something that I can tell you, but if you try it, Brisa, then you're going to experiment that it's so fast.

Speaker 1

Yeah that makes sense. So yeah, a lot of the work, it sounds like, is offloaded to the server. It's not done on the front end. It seems like some of the other systems that I've been playing with, like next jay As for example, you brought them up a couple of times, it does some of this, but it doesn't a lot of the focus is still on the front end. So how does Freeze balance that between what's done on the front end what's done on the back end?

Speaker 3

Okay, yeah, but by the fault, it's server component.

Speaker 2

But in Briza, we don't like to say server components and client component. But we are telling these people it's.

Speaker 1

More familiar for the understand the idea.

Speaker 3

But yes, but.

Speaker 2

Relative we like to talk about components that works on the server but also in build time part because if you have an esthetic side, you can do it with with Brizia, but then the server actions is not going to work. It's one of one of the things. But then we are supporting these were components, and thee of these were components is that is also powerful because it's only three kilo whites including the signals itself, and we with a lot of optimizations in thank it will be

as more timey as possible. And then if you have hundred WEA components, it's not increase a lot, it's going to decrease.

Speaker 3

Very very small.

Speaker 1

Yeah, that makes sense. So you're kind of optimizing for how much information you have to send up to the client, including your code, And I like that. I guess the other question I have is how does it work as far as like you know, storage and things like that on the back end, right, are you counting on people to use something else there to store stuff in a database or use Firebase or something like that, or am I completely missing something there?

Speaker 3

Yeah? This is okay, this is an important question. We have support.

Speaker 2

Of course, you can use a database and it's not a problem. But we are supporting a store on the server, and this store lives on the request time by the fault. So but in reality we understand it well. And really there are two stores, one on the server code on the server components and the other one in their components, and then you can transfer some properties from the server store to the client store.

Speaker 3

And this is powerful because then.

Speaker 2

After transferring some properties from one store to another one, then on the on the actions and the sever actions. Also you can modify this store and also we create a new concept that is the action signals, because if you modify this is store on the server action, then the WAB components, the signals of the web components are.

Speaker 3

Okay or the changes.

Speaker 1

Yeah, that's nice. So what are you using for this store? Is it kind of a proprietary thing or is it you know, back it up on whatever database you want to use, or how does that work?

Speaker 2

Well, this is store. This is a store on the server is very useful for example, if you fetch something or or you take something from the database on the top level of the page and then all their components and consumiting just access with a store for example.

Speaker 1

Yeah, I guess what I'm asking about is like the longer term persistence. So I mean typically you see people using like an r M with post resql or my SQL or something like that. So does your store just have some kind of interface to that where it's you know, in the process of doing the store stuff also call these callbacks that push stuff to the database.

Speaker 3

Uh. Then, well, this is a job that the developers need to.

Speaker 2

Do, right, but then I can't do it, for example, in our several action. Then they can access to the store and save this value to the database, and then on the initial render then they can do the same job to the database and then incialize the store on the middleware for example or in the page.

Speaker 1

All right, so on the front end, I saw some stuff about web components, and I mean it, it seems interesting to me. It looks a lot like React, and that's probably on purpose. But yeah, so I guess I'm wondering what the difference is.

Speaker 3

At the end of the day.

Speaker 4

Yeah, when we are writing these WA components, it looks very very similar than React because this is it with signals.

Speaker 3

But then there are some difference. One of them is that finally.

Speaker 2

They are the components and these custom elements exist on the dome and for example, if you need to build a form, you need to know the attaching technots, for example, to expose this were component to be.

Speaker 3

Part of the form.

Speaker 2

And so there are some difference that we try to improve the developer experience to be more familiar for the developers in order to build these ware components. And the good part also is that thanks to create this JAY six component, then it's very easy to support the service rendering of this work component thanks to the declarative shovel bone on the server and also the type safe work pretty well because we know the the props et cetera.

Speaker 3

And then.

Speaker 2

When the good part of briss that when you are reading the x it's easy to identify if a component is at component or a Ceber component because the web component it's written as a crystal element and a Ceber component.

Speaker 3

It's like the free components with six and I prove this developer experience.

Speaker 2

What we did is that when you are typing some components, you can see all the components that you can consume. And the difference here with the normal way to build the components that the selector of this crystal element is by based on the file name. So you have a special folder. It is everything runs on the server except one one folder, and this folder is the components folder. And then each name of the each file it's a selector.

So if you have like a custom counter or whatever, then is the selector of this crustal element.

Speaker 1

I'm not sure if I completely follow that. So, yeah, you want to just kind of give me a brief clarification. Yeah, I'm not even sure what to ask clarify.

Speaker 2

Yeah, okay, to understand it correctly. It's important thing because if you are building a web component in Briza, then if you want to use a component on a server component, not that server component, use a component, you don't need to do an import of the web component itself. So automatically this custom element exists. And and to do this relation between which were components you can consume on the JASS is based on the name of the web component file.

Speaker 1

Okay, so it's it's doing some kind of autoloading and intelligent discovery to know what what it's got and what's available. And so yeah, you don't have to goport on every single component.

Speaker 3

Yes, exactly.

Speaker 2

Yes, in build time, what we are doing is to read all the folder of the web components. Then we know the way components that can be consumed, and.

Speaker 5

Then when we detect someware component, it's uh importing Uh yeah, this rapper to do this the cloud tip show long of them, et cetera.

Speaker 1

That makes sense I mean, besides some of these uh you know, optimizations for developer experience, which honestly, that one's a big one for me because I'm always trying to keep it straight. Okay, where is this I pull it in, what do I have to do with it? What do I have to know about it? And so if it does all of that kind of a build time, then yeah, there's a lot less a lot less concern for me because I can just I just follow the convention and just have it work.

Speaker 3

Yeah.

Speaker 2

One of the things that we wanted to do with with this is to do like a sepparssion of concerns, so that on the server components, all the importance is for the server code, and then you can consume that we're components as we're components that is just for some elements.

Speaker 3

And this was the bea basically Yeah, it makes sense.

Speaker 1

So I mean, do the components look and function basically like React components or are there some differences that you ought to be aware of that are going to trip you up?

Speaker 2

They work on the as functions, so it's not working as class. Ah well, it's very similar time.

Speaker 1

So what are the differences you're going to see I'm assuming kind of the fundamental stuff all works the same.

Speaker 3

So the difference between that, so a React.

Speaker 1

Component versus a BRESA component.

Speaker 3

Okay, uh?

Speaker 2

Yeah, for example, in that we are not using capital and we are not using renders, so they dated the only happens one render and then thanks to signals, when some estate change, that is some sub signal change is reacting without ruining all the all the web component.

Speaker 1

So does that change the life cycle of the component then? And do you have to be aware of some of that stuff?

Speaker 2

Then all the mounting kind of mounting is working as an normal component. But then updating this component is uh is this signals approach?

Speaker 3

Yes?

Speaker 1

So then I guess my question is what's the primary benefit to using Freeza instead of a reactor view?

Speaker 3

Is it?

Speaker 1

Is it the developer experience or you know, you also mentioned the performance. Are those kind of the big reasons why I might want to look at this?

Speaker 3

Yeah?

Speaker 2

It of course that when when when when I started the prison, the main goal was what I said, to build our applications without Java strip playing code, and this for me is the most important part. For example, if you have any commerce, and any commerce almost all the interactions of sever interactions like ad item to the card or also an infinite scroll. You can do it with a server sever action in Briza. And and this is the big powerful tool.

Speaker 3

The load in time be very very fast. And and then also all the ideas of these surve reactions also it's too improve this time also during this interaction thanks to Attemli storm.

Speaker 1

I mean a few other things that I said.

Speaker 3

The developer experience no go ahead, Yeah sorry sorry. The developer experience is very similar in really React.

Speaker 2

But then also for example, the developers needs to take account that there are things that in really event is all the client parties with components, so there are important things that they need to know, like attach internal for example as recommend before or the forums, et cetera.

Speaker 1

So one other thing I saw on here and I kind of feel like I buried the lead here a little bit because this is something that I know a lot of people look for in whatever they're doing. But it looks like you have built offerings for fun no Dino, which kind of makes sense. But you've also got Android iOS and desktop, So what is that look like?

Speaker 3

Okay, about the run time, the Jabski run time.

Speaker 2

At the beginning, we started only with band because ah, when when I started to build Briza was with all the banding. For example, we are not using bits. We are using band or the build because it has some powerful things like the macross that we like, and also we have some features that thanks to these macros.

Speaker 1

But then if us fund to build it, can you build it for Node and Dino as well without beat?

Speaker 2

Okay, yes, yes, yes, yes yeah, thanks to band, we can build it also for Note and also or we know we yeah, we are building. We are building from a four note and also doing some abstractions to work correctly with with you know, because we realize and also things to feedback from people that we should support more

run times. And then we implemented Node and then finally Dinner and also for the one dot zero version we won't also improve the room time agnostic thing and also support some clouds that we are not supporting now and but this is a thing for the future.

Speaker 3

And then about the Android iOS or desktop thing. In reality, what we are doing here is to.

Speaker 2

Support to integrate everything with touri okay in a easy way, so that the developers with only one configuration can turn your web application to an Android or adios or desktop in easy way, and all these figuration is automatically by the CILII of RISA.

Speaker 1

Yeah, I'm trying to find a link to Towery. Mhmm, maybe I'm spelling it wrong.

Speaker 3

Yeah, it's always very powerful because it's a rast web built or for the best stop.

Speaker 2

Application, and it's much powerful for example that Electron because it's tiny and also.

Speaker 3

Mattering performance.

Speaker 1

Yeah, definitely, and I was spelling it wrong. It's it's t A U r I for the folks that are out there looking for it. Wait, some of these folks anyway, So yeah, cool stuff. So when it does the the build for the native apps for Android or iOS or the desktop, you said it's faster than Electron, But does it have a JavaScript run time in it? Is it kind of like Capacitor or something like that, or Cordova or is it more like React native or something like that.

Speaker 2

You can use native things thanks to Towery and Towery you can do some buildings and then you can write things in rest.

Speaker 3

All.

Speaker 2

The thing is documented very well in the Towery documentation. So yeah, in Brisa, the only thing that here we are doing is an integration that then the developers can use in an easy way for that.

Speaker 3

But all the things are very native and you can.

Speaker 1

Yeah, makes sense. So are people using this today for their applications? You said you're still working on it, but.

Speaker 3

Mm hmm. Yeah.

Speaker 2

Here one of the improvements that we want to do for Android or idios, uh that is on the roadmap of the one is to do two different builds, one for the server part and the other one for the execuitable not for the the Android rios, and then to be connected automatically for these server actions.

Speaker 3

And well, yes your questions.

Speaker 1

So my question is do you have people actually using prison now in production.

Speaker 3

Or uh huh. Yeah, now a few people it's using it. But for example Albert that is one of the contributors.

Speaker 2

He has his company that is a travel agency all with RISA, not only the public part, also the back office with RISA. And yeah, but as I comment, curdly is experimental preside zero dot and we put that we don't recommend to use it in production. But of course there are people that is using it, but almost all the people is just playing with with with with it. And also we are creating a great community in Discord.

Speaker 3

And there are some production projects, but I feel for now.

Speaker 1

That makes sense. So are you hoping that this, you know, eventually gets to one dot oh and people can use it in production? Or is this mostly an exercise to just learn how to build something like this? Or I mean, what are you hoping to get out of it in the at the end of the day.

Speaker 3

Are you asking about one to zero programs?

Speaker 1

No, I'll ask about that in a minute. What I'm asking about is where do you want this to take you?

Speaker 3

Right?

Speaker 1

So are you just trying to learn about how to build things like these frameworks or are you hoping to build a company around it? Or are you looking to Okay.

Speaker 3

Yeah, and I understand.

Speaker 1

Hey, I like to give conference talks about it, or you know, my company that I worked for needed it. So I just want to solve their problems. There are a million reasons to do them. A lot of times it's more than one, right, So yeah, I'm just curious.

Speaker 3

Now.

Speaker 2

And really one of the things is that all the projects on my side projects I wanted to are using this out. So my blog PA is with Riza, and all the side projects that I want to do with I want to do it with my own Okay, but I'll so at the beginning when I started. Also I liked the idea of learning by the way and and also the idea of contributing to the web a little bit better, so and bring my ideas and.

Speaker 3

I really did. This was the origin that why I started in order to to to build prison.

Speaker 1

Gotcha. So yeah, what is on that?

Speaker 3

Also? Go ahead?

Speaker 2

Mhm no, just to comment that also thanks to Mincos from from Angola and quick that he came to Barcelona two years ago and and I talked with with him, and I remember that he talked about week like his baby, with a lot of passions and all these feelings.

Speaker 3

Uh. And then I remember that just at this moment I.

Speaker 2

Cameto my mind. Oh, I would like it to be the framework, but it doesn't make sense to be the framework without Aroma. And then it's when I started to I tried the xtgs server actions and at the beginning was wow. I like the DA, I like the via of server actions and also devia of archademics, but I didn't like how ter reactions is implemented in XTES. And there are a lot of things that I think that should be better implemented, but it's with a different part

of the part of time. So that I can't contribute to an XTGS, and then I started writing my ideas.

Speaker 1

I have to say, one of the things that I don't love about some of the things in next GS, like server actions, is that some of them are a little bit tricky to get running on your own. Just to give you an idea, So I like to deploy my own apps to my own server, and you know, kind of live in that space. And I know people think I'm crazy. It's like, just just deploy it to vercell or just put it on the cloud, but I want to set it up and run it, you know,

on on doctor containers wherever I want it. And some of that stuff's just a little bit tricky to do without the cloud infrastructure that's offered by evercell or netlefi or something like that. And so that that's kind of my hang up, the idea that there's a framework out there that kind of has it built in and I can just deploy however I want. I'm digging that. I like that a lot. What is the deployment story for Briza.

Do you expect people to be using something like versell or can you deploy it on your own?

Speaker 3

Yeah, we.

Speaker 2

Have an adaptor for Burcel then Albert that it's a contributor that has his company with Briza, he is using a closer. However, we don't have the adapter of clothes or clover yet, so it's very working in progress. And also you can use a doctor file with.

Speaker 3

Ban or with not or, but for now the only cloud provider that we have some adapted it ourselves. But in reality and then it's used a server.

Speaker 1

So so I could go set up just a small droplet on digital or just say here's my code run and it'll it'll run just fine.

Speaker 3

Exactly. Or if you decide yes, or if you decide for example, the output as a static for example as my blog, then you can't build it in any city end for example.

Speaker 1

Yeah, I've seen that with a few of the other frameworks as well, where yeah people do that and then they deploy it like Amazon S three and then yeah they can put a web server in front of it really easily and then it just serves your stuff. So yeah, very cool. So what is on the roadmap for one zero?

Speaker 3

The most important part here is to be a stable. So now we are prioritizing all the issues that the community is founding. So for now we are growing the community and the goal is to to grow more.

Speaker 2

And also because we are interested that the people try it RISA and found issues in order to fix that, and probably this is the most important topic.

Speaker 3

But then also we have some dependency.

Speaker 2

For the navigation API that is experimental yet but it's in the interrupt of these year, so probably this year is going to be supported in all the browsers. And because for the single pet application approach, we are using it and we prefer to await in order to also be stable this and then in the roadmap, the need is to increase the adapters to be more room and diagnostics also and I'm more.

Speaker 3

Aligned to two clouds.

Speaker 2

Also we need to create a Netlify adapter the closer once and there are a lot of things to do in these terms.

Speaker 3

And then also for the components, what we want to do is UH is.

Speaker 2

Great mode like partial iteration, to that the developers can decide that for example that the components UH is iterated when it's visible for example or in elisible way, or or by the fault that it is the nature. Then also we want to support transitions that it is a proposal from the community, because one of the things that we did for this roadmap is we bring some ideas that we want to do it yes or yes, because at the beginning of the field roadmap, but we move

it to the next one. And then we asked the community in discord and that they brought the proposals, et cetera.

And also, for example, there is a good proposal to improve all the offline first things, and it's something very interesting that we want to implement also, and also in order to improve the developer experience, we also want to improve some the current playground because the current playground on the web site is working only for the components, but we can improve that because and then for the developers

it's easy to play and see how it works. And also in increment the number of examples we have so examples that the developers can try it.

Speaker 3

But one also to.

Speaker 2

Improve and there are the most important part is to improve the harder loading that we have because now it's a little bit slow. It's fast because it's running with bang and ban all the build process is very fast. But currently one of the problems is that instead of running only the files that change is building all the applications. Every time, and if you have a very big website, a web, a very big project, then unitize that it is a little bit slower.

Speaker 3

And yeah, but now thanks to Band, they are improving that and.

Speaker 2

Then implementing new APIs for watch files during this field process. And also they are building a BAKE that is a server framework of Band that improves a lot all these things, and we want to integrate all these things.

Speaker 1

Cool. Was there anything else that we should get into with Breeza.

Speaker 2

Well, when I recommend for the developers is to go to the website is up build and here we have examples that they can try in ex way, for example, how to use.

Speaker 3

Sexual light in a ster reactions. And also one of the things that we are supporting that I don't comment is generators.

Speaker 2

So in order to have more control about the streaming part you can we are supporting as in components but also as in generators, and then you can decide each chank.

Speaker 3

Of the streaming and this is powerful.

Speaker 2

For example with a secular light of Band that is returning, example for a list, it's returning in the streaming, so then you can render this list in the streaming.

Speaker 3

And also your de developers can drive a playground and play with is that?

Speaker 2

And maybe another topic, it's about international internationalization. Maybe you can talk about it because brizge supporting internationalization, but not all for the rotin part, so it's also supporting international internationalization in order to translate all the content of the BASAs.

Speaker 1

So what's different about your internationalization because I saw it on your website. But to be honest, and maybe this is a naive take on things, but internationalization, I guess it depends on the app, right, because some apps it's like, look, I'm only building this for the US, I'm only building it for English speaking audiences, and so I don't do

the internationalization. But if you're putting a product out there that could be used across the world or even you know, here in the US we have more and more people speaking Spanish, right your branch into Canada, you hit French pretty fast, right, So there are a lot of reasons to do it, But it seems like table stakes to me. For most of the apps that I'm building, it's like, Okay, well, I want this to work for English and Spanish speakers because they're in my market, right, and then as my

market expands, I can add in internationalization. For the other stuff. So yeah, I guess I just kind of took it for granted. But yeah, why why are you making it first class? I guess is one question. And then the other question is, yeah, what what are you doing there that's different from maybe other things that I've seen?

Speaker 3

Okay, Yeah, Well, in international internationalization, the vaids to for for CEO.

Speaker 2

In order to improve it's important to provide a different en urils for each language you don't have, well, to have more content content in different languages, and then the Google and other searchers can get all the content in different in different bases. And then for all the routine we are supporting that exactly, the the isso and then the name of the page, and also you can't translate the page name. For example, in Spanish, about us can be translated to sobers that it's the same in Spanish.

And you can define all these things in the Internal Internationalization configuration and then it's automatically handled for by BRIZA, so the developers don't need to do almost anything, so it's very easy to intepret it. Also, we are supporting a chair of lands, so if we know that page is supported in different languages, then to improve the CEO, we are supporting this tact and also.

Speaker 3

The lank attribute in the edgitment.

Speaker 2

This for one part that is all the routing part, and then for translations we are also supporting our implementation that it's a breach of the echmastry API the intel and I did it in this way because before doing Brizia, I have experienced with an open source library that is next time to late that it's the most use the library that I have.

Speaker 3

That it's internalization library for next years.

Speaker 2

And now CORD is used by a lot of people, so it has like eight eighty thousand dollars per week and.

Speaker 3

Have a lot of time of years now.

Speaker 2

And when I did this library for many yes, I see that there are a lot of things that I can do in the library because I don't have the control of the framework, and doing this integration directly on the framework, then it's much powerful for to do for the art lands, for translating the roots and.

Speaker 3

M and also then to bring on the client all.

Speaker 2

Of the keys and the cercies that we need to consuming the component for example, instead of all the dictionary and the code that is doing that. It's very funny, it's eight eight hundred bytes, so it's less than one killow white. And this is why we decided in order to build our translational scene would be very very tiny, and all the.

Speaker 3

Responsibilities like.

Speaker 2

Plualization, et cetera, and the responsibility to do that is the ex masculad.

Speaker 1

Cool, very cool. Yeah, I have to say so. Most of my development experiences, as most of the listeners already know, is in Ruby on rails and they have built in internationalization stuff.

Speaker 3

Right.

Speaker 1

You just provide the files that give the translations and the keys, and it just does it. And it looks like most yours mostly works the same way. It's hey, you know this, this is the phrase for this, and then it just does the thing, which is which is super nice.

Speaker 3

M hm. Yeah.

Speaker 1

So you mentioned you did mention having a different u URL for the different languages. Do you just expect that in the Oh yeah, it looks like it's in the routing. You could also do like yeah, domain routing. Yeah, so it looks like you have all of that, and then it also does the automatic locale yes detection. And so if I've got mine my browsers set to US English, you know, or sometimes I get a wild hair and I'll do Italian because I speak and read Italian fluently. Right, Yeah, this is a lot of.

Speaker 2

H I mean if he's not if it's a language that is not supported, then it's logging the old.

Speaker 1

Which makes sense. So you mentioned that, you know in the documentation on here is it looks like it's pretty thorough, you know, And you've also mentioned that, Yeah, you do your blog, which is static, and then you know the other guy is using it for his travel agency, and so it's actually probably managing data and images and stuff for people who want to travel. Let's say I decide, okay, you know what, I'm going to go build something in Breza and just see how it goes. And I mean,

where do I start? Do I just start with getting started on the documentation? Should I join Discord? Follow you on Twitter? Are there other places?

Speaker 3

Yeah? If you are to the get the start of the recommendation, you can see that it's only one comment, a comment that it's the band Great Prison, and then you kind of start.

Speaker 1

With so I have to use ban some project.

Speaker 2

But okay, yes, one of the things is that you need you need bud for all the tooling part, and also you can go to the campos, and then you can try an example also with only one comment and you can say like band great prison, and then we have a flag that is an example, and then you can put the name of the example and unload.

Speaker 1

It makes sense.

Speaker 3

And also also we invite the people also to join to discord and any do anything.

Speaker 2

You you can talk on the on the general channel and we are mum hm, well, we are responding very fast. And also we like uh in the interaction and feedback there, so feel free.

Speaker 1

Good deal. I don't know if I have anything else. Was was there anything else that you wanted to hit or should we just move on to the last part of the program.

Speaker 3

I think we talked a little bit about everything. Of course, there are a lot of topics and there are a lot of topics that we didn't talk about it. But for example, about the layout, all the structure of the pages, and I want to comment that it's very inspired with nextges and the pages folder. So it's how we are defining the pages. And then also we are supporting more things like suspense or UH an error not if you have some error on the server component.

Speaker 2

It's it's implemented in a different way than Next years. Because why in React, because it's not boundary that it's not a ropper. It's like different phases that the component has. So for example, there're sin component has like appending the state that this is bands and then this error and in order to define them. It's a little bit different than than React. Also, we are supporting mid al ware web sockets, so we are supporting a lot of topics. But what I invite the developers is to go to

the documentation ry. It alsopp forestyles we are supporting ah uh.

Speaker 3

Also tail wind. We have an adapter for for tail wind and also another adapter for the CCS. Also you can use ccs in a normal way. Also we are supporting CCS models and well but yeah, I invite the people in order to try it, and yeah.

Speaker 1

Very cool. All right, Well, the last part of our program is picks and picks are just shout outs. It's an idea I actually stole from a podcast I don't listen to anymore twit dot TV. I'm not going to go into why I stopped listening to them, but I like the idea, so I borrowed it. Incidentally, I'm looking at borrowing some other ideas from another show I'm listening to now. But picks is just shout outs about stuff

that you like. So a lot of times people do like I do board games every time, right, so I'll do a shout out about a board game, and then but people do TV shows, they'll do technology stuff too, right, so they'll pick, Hey, I really like these computers, or I really like this library or whatever. So I'll go ahead and do my picks, and then you can go ahead and throw in anything that you want to make sure people check out. So my first pick is a

board game. What we played last week with my buddies was Heat, and I've picked before, but Heat is a car racing board game. I'm not going to go into all the details, but the main component of it is that you're trying to get You're trying to win the race, and so whoever gets the furthest past the finish line

on the last turn wins. And I guess there's a campaign mode that I haven't played, where you do multiple races and then you know, as you win the different races, you actually get winning money that you can spend to upgrade your car. But the trick of the game is that you have heat in your engine, and if you overheat, then your car spins out and you you have to

go back. And so typically what it is is that you're taking a turn and then there's a speed limit on the turn, and so if you move too many spaces, every space you move past the speed limit on that turn, you take heat into your playpile, into your discard pile actually, and so then you shuffle your discard pile and you

have all that heat. But if you run out of heat, you can't take any more heat out of your engine into your hand, into your deck, then you spin out and you go back to a line on the curve and so and then you have to still pass it with that speed limit. And so the trick is is getting as far around that curve and then managing the heat as you go through the next two or three curves. Right, most of them have a long stretch where you can you know, you can do some things to recover heat,

or sometimes you can do other things to recover heat. Anyway, and you know there's some variability in your speed and stuff like that. There are cards that make it a little more randomized. You're not always playing numbers that you picked. But anyway, it's a super fun game. I think we played it in about forty five minutes to an hour. There were five of us, and so yeah, I'm going to pick Heat and then yeah, as far as other things go, I figured out that nineteen twenty three is back.

So that's one of the Yellowstone spin off TV shows. It's got Harrison Ford and Helen Mirren in it. I don't know that any of the other actors or actresses or people that I could just name off the top of my head that oh they were in this thing that I also really liked, but it's it's a really good show. A little bit of a warning there's some nudity and some language that said. Another pick if you're if you want to wait for that kind of thing to be taken out is vid Angel, and so you

can go sign up for vid Angel. Aroll is in Spain. I don't know if they offer it in Spain. I know they offer it in the United States. They're actually based here in Provo, which is not too far from me. But what they do is is you can load it up works with Amazon Prime, and then I think if you have your other subscriptions for like HBO or Paramount plus or whatever on Amazon Prime then you can watch

some of those shows. Also works with Netflix, and the way that they do it is they actually have people who don't mind the language and the nudity and the sex and whatever else you want taken out, and they're pretty thorough Like. There's a lot of stuff that when my wife and I watch we turn it back on. It's like, Okay, you know, that guy gets shot with a gun, but you know, it's not super gory. We're not seeing anything that we don't want to see, so

it'll turn it back on. Right. Some of the language doesn't bother us, but some of the other language does. Especially my wife, she's a lot more sensitive to it than I am. Right, And so we'll we'll say not these words, but those words, right, and so your sound will cut out when they say the word, you know, and it will skip the parts that have the nudity

and sex in it. And so if anything else happens while that's going on, yeah, you might miss some stuff, but I haven't found that it really affects the quality of what we're watching. So anyway, but if you want to watch nineteen twenty three, I'm enjoying that, I'm also watching the new season of Reacher. Usually I wait and I pingj them, and this time I didn't, so I've been waiting for episodes to come out, which is strange.

But anyway, so those are my picks. And then finally my final pick is I just got hired new job at Prize Picks and so they sent me a big box of swag and so I got a water bottle. I'm holding it up if you're not watching the camera. I got some stickers, I got a backpack, I got a T shirt. They're going to be shipping me a laptop to work on, but I'm pretty excited to be working on that stuff. So as we dive into that, I will get you more stuff that you know, let

you know what I'm working on. But anyway, those are my picks. A roll. What are your picks?

Speaker 3

Okay? Cool? Okay? My are a little bit different. I recommend a book that for me change my life. That is why we sleep and it's very important to know how we are working and how the sleeps works.

Speaker 2

And it's from Matti Walker, and I recommend it and it's a very important topic. I had problems of sleep on the past, and I recommend that when for for every everyone in reality, but also for developers, sometimes we are thinking.

Speaker 3

That we to spend more time on the night with with a code and then but really is better to stop.

Speaker 2

I have a pettyquot routine and this is much powerful then and at them. So I recommend this book while we live. And also another topic is a sport. I recommend to do any sport for everyone. In my case, I practice parkour for a lot of years, more than twenty.

Speaker 3

Yeah, and it's very important to do some sport because.

Speaker 2

It's like doing decisions every in every moment you no and and also then you are focused.

Speaker 3

On the current moment. And when you are training some sport then also brings a lot of power for a different analysis than or when you're programming. Then it's.

Speaker 2

Then very similar because when you're programming, you are taking decisions every time, and it's a very good way in order to brain this in a different way, and it's very positive and I recommend the people to do some sport very cool.

Speaker 1

I have a question about that. I mean I I do triathlons and marathons, but my question about parkour in particular is if somebody goes, you know, I've seen videos of parkour or you know, you know TikTok videos or something right where somebody's jumping off of something or kicking off of something or you know, doing a flip downstairs

or something like that. How do people get into parkour? Like, are there good resources for people to okay, here, here's baby parkour, here's you know, okay, now you're not going to hurt yourself parkour, and then here's the risky parkoer.

Speaker 3

Yeah, career is very.

Speaker 2

Different way in order to join that years ago because years ago was like a new thing. But now there are schools academies in almost each city that you can learn all the things in with crush mats in a soft environment. And the most important part of parkour is that you know your limits and all the decisions should be how you feel. If, for example, you have a bad day, you are the responsible to the side if not to the jump today, not because it's not like

competition with other people. That also is an other topic because now exists competition in parkor. But for me, par the most important parties to train to ourselves and to know your limits. And I recommend to be very progressive in these terms. So to start in without hate, and and then uh, step by a step you are learning. So like programming, you you are not going to start building a framework. You start step by a step and then uh you're after some years, then you can do more complex things.

Speaker 1

I guess, I guess what I'm asking for is is there like a tutorial you like out there that says, here are the basics of how to do parkour.

Speaker 2

There are some web pages that there are the technique, the techniques, and the most important part is how to d and now how to learn correctly without impact and and then to learn the basics.

Speaker 1

Cool? Yeah, all right, well I'll just go on YouTube and how to land without hurting myself? Cool? What else are you going to pick?

Speaker 3

Absolutely? If you if you serve my name at Rocca h, you can't found the both topics about programming or about Parker in YouTube for example, my channel a Rocca it's about Parkle.

Speaker 2

But then in Twitter everything is about programming. So it's like two different walls. So it's it's like Britain not that have the server wall and the playing walls. But but yeah, two different topics.

Speaker 1

Very cool. You were going to pick something else? I think, and I interrupted you.

Speaker 3

I wanted to recommend a movie that I like it that it's Life is Beautiful and in Spanish is laveds Vedia. I watch it three times or four, I think, and.

Speaker 2

It's it's like the interpretation of it's there are something that is wrong, and you can interpret in a different way.

Speaker 3

To at least enjoy and be frustrated. And I like the movie.

Speaker 1

And I love that movie Lavi te Bella in Italian. And so the first part of the movie, they're not in the the concentration camp. They're in the city. And the city that they're in is all right, so and I lived there for five months, and so it's it's fun to watch the movie and go, yeah, I've been up that street and I've you know, I've been there and I've yeah. Anyway, but it's a tremendously good movie. It's it's a sad movie, but it's it's also a fun and it's a very good movie.

Speaker 3

Yeah, it's sad, but turns meet a lot. Yeah.

Speaker 1

Cool. Well you mentioned the discord. You mentioned Twitter. How do people find you on the internet.

Speaker 2

Yeah, in internet, you can find me in Twitter or inniches with al Raca, and then you can find Briza with brizea dot build. That is the website, and in the website we have all the links from Discord and everything.

Speaker 1

Yeah, I was going to say the Discord is easiest to find just by going to the website and clicking the link.

Speaker 3

Yes, and if not, Brizilt build live Discord and we have a cool.

Speaker 1

We'll go ahead and wrap it up. Thanks for coming. This was a lot of fun.

Speaker 3

Thanks for you learnt

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android