FastHTML刚刚发布了0.2.2版本,这次更新可是真有点东西!
FastAI 联合创始人Jeremy Howard亲自下场,连发多条推文介绍新特性。看得出来,他对这次更新相当兴奋。
那么,到底有哪些值得期待的新功能呢?
1. 异常处理大升级
现在,你可以在Starlette异常处理器中直接返回Python组件了。不仅如此,所有的headers等信息都会自动包含在完整的页面响应中。
这意味着什么?简单来说,就是异常处理更加灵活、更加Pythonic了。
2. LaTeX公式渲染支持
只需添加KatexMarkdownJS()
到你的hdrs
中,任何带有marked
类的块都会被转换为markdown,而LaTeX数学公式则会使用Katex进行渲染。
对于那些需要在网页中展示复杂数学公式的开发者来说,这简直比看小姐姐跳舞还要开心啊!
3. 请求对象功能增强
通过修改请求对象,或者添加特定的处理器参数,你现在可以轻松修改HTML头部、Body页脚以及Html/Body属性。
这大大提高了页面定制的灵活性,让你的网页更具个性化。
4. 自动移动特定元素到head
如果你的返回元组中包含了title
、meta
、link
、style
或base
这些组件,系统会自动将它们放置到HTML Head中(对于非HTMX请求)。
这可以说是既智能又贴心,省去了不少麻烦。
5. htmx2ft语法输出选择
最后一刻加入的PR让htmx2ft
现在支持children-first或attr-first语法输出。
这个功能虽然看起来小,但对于那些深度使用htmx的开发者来说,绝对是一大福利。
看到这里,有细心的网友已经发现了:
“这不就是在用Python来做JavaScript的活吗?FastHTML这是要颠覆前端开发的节奏啊!”
FastHTML的这波操作,可以说是直接踩到了JavaScript的痛点上。
另一位资深开发者则表示:
“终于不用为了一个小小的前端功能就去学一大堆JavaScript框架了。Python全栈,真香!”
不过,也有人提出了担忧:
“这样会不会导致前后端边界更加模糊?长远来看对项目维护是好是坏?”
这确实可能是个问题,不过技术的发展总是在打破旧的界限,创造新的可能。但如何在创新和可维护性之间找到平衡,仍然是每个开发者需要面对的挑战。
最后,Jeremy Howard还特别感谢了项目的新贡献者们。开源社区的力量果然不可小觑,比我一个人苦哈哈的写代码有趣有效多了!
那么问题来了:面对FastHTML的这波攻势,JavaScript阵营的前端开发们未来又将何去何从呢?
相关链接
[1] 原文链接: https://twitter.com/jeremyphoward/status/1820348615363092672
[2] 仓库地址:https://github.com/AnswerDotAI/fasthtml/pull/193