openHarmony子系统之JS-UI框架子系统

简介: 前天学习了openHarmony下如何创建一个组件,可能原理讲的还不是很好,今天就来聊聊背后的子系统,开始了~~

一、前言

前天学习了openHarmony下如何创建一个组件,可能原理讲的还不是很好,今天就来聊聊背后的子系统,开始了~~

二、简介

JS UI框架是OpenHarmony UI开发框架,提供基础类、容器类、画布类等UI组件和标准CSS动画能力,支持类Web范式编程。下面为框架图

在这里插入图片描述

1.类Web范式编程

JS UI框架采用类HTML(即hml,同时还有其他格式的类似htm等等)和CSS Web编程语言作为页面布局和页面样式的开发语言(即UI渲染),页面业务逻辑则支持ECMAScript规范的JavaScript语言。JS UI框架提供的类Web编程范式,可以让开发者避免编写UI状态切换的代码,视图配置信息更加直观。

2. Application

应用层表示开发者使用JS UI框架开发的FA应用,这里的FA应用特指JS FA应用。FA 即 FeatureAbility,面向用户的具有界面UI的,其他ability各具特点,这里不一一进行介绍了,可以参考官网ability框架介绍

3. Framework

这部分采用主流的框架MVVM即Model-View-ViewModel,视图和处理逻辑分离的优秀架构,目前还是谷歌安卓官方推荐的架构

4. Engine

引擎层主要提供动画解析、DOM(Document Object Model)树构建、布局计算、渲染命令构建与绘制、事件管理等能力。这部分平时开发的时候涉及的比较少,属于基础领域的开发,主要用于提高用户体验和整体的性能改善。

5. Porting Layer

适配层主要完成对平台层进行抽象,提供抽象接口,可以对接到系统平台。比如:事件对接、渲染管线对接和系统生命周期对接等。这部分主要用于系统之间的通信部分,算是一个应用和系统交互的一个桥梁。

三、系统的目录

JS UI开发框架源代码在/foundation/ace下,目录结构如下图所示:

/foundation/ace
├── ace_engine                       # JS UI框架
├── ace_engine_lite                  # 轻量级JS UI框架
└── napi                             # JS API扩展Native开发模块

这部分感兴趣的可以去翻翻源码具体感受子系统的设计部分

四、创建项目的目录

这部分就是开发应用的时候经常会看到的,即空项目的目录,JS-UI子系统主要负责界面部分,以下即任何界面都必备的三种格式的文件,以及每个项目都具有的app.js进行协调各个界面的JS文件

在这里插入图片描述

1.pages 目录下的 css,hml,js

这部分在昨天已经详细的讲述过了,这里再次简单的介绍一下,css用于界面的渲染,hml负责各种组件等的声明,js负责具体逻辑

2.i18n

这部分主要用于存放各个语言的js文件,主要是配合实现不同国家语言的适配和差异化

3.resources

这部分主要存放一下图片资源等等

4.app.js

这个是全局的application,作用于全部的界面,可以编写一些基础逻辑,方便各个界面之间的协调

五、总结

简单的叙述了平时接触的比较多的子系统,加深对于构建一个openHarmony应用的理解,其他子系统的学习具体可以参考官网openHarmony子系统,下一篇见~~

目录
相关文章
|
6天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
21天前
|
存储 JavaScript 开发者
探索鸿蒙新世界:ArkUI框架实战指南,解锁HarmonyOS应用UI设计的无限可能!
【10月更文挑战第19天】ArkUI框架是华为鸿蒙系统中用于开发用户界面的核心工具,支持ArkTS和eTS两种开发语言。本文介绍了ArkUI的基本概念、组件使用、布局管理和状态管理,通过示例代码帮助开发者轻松构建美观、高效的跨设备UI。
61 3
|
10天前
|
Rust JavaScript 前端开发
ES6 awaitRust UI 框架
ES6 awaitRust UI 框架
|
10天前
|
前端开发 JavaScript
electron ui框架
Electron是一个使用JavaScript, HTML和CSS等前端技术构建跨平台桌面应用程序的框架。
23 0
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
7天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
33 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
29天前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
64 41
|
12天前
|
JavaScript 中间件 API
Node.js进阶:Koa框架下的RESTful API设计与实现
【10月更文挑战第28天】本文介绍了如何在Koa框架下设计与实现RESTful API。首先概述了Koa框架的特点,接着讲解了RESTful API的设计原则,包括无状态和统一接口。最后,通过一个简单的博客系统示例,详细展示了如何使用Koa和koa-router实现常见的CRUD操作,包括获取、创建、更新和删除文章。
34 4
|
14天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
29 3
|
19天前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
34 2