APICloud Avm.js 前端框架的优势
AVM(Application-View-Model)是 APICloud 推出的一个跨端的高性能 JavaScript 框架,更趋近于原生的编程体验,它提供简洁的模型来分离应用的用户界面、业务逻辑和数据模型,适合高度定制化的项目。
在大前端技术领域,当我们遇到了需要解决重复性的问题时,通常会考虑设计一个 DSL(Domain-Specific Language)或者抽象出一个框架层,专门来解决这些类似的问题。使用 DSL 我们并不需要为特定终端编写多套代码,还可以利用宿主语言的抽象能力,确保各终端渲染效果的一致性以及对开发者友好。
目前流行 DSL 有:React 支持的 JSX 语法、Vue 定义的 SFC 结构和 v-*指令集、微信小程序的 WXML/WXS 语法等。这些 DSL 最终被编译为目标代码,直接发布于小程序平台,或者借助 JS-Runtime 运行于 APP 和 Web 浏览器。
AVM(Application-View-Model)是 APICloud 基于标准 H5 子集设计的 DSL 中间语言编程框架,提供包含虚拟 DOM 和 Runtime 的编程框架 avm.js 以及多端统一编译工具,完全兼容 Web Components 标准,同时兼容 Vue 和 React 语法编写代码,编译工具将 Vue 和 React 相关语法糖编译转换为 avm.js 代码。
Avm 核心库只关注终端差异、虚拟 DOM、组件化和数据绑定,与其他重量级框架不同的是,Avm 不需要太多的外部依赖,仅需要组件化、数据驱动等更现代化框架的能力。其可具备如下能力:
Virtual DOM:通过虚拟 DOM,渲染到不同终端,充分尊重系统特性,为不同终端执行差异处理,实现高效渲染;
组件化:高可重用性、可组合性、可维护性的架构设计,隐藏了复杂的 DOM 结构和行为,让开发者专注于应用的功能和外观;
数据绑定:轻松将数据源绑定到应用用户界面,降低逻辑复杂性和开发难度;
状态管理和路由:有效分离用户界面和数据处理,实现项目的工程化管理;
轻巧灵活:类 Vue 语法和兼容 React JSX,兼具 Vue 的轻巧和 React 的灵活性。
APICloud DSL 最终可编译为标准 JS,通过 DeepEngine 渲染到 app 端和 Web 端,或者编译为微信小程序代码,用于微信小程序平台发布。
APICloud DSL 使用 Vue 方式定义组件或页面:
APICloud DSL 使用兼容 React JSX 方式定义组件或页面:
评论