TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: Brisa Framework – Unifying server and client using the Web Platform

130 点作者 aralroca8 个月前

22 条评论

jitl8 个月前
This looks very smart, it’s like a SolidJS that is web-component native first and foremost. I like this framework substantially more than the previous web component systems I’ve seen that feel much more like “library” and it’s a bit choose your own adventure. I am a fan of React/Solid so I appreciate that Brisa has a lot of nice React things like tree of function components and taking care attribute vs property difference. I’m not sure how I feel about the signal implementation, it’s really unclear to me how this magic works and after reading a few pages of the docs I’ve encountered many times “doing X may break reactivity, so do Y instead”. I maintain Notion’s reactivity framework so I’m not new to this overall, but the use of Proxy magicks is always hard to understand. Perhaps with use it will become second nature and I certainly like avoiding dependency arrays but I’m left uneasy.
评论 #41757391 未加载
aralroca8 个月前
We are going to present Brisa 0.1, the new full-stack JSX web framework that changes the game&#x27;s rules in web development by integrating Server Components + Server Actions with Web Components + Signals, merging both worlds (server&#x2F;client).<p>Website: <a href="https:&#x2F;&#x2F;brisa.build" rel="nofollow">https:&#x2F;&#x2F;brisa.build</a> GitHub: <a href="https:&#x2F;&#x2F;brisa.com&#x2F;github" rel="nofollow">https:&#x2F;&#x2F;brisa.com&#x2F;github</a> Discord: <a href="https:&#x2F;&#x2F;brisa.build&#x2F;discord" rel="nofollow">https:&#x2F;&#x2F;brisa.build&#x2F;discord</a> X (formally Twitter): <a href="https:&#x2F;&#x2F;brisa.build&#x2F;x" rel="nofollow">https:&#x2F;&#x2F;brisa.build&#x2F;x</a>
presentation8 个月前
I’m confused about server actions, what if I want to do something on the front end when a form is submitted before it’s passed to the server action (in the context of a server component)? Like frontend validation of the form, then call the server action afterwards on success. It seems like unlike the NextJS approach it just automatically knows that click handlers and form submissions are to be serialized and handled as a RPC on the backend always. So is there a way to trigger that behavior from web components? Would you pass a server action function as a prop to a web component or something and it would be translated into an RPC somehow? If so that’s pretty magical.<p>Nice stuff, looks very simple and cool in a lot of ways!
评论 #41757248 未加载
评论 #41757327 未加载
_heimdall8 个月前
This looks really interesting, congrats! It checks a few key boxes I was always hoping to see solved in Astro, namely first-party support for web components and a clean option for HTML-partials and tools like HTMX. I&#x27;m guessing a bit on the second one, bases on the site I&#x27;m assuming routes that ship raw HTML partials works out of the box.<p>My main hesitation is RPC event handlers. That&#x27;s been the trend for a couple years now, for me its always a bit too much magic. I always prefer controlling the API URL being called, both for clarity and to ensure that URLs being called are always stable and more easily testable and reusable.
qwerty4561278 个月前
&gt; Brisa pages are dynamically server-rendered JSX components, so there&#x27;s zero JavaScript shipped to the browser by default.<p>Why is this good, why not let the client hardware do the client logic?
评论 #41757176 未加载
lastdong8 个月前
Congrats on the launch! Just a quick heads-up - have you noticed that the increment and decrement buttons on the main page are slightly inclined?
评论 #41755066 未加载
评论 #41757438 未加载
评论 #41755283 未加载
评论 #41755227 未加载
aralroca8 个月前
Here the framework author. Feel free to ask any questions about Brisa. At 15:30 GTM we will announce what it is and make it fully public.
评论 #41755069 未加载
erlend_sh8 个月前
I&#x27;m fully on board for this trend of frameworks made to be Tauri-compatible out of the box. This era of truly cross-platform app development via the web stack and is looking very promising!
评论 #41758839 未加载
dewey8 个月前
Reloading that page causes content shifting. Or when on Mac the search bar also switches the displayed shortcut from the Mac version to the Windows version as it&#x27;s presumedly done on the client side. Maybe not a good look for a demo site.<p>Here&#x27;s a recording in case it&#x27;s helpful (Safari, macOS): <a href="https:&#x2F;&#x2F;img.notmyhostna.me&#x2F;Sn347jhnsgVlFwc4PZWs" rel="nofollow">https:&#x2F;&#x2F;img.notmyhostna.me&#x2F;Sn347jhnsgVlFwc4PZWs</a>
评论 #41757660 未加载
评论 #41757091 未加载
nsonha8 个月前
I have nothing against web components with jsx, but I really don&#x27;t like the API that defines web component as just a function, and exposes a bunch of magic effectful hooks (React&#x27;s brilliant idea). What is the point of web component if I can interface with it like a normal element aka having access to the instance?
threeseed8 个月前
Can someone explain the use case for these frameworks i.e. why do I do want to render things server side.<p>I understand if it was the early 2010s where mobile devices had limited power but today every user&#x27;s phone and computer is going to be more than capable of handling whatever Javascript you throw at it.
评论 #41756775 未加载
评论 #41756043 未加载
评论 #41757712 未加载
评论 #41760756 未加载
评论 #41757509 未加载
评论 #41756426 未加载
评论 #41764824 未加载
评论 #41755832 未加载
pritambarhate8 个月前
Does is support any kind of caching for server side rendering? Without caching running JS framework based SSR is slow and hard to scale in my experience.
评论 #41757479 未加载
评论 #41757152 未加载
wokwokwok8 个月前
&gt; You can capture browser events on the server, such as forms, click events, Web Components events, etc. And you can propagate them through your server components.<p>How do you process events to server components?<p>Is this the same model as web forms &#x2F; blazor (ss) where every interaction is streamed over a web socket to the sever?
评论 #41757541 未加载
ilrwbwrkhv8 个月前
Where are the background jobs and the emails? Web Platforms needs those things.
评论 #41757670 未加载
评论 #41757640 未加载
TripleChecker8 个月前
interesting idea! It seems like it uses Proxy-based reactivity for dynamic content&#x2F;updates on the client side - but can it update the reactive state from the backend or read the state on the backend?<p>Also, there are a few typos on your site you might want to fix: <a href="https:&#x2F;&#x2F;triplechecker.com&#x2F;s&#x2F;Nc9Gu4&#x2F;brisa.build?v=NUtEc" rel="nofollow">https:&#x2F;&#x2F;triplechecker.com&#x2F;s&#x2F;Nc9Gu4&#x2F;brisa.build?v=NUtEc</a>
leke8 个月前
Hi, I guess at version 0.1, Brisa is not ready for production yet. If this is the case, any idea when it would be?
metadat8 个月前
Does Brisa have graceful fallback to still function (like how htmx works) in cases where JS isn&#x27;t available?
评论 #41757597 未加载
评论 #41758285 未加载
评论 #41756013 未加载
stelmashchuk8 个月前
Really nice, exactly what I try to find
sgammon8 个月前
This looks really cool! Congrats on launching. How does Brisa compare to, say Remix? Can they be used together or are they competing technologies? Can I use Brisa with React code or just Web Components?<p>I am an old Polymer fan and so I love to see any developments in that space. The site is nice and worked well for me on mobile.
评论 #41870078 未加载
评论 #41757620 未加载
2024user8 个月前
So is this Remix (React Router) without using React?
评论 #41757550 未加载
vfclists8 个月前
YAJF - Yet another Javascript Framework.
评论 #41756671 未加载
albertsabate8 个月前
Awesome 0.1 release. Brisa simplifies the SSR complexity with a focus on Web Components. Defines server and client data flows using the power of signals. With minimal overhead and a straightforward structure. Brisa has a short learning curve, high efficiency, and a clear approach to data management.