第一次在手机上写文章,觉得别有一番风趣。上周自己抽时间把Strve.js升级了一下,现在目前版本是2.3.3。有兴趣的朋友可以去官方文档查阅一下。说到官方文档,之前有位朋友说我的文档缺乏可视化界面,就是那种在线编辑插件。这位朋友提的建议很不错,就去网上调研了一下,最后选定了Codepen。选定它的原因是我只是单独的页面展示,这样简单就足够了。
其次,最近连续更新了两个版本:2.3.3和2.3.2,下面我们来看看这两个版本的更新日志。
v2.3.3
StrveAPI的参数调整;
#v2.3.2
- HTML标签内容支持显示非字符串类型;
- 数据绑定统一使用${}符号绑定,不再支持{}符号;
- 视图模板支持多个根节点;
- 视图模板支持Text节点;
- 修复条件渲染时切换状态,无法正确渲染节点;
- 增加watchDOMChangeAPI,用于监视DOM树变化;
- 增加支持HTML模板字符串高亮显示(VSCode编辑器需安装 es6-string-html 插件);
- 删除StrveAPI的data属性参数;
- 视图模板支持Class类写法;
这次改动也挺大的,主要是内部的整体优化。
比如,借鉴了Vue的v-if指令内部思想实现了条件渲染,利用注释节点实现DOM占位,这一点我觉得非常值得学习。
但是还是遇到了问题,那就是虚拟DOM量级的问题,因为Strve.js内部跟React.js相似,都是数据变化后,通过新老数据的计算 Diff 来得知数据的变化。React.js为了突破性能瓶颈,借鉴了操作系统时间分片的概念,引入了 Fiber 架构。通俗来说,就是把整个虚拟 DOM 树微观化,变成链表,然后我们利用浏览器的空闲时间计算 Diff。一旦浏览器有需求,我们可以把没计算完的任务放在一旁,把主进程控制权还给浏览器,等待浏览器下次空闲。
不过,我相信在之后会慢慢解决这个问题。在上面我们说到React.js,我们常用的方式就是在Class类中写JSX。那么,使用Strve.js其实也可以。
Strve.js这次升级的亮点还有很多,可以打开优化后的官方文档查阅,以下有两种方式可供选择(复制以下地址到浏览器)。
1、(中文官方文档)
https://maomincoding.github.io/strvejs-doc/zh/
2、(国内站点)
https://www.maomin.club/site/strvejs/zh/
最近一段时间,Strve.js将不会有大版本的升级,我想先休息一下,然后把精力放在其他学习上面。