AWTK-MVVM是一套为AWTK用C语言开发,并支持各种脚本语言的MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,使用AWTK-MVVM开发应用程序,无需学习AWTK本身的API,只需学习绑定规则和Model的实现方式即可。
MVVM(Model-View-ViewModel)是分离用户界面和业务逻辑的经典模式。
分离用户界面和业务逻辑的好处:
MVVM相比MVP和MVC的优势:
MVVM的核心思想有两个:
AWTK-MVVM是一套为AWTK用C语言开发,并支持各种脚本语言的MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,使用AWTK-MVVM开发应用程序,无需学习AWTK本身的API,只需学习绑定规则和Model的实现方式即可。与其它MVVM框架相比,其特点有:
git clone https://github.com/zlgopen/awtk.git cd awtk scons
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/')
./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
MVVM MVVMModel-View-ViewModel,它是MVC的改进版。 MVVM优点: 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。 独立开发。开发人
一、前言 上周简单介绍了AWTK-MVVM,并按照规则设计了图书管理系统的Model,详见文章:AWTK-MVVM学习(一)。本周学习了AWTK-MVVM的数据绑定和命令绑定,本文记录其中的关键内容,更详细的教程请参考awtk-mvvm/docs下的md文档。 awtk-mvvm仓库:http://github.com/zlgopen/awtk-mvvm 二、数据绑定 在进行数据绑定之前,先要建立
一、前言 awtk-widget-chart-view 是 AWTK 提供的图表自定义控件,该控件包含:曲线图、柱状图和饼图。前段时 间记录了该控件适配 AWTK-MVVM C版本的过程,具体请参考:awtk-widget-chart-view-mvvm C版本适配笔记,这次记录一下适配 JS 版本的过程。 AWTK是 ZLG 开发的开源 GUI 引擎,官网地址:https://www.zlg.c
Model-View-ViewModel (MVVM)是用于开发软件应用程序的架构设计模式。 MVVM由Microsoft Architect John Gossman于2005年开发。该模式源自模型 - 视图 - 控制器(MVC)模式。 MVVM的优势在于它将应用程序层的图形用户界面与业务逻辑分开。 MVVM负责处理来自底层模型的数据,以便非常容易地表示和管理它。 MVVM中的ViewModel
AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。 欢迎广大开发者一起参与开发:生态共建计划。 AWTK 寓意有两个方面: Toolkit AnyWhere。 ZLG 物联网操作系统 AWorksOS 内
一、介绍 关于 iotjs iotjs 是三星开源的 javascript 物联网开发平台。它为 javascript 应用程序提供了访问硬件、网络、文件系统和异步化的能力,功能类似于 nodejs,但无论是代码体积还是内存需求,iotjs 都要小很多,是用 javascript 开发 iot 设备应用程序的首选。 关于 AWTK AWTK 全称 Toolkit AnyWhere,是 ZLG 开发
我在后台有< code>ViewModel(实现< code > INotifyPropertyChanged )和类< code>Category,它只有一个< code>string类型的属性。我的ComboBox SelectedItem绑定到类别的实例。当我更改instance的值时,SelectedItem没有更新,Combobox也没有更改。 编辑:代码 组合框: 物业: 我尝试的是:
概述 javascript csharp cpp json html php python markdown typescript css dockerfile
当您设置 A370 时,您可从以下语言选择一种您要使用的语言: 英语 西班牙语 葡萄牙语 芬兰语 丹麦语 德语 瑞典语 挪威语 德语 意大利语 芬兰语 波兰语 俄语 简体中文 日语 印尼语 土耳其语 捷克语 韩语 在设置后,您可在 Flow 应用程式或网络服务中变更语言。