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子系统,下一篇见~~

目录
相关文章
|
9月前
|
JavaScript 前端开发 API
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
8月前
|
自然语言处理 安全 JavaScript
HarmonyOsNEXT【ArkUI超全解析】新手必看的方舟UI框架指南!
本文是HarmonyOS NEXT方舟UI框架新手指南,涵盖ArkTS开发核心知识点。从UI与组件基础概念到声明式开发优势,再到ArkTS代码实战,包括组件创建、属性设置、事件绑定等。通过实例解析自定义组件开发流程,提供避坑技巧与代码风格建议,助你快速掌握ArkUI框架精髓,轻松构建高效、美观的HarmonyOS应用界面。适合初学者及希望转型声明式开发的开发者学习参考。
|
Rust JavaScript 前端开发
ES6 awaitRust UI 框架
ES6 awaitRust UI 框架
115 0
|
前端开发 JavaScript
electron ui框架
Electron是一个使用JavaScript, HTML和CSS等前端技术构建跨平台桌面应用程序的框架。
754 0
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
3126 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
10月前
|
Android开发 UED iOS开发
Harmony os next~UI开发与ArkUI框架
鸿蒙OS的UI开发基于ArkUI框架,采用声明式编程,简化开发流程。五大核心组件(Text、Button、List、Grid、Flex)助力高效布局,支持数据绑定与动态更新。事件响应机制灵敏,适合构建交互丰富的应用。实战技巧包括规范命名、样式复用和调试方法。掌握这些,轻松开发鸿蒙应用。下期预告:分布式开发,记得带上烤冷面!
349 0
|
11月前
|
前端开发 数据安全/隐私保护 开发者
FirstUI:Deepseek能帮我们做很多事情,而这款开源框架专为开发者设计的开源UI框架,让你的项目加速起飞
嗨,大家好,我是小华同学。今天为大家介绍一个轻量级、响应式的前端UI框架——FirstUI。它提供丰富的组件库,包括按钮、输入框、下拉菜单等,帮助开发者快速构建美观、功能丰富的用户界面。FirstUI的核心理念是“简单、快速、高效”,适合各种Web应用开发,如企业网站、电商平台和个人博客。其体积小、加载快,支持响应式设计,并且易于定制。FirstUI拥有活跃的社区支持,开发者可以轻松找到帮助并分享经验。欢迎关注我们,获取更多优质开源项目和高效工作学习方法。
462 0
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
899 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路