Lit 2.0:重新认识 Lit!
新名称、新网站、新版本:更小、更好、更快,且为 SSR 做好准备。
今天,我们很高兴地宣布 Lit 2.0 的首个候选发布版!
正如我们在去年夏天 所分享的,自从 2019 年初发布可用于生产环境的 lit-html 和 LitElement 版本以来,我们一直在努力开发我们的第一个重大更新。我们将这次更新称为 Lit 2.0。
API 已经稳定了几个月,我们也从预发布用户那里获得了很好的反馈,因此昨晚深夜我们发布了第一个候选发布版。在我们和正式发布之间剩下的,只是给开发者一些时间来测试这个软件并找出任何最终问题。
新版本包含什么?
我们为 Lit 2.0 制定的主要目标是:减小体积、添加强大的新功能、提高性能,并在底层进行一些关键变更以促进服务端渲染(SSR)——同时最大限度地减少破坏性变更。很简单,对吧?
令人高兴的是,我们可能真的做到了!用 Web 早期的一首流行舞曲来诠释,Lit 2.0:
更小。 Lit 2.0 的模板系统仅重 2.8k(压缩后),比之前版本小了 10%,其完整的组件基类(包括模板)仅 5.2k,比之前小了 20%。
更好。 同时,我们添加了大量新功能,包括多项模板增强;面向指令作者的全新、干净的基于类的 API;以及响应式控制器(reactive controllers),一种用于在组件之间共享有状态逻辑的强大新原语。
更快。 高效渲染一直是我们核心价值之一,Lit 2.0 比以往任何时候都更快:初始渲染速度提升高达 20%,更新速度提升高达 15%。
服务端。 Lit 2.0 包含快速、流式 SSR 和灵活的客户端 hydration 的基础,解锁了一系列完整的用例——从与流行框架(如 Next.js)和静态站点生成器(如 Eleventy)的集成,到完全使用 Lit 和其他 Web Components 构建的应用。
所有这些改进都伴随着对现有 API 的最小更改:绝大多数现有 Lit 代码几乎无需修改即可运行。如果你是从之前版本升级的,请查看我们的升级指南。
还有什么新内容?
正如我们在上面暗示的,好消息不仅仅止于 Lit 2.0 更新——我们还在软件本身之外进行了一些重大改进。
最重要的是,我们简化了打包、文档和整体呈现。lit-html 和 LitElement 历史上是独立的包,有独立的网站和文档,现在我们已将它们合并为一个具有清晰、简单身份的产品——Lit——并配有一个全新的标志。
用户已经习惯性地将我们的产品称为「Lit」一段时间了。通过正式确定这个名称并简化软件交付方式,我们的目标是让 Lit 更易于理解和使用。
那么,这在实践中意味着什么?
一个新的 npm 包: 安装 Lit 现在只需输入
npm i lit。 由于这实际上是我们的第二个主版本,我们选择将新包的初始版本发布为 2.0。一个新网站: lit.tips 是一个全新的、一站式获取所有 Lit 资源的地方,拥有完整的统一文档、无需安装的交互式教程、用于探索和创建示例代码的 playground,以及一个专属的 Lit 博客。
一个 GitHub 新主页: 我们已将源代码和 issue 追踪器移至 GitHub 上的新 Lit 组织。大部分代码位于新的 lit monorepo 中,这简化了测试和发布流程,也使项目对外部贡献者更加友好。
一个新的 Twitter 账号: 我们将在 @buildWithLit 发布关于 Lit 的推文——关注这个账号以获取所有最新新闻。
简单。快速。Web Components。
实际上还有很多内容要分享,我们鼓励你探索 lit.tips,观看今天的发布会(直播或回顾),并关注 Twitter 和博客以获取未来几周的更多详情。
但尽管新闻不断,Lit 从根本上仍然是它一直以来的样子:一个用于构建快速、轻量级 Web Components 的简单库。因为它采用了浏览器的原生组件模型,Lit 非常适合构建可共享的组件或设计系统,它还可以帮助你构建高度可维护的、面向未来的网站和应用。
我们迫不及待地想看看你用 Lit 2.0 构建什么!
