首页 > 这个页面利用xml嵌入到canvas的是什么技术?

这个页面利用xml嵌入到canvas的是什么技术?

http://nb574.bungba.com/?from=groupmessage&isappinstalled=0#rd
模块都是requirejs加载的,里面的canvas是一个一个的xml渲染出来,这种是什么类型的技术?
可能需要模拟手机打开链接


xml保存的是"显示对象"的数据,然后canvas再根据这些数据渲染啊

思想上是有点接近Virtual DOM

参考:
http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html



-1的原因竟然是因为 http://nb574.bungba.com/js/nb.compress.js 是被压缩过的不容易看。

// dom ready 的时候 new axe
require(["jquery", "axe", "nb"], function (e, t, n) {
  e(document).ready(function () {
    new t(n, "views/stage.xml")
  })
})
// axe 第二个参数g如果是`string`调用 stageCtrl.initWithURL, 监听 `stageCtrl` 的 `PREPARED`,`PREPARED` 后`stageCtrl.view()`
define("axe", ["render_engine", "event_center", "event", "stage", "view_container", "view", "bitmap", "shape", "movie", "text", "button", "motion", "scroll_view", "table_view", "spin_view", "view_factory"], function (e, t, n, r, i, s, o, u, a, f, l, c, h, p, d, v) {
  var m = function (m, g, y) {
    var b = this;
    v.addClass("stage", r),
    v.addClass("container", i),
    v.addClass("view", s),
    v.addClass("bitmap", o),
    v.addClass("shape", u),
    v.addClass("movie", a),
    v.addClass("text", f),
    v.addClass("button", l),
    v.addClass("motion", c),
    v.addClass("scroll", h),
    v.addClass("table", p),
    v.addClass("spin", d),
    b.stageCtrl = new m,
    typeof g == "string" ? (b.stageCtrl.initWithURL(g),
      t.addListener(b.stageCtrl, b, n.PREPARED, function () {
        b.renderEngine = new e(b.stageCtrl.view())
      })) : (b.stageCtrl.init(),
      b.renderEngine = new e(b.stageCtrl.view()))
  },
  g = m.prototype;
  return g.stageCtrl = null,
  g.renderEngine = null,
  m
})

用到的技术

  1. 异步加载
    异步加载xml配置

  2. canvas
    根据xml配置canvas画图

---问这个问题的人真是懒得要死,以下是原答案,还被-1---
http://nb574.bungba.com/js/nb.compress.js
自己分析代码


你听说过json吗?
这里的xml和json一个作用。只是格式不同而已。xml文件里只是一部分的配置参数而已。canvas本身还是通过js来渲染的

【热门文章】
【热门文章】