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/

相关文章
|
7天前
|
JavaScript 前端开发 API
详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
该文章详细讲解了队列数据结构在前端开发中的应用,并深入探讨了JavaScript的事件循环机制,区分了宏任务和微任务的执行顺序及其对前端性能的影响。
|
8天前
|
JavaScript 开发者
深入理解Node.js事件循环及其在后端开发中的应用
【8月更文挑战第57天】本文将带你走进Node.js的事件循环机制,通过浅显易懂的语言和实例代码,揭示其背后的工作原理。我们将一起探索如何高效利用事件循环进行异步编程,提升后端应用的性能和响应速度。无论你是Node.js新手还是有一定经验的开发者,这篇文章都能给你带来新的启发和思考。
|
7天前
|
自然语言处理 JavaScript 前端开发
JS中this的应用场景,再了解下apply、call和bind!
该文章深入探讨了JavaScript中`this`关键字的多种应用场景,并详细解释了`apply`、`call`和`bind`这三个函数方法的使用技巧和差异。
|
12天前
|
自然语言处理 前端开发 JavaScript
探索JavaScript中的闭包及其实际应用
本文深入探讨了JavaScript中闭包的概念、特性及其在实际项目中的应用。通过具体示例,详细讲解了闭包的创建方法和用途,揭示了闭包在数据保护和模块化开发中的重要性。同时,还讨论了闭包可能带来的内存管理问题及优化策略,为前端开发者提供了全面的闭包知识和实践指导。
|
21天前
|
自然语言处理 JavaScript 前端开发
探索JavaScript中的闭包:从基础概念到实际应用
本文深入探讨了JavaScript中闭包的概念,从定义、作用域链和实际应用等方面进行了详细阐述。通过生动的比喻和实例代码,帮助读者理解闭包在函数执行上下文中的重要性,以及如何在实际开发中有效利用闭包解决复杂问题。同时,文章也指出了过度使用闭包可能导致的潜在问题,并给出了相应的优化建议。
|
27天前
|
C# Android开发 开发者
Uno Platform 高级定制秘籍:深度解析与实践样式和模板应用,助你打造统一且高效的跨平台UI设计
【9月更文挑战第7天】Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 创建跨平台 UI 应用,覆盖 Windows、iOS、Android、macOS 和 WebAssembly。本文介绍 Uno Platform 中样式和模板的应用,助力开发者提升界面一致性与开发效率。样式定义控件外观,如颜色和字体;模板则详细定制控件布局。通过 XAML 定义样式和模板,并可在资源字典中全局应用或嵌套扩展。合理利用样式和模板能简化代码、保持设计一致性和提高维护性,帮助开发者构建美观高效的跨平台应用。
32 1
|
1月前
|
JavaScript API 数据库
深入理解Node.js事件循环及其在后端开发中的应用
【9月更文挑战第3天】本文将深入浅出地介绍Node.js的事件循环机制,探讨其非阻塞I/O模型和如何在后端开发中利用这一特性来处理高并发请求。通过实际的代码示例,我们将看到如何有效地使用异步操作来优化应用性能。文章旨在为读者揭示Node.js在后端开发中的核心优势和应用场景,帮助开发者更好地理解和运用事件循环来构建高性能的后端服务。
|
7天前
|
JavaScript 前端开发 开发者
深入浅出 Vue.js:构建响应式前端应用
Vue.js 是一个流行的前端框架,以其简洁、高效和易学著称。它采用响应式和组件化设计,简化了交互式用户界面的构建。本文详细介绍 Vue.js 的核心概念、基本用法及如何构建响应式前端应用,包括实例、模板、响应式数据和组件等关键要素,并介绍了项目结构、Vue CLI、路由管理和状态管理等内容,帮助开发者高效地开发现代化前端应用。
|
1月前
|
缓存 JavaScript 前端开发
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
21 2
|
2月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
33 1
下一篇
无影云桌面