原创

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不需要太多的外部依赖,仅需要组件化、数据驱动等更现代化框架的能力。其可具备如下能力:

1. Virtual DOM:通过虚拟DOM,渲染到不同终端,充分尊重系统特性,为不同终端执行差异处理,实现高效渲染;

2. 组件化:高可重用性、可组合性、可维护性的架构设计,隐藏了复杂的DOM结构和行为,让开发者专注于应用的功能和外观;

3. 数据绑定:轻松将数据源绑定到应用用户界面,降低逻辑复杂性和开发难度;

4. 状态管理和路由:有效分离用户界面和数据处理,实现项目的工程化管理;

5. 轻巧灵活:类Vue语法和兼容React JSX,兼具Vue的轻巧和React的灵活性。

APICloud DSL最终可编译为标准JS,通过DeepEngine渲染到app端和Web端,或者编译为微信小程序代码,用于微信小程序平台发布。

APICloud DSL使用Vue方式定义组件或页面:

APICloud DSL使用兼容React JSX方式定义组件或页面:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • APICloud AVM多端开发 | 手把手教外卖点餐App开发(下)

    这个页面是一个左右分栏的布局。左边是菜单分类,右边的菜品。 有一组比较常见的交互:

    APICloud官方
  • Vue—前端框架

    3、在外部可以通过vue对象名.属性的方式获取属性值,在vue对象内部,通过this.属性的方式获取属性值

    nbsp-nbsp
  • 前端框架选型

    前面的话 有一个流传较广的笑话,一个人在stackoverflow中提了一个问题,如何使用javascript实现一个数字与另外一个数字相加。最高票回答是你应...

    顶级程序员
  • 前端框架之SweetAlert

    简介 SweetAlert是一款很好用的弹出框框架 下载 https://github.com/lipis/bootstrap-sweetalert 导入 博主...

    人生不如戏
  • 前端-框架之战

    正如我们之前提到的,WordPress 的核心团队正争论着为应该将哪款(前端框架)加入现在的架构之中。目前看来,暂时脱颖而出的是React与Vue.js,社区中...

    grain先森
  • 前端框架汇总

    专注APP开发
  • 前端框架介绍

    一眼看过去似乎有点少,其实开发web网站只要需求不是特别多的,基本就够了,有些甚至JS都用的少。

    公众号php_pachong
  • 前端框架真的好吗?

    前端现在是一个技术爆炸的时代,各种打包工具webpack、grunt、gulp,各种包管理工具工具npm、bower、yarn,各种css预处理器scss、st...

    wade
  • 2017年 JavaScript 框架回顾 -- 前端框架

    概述: 对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架。npm 强大的搜索功能能够...

    葡萄城控件

扫码关注云+社区

领取腾讯云代金券