写点什么

Meteor 0.8:发布全新的渲染系统 Blaze

  • 2014-04-14
  • 本文字数:1390 字

    阅读完需:约 5 分钟

Meteor 最近发布了 0.8 版本,该版本“对 Meteor 的渲染系统做了一次彻底的检查”。Meteor 的下一代实时模板引擎 Blaze 支持细粒度的 DOM 更新、jQuery 集成和更简单的 API。Blaze 替代了在 2012 年发布的 0.4 版本中所引入的实时页面更新引擎 Saprk。

Matt Debergalis 在 Meteor 的博客上将 Blaze 描述为“对开发者友好的”,同时它的架构比起 Spark 有几个方面的提升。

Blaze 包含两部分:第一部分是一个构建时编译器,它将模板转换成 JavaScript 代码。Spacebars——Handlebars 风格的编译器——将 HTML 模板转换成实时更新的 DOM 元素,用户能够编写普通样子的 HTML 模板和帮助器。

“当某个用户修改了数据或者某个模板依赖的新数据通过网络抵达的时候,Blaze 就会自动地更新你的屏幕,不需要声明任何依赖,也不需要编写管理应该如何更新屏幕的代码。”Debergalis

Blaze 的第二部分是运行时 API,它“渲染元素,跟踪元素的依赖,在元素的完整生命周期内随着依赖的变化更新元素”。

对之前 Spark API 的替代包括移除了Meteor.render,为定制块帮助器的定义引入了一个新模式。添加和废弃的API 列表包括UI.body 现在是与整个BODY 元素相关的一个模板。

Spacebars 解析器让用户能够做一些之前不能做的事情,例如:

  • HTML 感知更新。模板解析器现在会解析 HTML 元素,这让细粒度的响应更新成为可能,包括对 DOM 元素进行属性级的更新。
  • 预编译。Spacebars 编译器会生成调用内部 Meteor 接口的简单程序代码以便于在将来执行客户端或者服务器端的渲染工作。这比在运行时解释模板或者解析它的 HTML 输出更加有效。
  • 语法扩展。Handlebars 语法极小,我们预见随着时间的发展需要添加一些额外的、精选的扩展。我们还会实现 Handlebars 现在支持但是 Meteor 并不具备的顶层特性,例如支持对象,让你能够访问当前索引或者键的#each。

在 Meteor 0.8 中 Handlebars 命名空间已经被废弃。现在 Handlebars.SafeString 改成了 Spacebars.SafeString,而 Handlebars.registerHelper 则变成了 UI.registerHelper。

Spacebars 需要 HTML 是“格式良好的”。引用 Blaze 项目 GitHub 页面上的说明:“在 Spark 中 HTML 解析是通过浏览器完成的,这种方式更加宽容”。

另外,Blaze HTML 解析器目前还没有完全实现 HTML 规范。发布说明中还特别指出它并不会自动地关闭某些标签,例如

  • 。Meteor 社区非常欢迎 0.8 版本的发布。在 LinkedIn 网站上的 Meteor中,用户 Uğur Toprakdeviren 发起了一个讨论,他问道:“对于新版本的 Meteor(Blaze、Spacebars 等)你的观点是什么呢?”。

    Ongo Works 的创建者和 CTO Aaron Singmaster-Judd 回复说:“真了不起,做的好,感谢 Meteor 团队和在新代码库上工作的社区包开发者。”。

    “升级已有的包可能需要一些努力,而这也会导致 Web 上呈现出大量无效的信息,但是这是值得的。”

    Hacker News 上的用户对于该更新的反应也很不错。用户 elsherbini 对 jQuery 集成的评论是“jQuery 兼容的工作量非常巨大,赞一个!”。其他用户也分享了自己对 Blaze 的正面评价,TylerE 对编译器的评价是:“不得不说,我非常兴奋,因为现在终于可以按照一种非旁门左道的方式去使用 jade 模板了,对我而言这是重大的胜利。”。

    Debergalis 指出实时模板引擎是 0.8 版本中仅有的新特性,它向 Meteor 1.0 版本迈出了重要的一步。

    查看英文原文 Meteor 0.8: Blaze Release Overhauls Rendering System

  • 2014-04-14 02:122418
    用户头像

    发布了 321 篇内容, 共 129.4 次阅读, 收获喜欢 19 次。

    关注

    评论

    发布
    暂无评论
    发现更多内容

    Java工作资料,java编程思想第五版百度云,面试官6个灵魂拷问

    Java 程序员 后端

    Java并发原理解析!图灵学院四期java架构师,Java零基础入门视频

    Java 程序员 后端

    最近几天在 InfoQ 连更的再反思

    baiyutang

    10月月更

    Java开发中遇到最难的问题,redis视频教程韩顺平,附小技巧

    Java 程序员 后端

    Java大神需要掌握的技术,java开发技术教程,字节大牛教你手撕Java学习

    Java 程序员 后端

    Java学习路线指南,思维导图+源代码+笔记+项目

    Java 程序员 后端

    Java开发五年,java百度人脸识别,最全153道Spring全家桶面试题

    Java 程序员 后端

    Java就业班视频,尚硅谷众筹项目视频及源码,spring框架教程

    Java 程序员 后端

    Java工程师最容易遇到4个瓶颈是什么,Java架构面试题spring原理

    Java 程序员 后端

    XA 分布式事务

    风翱

    分布式事务 10月月更

    Java开发三年月薪才12K,java图形化界面教程,linux网络架构详解

    Java 程序员 后端

    Java开发从零开始,java基础入门传智播客网页版,Java后端路线图

    Java 程序员 后端

    Java开发从零开始,牛客网java选择题库,程序员Javaweb源码

    Java 程序员 后端

    Java大厂高级面试题灵魂100问,linux操作系统教程pdf,卧槽

    Java 程序员 后端

    Java岗面试必问!java面试题pdf下载百度云,Java程序员算法书籍

    Java 程序员 后端

    Java小技巧:尚学堂视频百度云密码,靠着这份900多页的PDF面试整理

    Java 程序员 后端

    Java就业班资料,极客大学算法训练营百度网盘,Java面试总结

    Java 程序员 后端

    Java开发人员不得不收集的代码,精选Java面试真题集锦

    Java 程序员 后端

    Java学习笔记在互联网上火了,帮你深度探寻Spring循环依赖源码实现

    Java 程序员 后端

    Java官方入门教程pdf,开课吧在线教育,面试分享一次成功的经历

    Java 程序员 后端

    Java学习笔记在互联网上火了,Java开发实战讲解

    Java 程序员 后端

    Java小技巧,springboot菜鸟教程电子版,腾讯T2手把手教你

    Java 程序员 后端

    Java大厂74道高级面试合集,我凭借这份PDF的复习思路

    Java 程序员 后端

    Java学习笔记在互联网上火了,linux视频教程在线,面试官让我下周来上班

    Java 程序员 后端

    Java工程师面试该怎么准备,尚硅谷java百度网盘,Java技术图谱

    Java 程序员 后端

    Java开发人员不得不收集的代码,史上最全的微服务专业术语面试50问

    Java 程序员 后端

    Java外包是如何转正网易的,面试阿里的时候一定会问到的

    Java 程序员 后端

    Java多态实现原理解析,掌握这套精编Java高级面试题解析

    Java 程序员 后端

    Java工程师进阶,马士兵架构师破解吧,我的Java春季历程

    Java 程序员 后端

    看山聊 Java:从零实现“百度网盘批量重命名”工具

    看山

    Java 工具集 10月月更

    【大咖直播】Elastic Security 安全管理实战工作坊(第二期)

    腾讯云大数据

    elasticsearch

    Meteor 0.8:发布全新的渲染系统Blaze_JavaScript_James Chesters_InfoQ精选文章