/vite-lit

Primary LanguageTypeScript

vie-lit

lit 介绍

Lit 是一个基于 Web-Component 构建的前端框架,由谷歌Google推出的新前端框架, 前身基本可以理解为即 Polymer , Lit 提供了如下具有竞争力的特性:

  • 基于 Web-Component 的更高层封装,提供了现代前端开发习惯的响应式数据,声明式的模版,减少了web component的一部分样板代码.
  • 小。运行时仅有5K。
  • 性能强悍。规避了 VDOM 的一些弊端,更新时仅处理 UI 中的异步部分(可以理解成仅处理响应式的部分)
  • 兼容性较好。因为 web-component 是 html 的原生能力,也就代表着 web-component 可以在任何使用 html 的地方使用,框架无关。

对比

1、

jQuery 又喝多兼容性代码,影响性能。

2、

模板的缺陷,如 mustache:

  • 不管是什么模板引擎,在启动时,解析模板是需要花时间,这是没有办法避免的;
  • 连接模板与 JavaScript 的数据比较麻烦,而且在数据更新时还需进行模板的更新;
  • 各式各样的模板创造了自己的语法结构,使用不同的模板引擎,就需要重新学习一遍其语法糖,这对开发体验不是很友好;

3、

JSX

JSX 的出现,给前端的开发模式带来更大的想象空间,更是引入了函数式编程的**。

但是这也带来了一个问题,JSX 语法必须经过转义,将其处理成 React.createElement 的形式,这也提高了 React 的上手难度,很多新手望而却步。

4、

lit-html 使用了原生的模板字符,可以无需转义,直接进行使用,而且和 JSX 一样也能使用 JavaScript 语法进行遍历和逻辑控制。

而且 lit-html 也提供了 双向绑定。 还自带 CSS-in-JS 的能力 ···

但 lit-html 只是一个高效的模板引擎,如果要用来编写业务代码还缺少了类似 Vue、React 提供的生命周期、数据绑定等能力。

为了完成这部分的能力,Polymer 项目组还提供了另一个框架:lit-element,可以用来创建 WebComponents。 除了官方的 lit-element 框架,Vue 的作者还将 Vue 的响应式部分剥离,与 lit-html 进行了结合,创建了一个 vue-lit(https://github.com/yyx990803/vue-lit) 的框架,一共也就写了 70 行代码,感兴趣可以看看。