Avalon.js 介绍
avalon2是一款基于虚拟DOM与 属性 劫持的 迷你、 易用、 高 性能 的 前端MVVM框架, 拥有超优秀的兼容性, 支持 移动开发,后端渲染,WEB Component式组件开发,无需编译,开箱即用。?
?avalon 是 一个 简单易用迷你的MVVM框架,它最早发布于2012.09.15, 为 解决 同一业务逻辑存在各种视图呈现而开发出来的。 事实上,这问题其实也可以简单地利用一般的前端模板加jQuery 事件委托 搞定, 但随着业务的膨胀, 代码 就充满了各种选择器与事件回调,难以维护。 因此彻底的将业务与逻辑分离,就只能求助于架构。 最初想到的是MVC,尝试过backbone,但 代码 不降反升,很偶尔的机会,碰上微软的WPF, 优雅的MVVM架构立马吸引住我,我觉得这就是我一直寻找的 解决 之道。
avalon将所有前端 代码 彻底分成两部分,视图的处理通过绑定实现(angular有个更炫酷的名词叫指令), 业务逻辑则集中在 一个 个叫VM的对象中处理。我们只要操作VM的数据,它就自然而然地神奇地同步到视图。 显然所有神秘都有其内幕,C#是通过一种叫访问器 属性 的语句实现,那么js也有对应的东西。 感谢上帝,IE8最早引入这东西(Object.defineProperty),可惜有BUG,但带动了其他浏览器实现它, IE9+便能安全使用它。 对于老式IE,我找了好久,实在没有办法,使用VBScript实现了。
Object.defineProperty或VBS的作用是将对象的某 一个 属性 ,转换 一个 setter与getter, 我们只要劫持这两个 方法 ,通过Pub/Sub模式就能偷偷操作视图。为了纪念WPF的指引, 我将此项目以WPF最初的开发代号avalon来命名。 它真的能让前端人员脱离DOM的苦海,来到数据的乐园中!
网站地址 : http://avalonjs.coding.me/
GitHub: https://github.com/RubyLouvre/avalon
网站描述: 迷你,易用,高 性能 的前端MVVM框架
Avalon.js官方网站
官方网站: http://avalonjs.coding.me/
如果觉得 网站内容还不错,欢迎将 网站 推荐给程序员好友。