历时半年Qatrix.js 1.1终于发布了,带来秒杀级的模板引擎,以及数个强化功能。

2013-06-07 22:17:37 +08:00
 catfan
历时差不多半年的更新,Qatrix终于迎来第二个重大版本的更新了。

这次更新除了新增全新的事件代理处理模式,还增加了$require异步模块载入的功能(也可载入CSS),以及各种的优化。

最重点的是,这次还带来了性能极为恐怖的$template模板引擎,兼容简单Mustache的语法,但效率远超其它同类的库。

可以通过这里测试一下:

http://jsperf.com/dom-vs-innerhtml-based-templating/735


文件体积的话,很对不起,因为增加了这么多的功能,所以从原先的5KB变成现在的6KB了,足足增加了1KB(gzip),呵呵_(:з」∠)_

官方网站: http://qatrix.com
6215 次点击
所在节点    分享创造
19 条回复
takwai
2013-06-07 22:25:05 +08:00
腾讯团队这个模版引擎也挺不错…… http://aui.github.io/artTemplate/
zorceta
2013-06-07 22:56:14 +08:00
@takwai Released under the MIT, BSD, and GPL Licenses
好乱
breeswish
2013-06-07 23:08:59 +08:00
赞一个!话说,不知qatrix css selector在ie下效率如何?以前粗略地看过好像是用了某个好奇怪但很有创意的实现>_<?司徒正美的那个选择引擎很高效的说~求implement
catfan
2013-06-07 23:21:57 +08:00
@breeswish 在浏览器支持的情况下,直接利用原生的document.querySelectorAll,效率就不用我说了。在低版本的时候利用了非常奇怪的方法来实现,利用CSS本身的选择器来选择,虽不算是效率最高,兼容性也就CSS2的水平,但是是用了最少的代码来实现,而且,还是基于原生的浏览器的CSS选择器,性能绝对比正则匹配来得强。

PS:Qatrix同样用了非常奇怪的方法来让IE6支持localStroage。
breeswish
2013-06-07 23:28:18 +08:00
@catfan 感谢…不过其实在现在这种网络下把整个选择器implement一下也不会耗费多少时间 ^_^ 而且有了模块加载器以后就可以针对ie678选择性加载了~

我还是觉得统一一下选择器比较好……不然其他浏览器下css3用得正欢到了ie6下跪了找了半天发现原来根本不支持这么玩会有点蛋疼…
catfan
2013-06-08 10:55:32 +08:00
@breeswish Er..还打算下一个版本取消对IE6-7的支持呢,这样可以直接统一选择器,并且代码也能减少很多。尽管为兼容IE6-7写出了很多非常hacky有意思的code。
breeswish
2013-06-08 19:58:50 +08:00
@catfan 额……求继续支持
NemoAlex
2013-06-08 20:24:08 +08:00
@catfan 建议维护一个支持渣 IE 的分支版本
catfan
2013-06-10 10:16:48 +08:00
@breeswish
@NemoAlex

IE6的份额越来越低了,IE7更低。加上连jQuery都取消支持了,Qatrix也要在消灭IE6/7上贡献一份力量:D
January
2013-06-10 10:20:41 +08:00
再赞一个!
alexrezit
2013-06-10 10:25:18 +08:00
@takwai
@zorceta
很怀疑他们到底能不能区分各个 License 的区别.
catfan
2013-06-12 19:52:46 +08:00
@alexrezit 是想仿jQuery的多协议兼容吧,不过现在jQuery都已经统一使用MIT了。
zhizhixu
2013-06-26 13:21:12 +08:00
还是在你自己的主题下留言吧~Catfan、Mu6、Qatrix和Medoo,一个人负责四个项目的所有,这太辛苦和牛掰了吧。为什么不组个队伍创业呢,或者去上个班什么的
WarWithinMe
2013-06-27 11:10:26 +08:00
其实如果handlebar之类的模板编译了应该速度差不多吧。因为编译了之后,他们跟你这个都是一个function的感觉。。
catfan
2013-06-30 00:09:21 +08:00
@WarWithinMe 那个页面测试的都是编译后的模板,关键是编译出来的代码的性能。
breeswish
2013-06-30 12:34:48 +08:00
@catfan 话说qatrix()有没有类似jquery那样的triggerevent. 比如.click()?
catfan
2013-06-30 15:58:16 +08:00
@breeswish 刚好计划在下一版本中加上:)
hitsmaxft
2013-06-30 16:58:21 +08:00
@catfan 这性能测试不科学啊 =. =

毕竟其它的模板引擎多少会带上一些escape之类的负担.

有打算加上escape的不?
目前的功能简单情况可以应付一下
breeswish
2013-06-30 19:10:29 +08:00
@catfan 期待 ^_^ 现在已经在用了~觉得很不错 另外推荐加入tinymce自带的DOM库里那种批量创建dom的支持 (只需很小改动就能用在qatrix里)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/71644

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX