JavaScript轻应用UI介绍

简介: 本文档在此基础上介绍下轻应用UI是如何开发的。与前者相比,从应用代码的文件结构看,需要增加页面文件,并在全局配置中增加页面路径相关的信息即可。

1、前言

关于轻应用的文档请参考:HaaS轻应用使用文档

此文档对轻应用框架(不含UI部分)的使用做了完整的阐述。

本文档在此基础上介绍下轻应用UI是如何开发的。与前者相比,从应用代码的文件结构看,需要增加页面文件,并在全局配置中增加页面路径相关的信息即可。

 

2、文件结构

轻应用分为 app page 两部分。app 用来描述整个应用,page 用来描述各个页面。

因此,在无屏应用中,轻应用仅包含 app 部分即可,当设备带屏需要UI交互时,则引入 page 部分。

 

app 由两个文件组成,必须放在项目的根目录:

文件

必需

作用

app.js

轻应用入口文件

app.json

轻应用全局设置

 

每一个 page 由一套如下文件组成,分别是:

文件

必需

作用

pageName.js

页面逻辑

pageName.xml

页面结构

pageName.css

页面样式表

 

注意: 为了方便开发者,轻应用规定这三个文件必须具有相同的路径与文件名。

轻应用代码结构示例:


  1. MyAwesomeApp/
  2. ├── README.md
  3. ├── app.js
  4. ├── app.json
  5. └── pages/
  6.     ├── page1/
  7.     │   ├── page1.js
  8.     │   ├── page1.xml
  9.     │   └── page1.css
  10.     └── page2/
  11.         ├── page2.js
  12.         ├── page2.xml
  13.         └── page2.css

 

3、页面路径

app.json 中需要增加页面路径的配置,示例如下:


 
  1. {
  2.   "pages": [
  3.     "pages/page1/page1",
  4.     "pages/page2/page1"
  5.   ]
  6. }

app.json 中的 pages 为数组属性,数组中每一项都是字符串,用于指定轻应用的页面,pages 数组的每一项代表对应页面的路径信息。其中,第一项代表轻应用的首页,系统启动后,默认会自动加载轻应用的首页。

为了便于开发者配置,页面路径不需要写任何后缀,框架会自动去加载同名的.js

 

4、轻应用UI编译运行

 

4.1、轻应用源码获取

轻应用代码即将开源,在后续文档中会增加相关链接。

 

4.2、环境安装

OS安装

轻应用UI基于桌面版的linux环境运行,建议编译也在同一环境下,轻应用UI验证时使用的的OS环境如下:ubuntu-16.04.3-desktop-amd64

依赖库安装

运行用例前,确保SDL2库已安装,在linux环境下,打开终端工具,执行以下命令安装:


  
 sudo apt-get install libsdl2-dev

 

4.3、编译链接

下载代码后,进入根目录下,执行make m=ui,直到编译完成:

生成的固件amp在amp/build/bin目录下。

 

4.4、脚本执行

获取执行的脚本及轻应用模拟运行固件

轻应用代码及固件的结构如下:


   
  1. myApp/
  2. ├── amp                 #轻应用固件
  3. ├── app.js             
  4. ├── app.json
  5. └── pages/
  6.     ├── page1/
  7.     │   ├── page1.js
  8.     │   ├── page1.xml
  9.     │   └── page1.css
  10.     └── page2/
  11.         ├── page2.js
  12.         ├── page2.xml
  13.         └── page2.css

在桌面版linux环境下打开终端工具,并进入用例目录,在该目录下输入以下命令,完成用例执行:

./amp,如下图所示:

 

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
5天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
|
11天前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
49 2
|
1月前
|
JavaScript 前端开发 API
详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
该文章详细讲解了队列数据结构在前端开发中的应用,并深入探讨了JavaScript的事件循环机制,区分了宏任务和微任务的执行顺序及其对前端性能的影响。
|
12天前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
30 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
17天前
|
前端开发 JavaScript 关系型数据库
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
这篇文章介绍了一个名为Vue3Admin的全栈后台应用,前端基于SoybeanAdmin二次开发,后端基于Nest.js。主要使用了Vue3.5、AntDesignVue、UnoCSS、Pinia等前端技术栈,以及Nest.js、PostgreSQL、Prisma等后端技术栈。文章详细描述了系统的功能设计,包括动态国际化语言配置、登录用户操作日志、用户和角色权限映射、动态路由菜单、消息公告发布及前端业务功能等。同时,也提供了项目运行所需的环境和依赖,以及如何拉取代码、安装依赖和启动项目的方法。最后,文章展示了项目的演示图,并对项目进行了总结,指出项目未经严格测试,仅供学习交流使用。
前端的全栈之路:基于 Vue3 + Nest.js 全栈开发的后台应用
|
8天前
|
JavaScript 前端开发 API
Vue.js:打造高效前端应用的最佳选择
【10月更文挑战第9天】Vue.js:打造高效前端应用的最佳选择
11 2
|
8天前
|
设计模式 JavaScript 前端开发
探索JavaScript中的闭包:从基础概念到实际应用
在本文中,我们将深入探讨JavaScript中的一个重要概念——闭包。闭包是一种强大的编程工具,它允许函数记住并访问其所在作用域的变量,即使该函数在其作用域之外被调用。通过详细解析闭包的定义、创建方法以及实际应用场景,本文旨在帮助读者不仅理解闭包的理论概念,还能在实际开发中灵活运用这一技巧。
|
9天前
|
缓存 JavaScript 前端开发
深入了解JavaScript的闭包:概念与应用
【10月更文挑战第8天】深入了解JavaScript的闭包:概念与应用
|
16天前
|
存储 JavaScript 前端开发
如何使用Vue.js实现一个简单的待办事项应用
【10月更文挑战第1天】如何使用Vue.js实现一个简单的待办事项应用
19 5
|
5天前
|
自然语言处理 JavaScript 前端开发
深入理解JavaScript中的闭包:原理、应用与代码演示
【10月更文挑战第12天】深入理解JavaScript中的闭包:原理、应用与代码演示