资料介绍
软件简介
AWTK-MVVM是一套为AWTK用C语言开发,并支持各种脚本语言的MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,使用AWTK-MVVM开发应用程序,无需学习AWTK本身的API,只需学习绑定规则和Model的实现方式即可。
一、MVVM
MVVM(Model-View-ViewModel)是分离用户界面和业务逻辑的经典模式。
分离用户界面和业务逻辑的好处:
- 让用户界面可以独立变化。
- 方便为业务逻辑编写单元测试程序。
- 方便UI设计师和程序员的分工和合作。
MVVM相比MVP和MVC的优势:
- 使用更简单。
- 分离更彻底。
- 声明式的编程更容易维护。
MVVM的核心思想有两个:
- 通过数据绑定实现View与Model之间的数据交换。
- 通过命令绑定实现View事件与Model行为之间的关联。
二、AWTK-MVVM
AWTK-MVVM是一套为AWTK用C语言开发,并支持各种脚本语言的MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,使用AWTK-MVVM开发应用程序,无需学习AWTK本身的API,只需学习绑定规则和Model的实现方式即可。与其它MVVM框架相比,其特点有:
- 代码小。
- 性能高。
- 内存开销小。
- 隔离更彻底。
- 可移植到其它GUI。
- 支持多种编程语言(目前支持C/JS)。
三、使用方法
- 获取awtk并编译。
git clone https://github.com/zlgopen/awtk.git cd awtk scons
- 获取awtk-mvvm并编译(awtk和awtk-mvvm处于用一级目录)
git clone https://github.com/zlgopen/awtk-mvvm.git cd awtk-mvvm git clone https://github.com/jerryscript-project/jerryscript.git 3rd/jerryscript scons
编译linux-fb版本,请修改SConstruct
#for pc #sys.path.insert(0, '../awtk/') #for linux-fb sys.path.insert(0, '../awtk-linux-fb/')
- 运行demos
./bin/demo1
本文以Linux/MacOS为例,Windows可能会微妙差异,请酌情处理。
四、文档
五、示例
C DEMO | JS DEMO | 说明 |
---|---|---|
demo1 | jsdemo1 | 数据绑定基本用法 |
demo2 | jsdemo2 | trigger参数的用法 |
demo3 | jsdemo3 | converter参数的用法 |
demo4 | jsdemo4 | 显式更新(Trigger=Explicit)的用法 |
demo5 | jsdemo5 | validator参数的用法 |
demo6 | jsdemo6 | 命令绑定的基本用法 |
demo7 | jsdemo7 | 以计算器为例的综合用法 |
demo8 | jsdemo8 | 以shape编辑为例的综合用法 |
demo9 | jsdemo9 | 多窗口的基本用法 |
demo10 | jsdemo10 | 定时器的基本用法 |
demo11 | jsdemo11 | 一个视图多个ViewModel的用法 |
demo12 | jsdemo12 | 多窗口之间参数传递 |
demo13 | jsdemo13 | 列表视图的基本用法 |
demo14 | jsdemo14 | 快捷键的基本用法 |
demo15 | (no) | 自定义导航器处理插件,以及MVVM窗口和非MVVM窗口的交互 |
(no) | jsdemo15 | combox 数据联动 |
(no) | jsdemo16 | 动态界面 |
demo16 | (no) | 集成硬件外设 |
demo17 | (no) | 无GUI情况集成硬件外设 |
(no) | jsdemo17 | 控制控件的可见性 |
(no) | jsdemo18 | 复杂属性值的表示方法 |
demo19 | (no) | 控制动画启停 |
完整示例及模板项目:awtk-mvvm-c-hello
- 工业上位机开发实战WPF+MVVM框架
- 高质量程序设计指南之C++C语言 0次下载
- 《PIC单片机C语言》pdf 0次下载
- 嵌入式软件之c语言编码规范 28次下载
- 单片机C语言和汇编语言混合编程实例详解 224次下载
- 基于MVVM模式的气动数据可视化分析系统 27次下载
- C语言深度解剖电子版资源下载 0次下载
- DSP载波移相控制C语言源代码下载 56次下载
- 无线遥控频率计C语言源代码下载 37次下载
- AWTK Designer 1.0.2 新功能展示资料下载
- MATLAB语言与C语言的区别资料下载
- 基于SPESC到目标程序语言的智能合约系统框架 15次下载
- 逐行分析鸿蒙系统中的JS框架PDF资料 31次下载
- 什么是C语言?C语言有哪些优势及C语言的应用资料说明
- C++的框架、库和代码分析的资料大全
- 【AWTK使用经验】如何在AWTK显示阿拉伯文本 80次阅读
- 【AWTK使用经验】如何实现序列帧动画 245次阅读
- 【AWTK使用经验】如何播放视频或摄像头画面 375次阅读
- AWTK 开源串口屏开发(18) - 用 C 语言自定义命令 315次阅读
- 【AWTK使用经验】加载和释放外部图片 295次阅读
- 【插针机HMI开发】用AWTK开发人机界面 391次阅读
- 【AWTK使用经验】如何设计立体电池进度条? 316次阅读
- 【从0开始创建AWTK应用程序】编译应用到RTOS平台 438次阅读
- 【AWTK开源智能串口屏方案】设计UI界面并上传到串口屏 467次阅读
- 【AWTK开源智能串口屏方案】HMI端程序移植编译及运行 669次阅读
- 【AWTK开源智能串口屏方案】方案介绍和工作原理 742次阅读
- AWTK 串口屏开发(2) - 家居控制 464次阅读
- 【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行 356次阅读
- 使用MVVM框架实现一个简单加法器 603次阅读
- MVVM是什么? 1968次阅读
下载排行
本周
- 1Keysight B1500A 半导体器件分析仪用户手册、说明书 (中文)
- 19.00 MB | 4次下载 | 免费
- 2使用TL431设计电源
- 0.67 MB | 2次下载 | 免费
- 3BT134双向可控硅手册
- 1.74 MB | 2次下载 | 1 积分
- 4一种新型高效率的服务器电源系统
- 0.85 MB | 1次下载 | 1 积分
- 5LabVIEW环形控件
- 0.01 MB | 1次下载 | 1 积分
- 6PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 751单片机核心板原理图
- 0.12 MB | 1次下载 | 5 积分
- 8BP2879DB支持调光调灭的非隔离低 PF LED 驱动器
- 1.44 MB | 1次下载 | 免费
本月
- 1开关电源设计原理手册
- 1.83 MB | 54次下载 | 免费
- 2FS5080E 5V升压充电两串锂电池充电管理IC中文手册
- 8.45 MB | 23次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 12次下载 | 免费
- 5ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 11次下载 | 1 积分
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8基于MSP430FR6043的超声波气体流量计快速入门指南
- 2.26MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多