HarmonyOS实战—原子化服务初尝试

简介: HarmonyOS实战—原子化服务初尝试

原子化服务初尝试


什么是原子化服务

原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。


例如:某传统方式的需要安装的“购物应用A”,在按照原子化服务理念调整设计后,成为由“商品浏览”“购物车”“支付”等多个便捷服务组成的、可以免安装的“购物原子化服务A*”。


简单的说,原子化服务就是我们在鸿蒙设备通过左下角上滑出的我的服务界面中的卡片。如上图所示。(上图是我们最终创建项目的实现效果)


原子化服务的优点

博主总结了原子化服务与传统App安装的不同之处,如下表所示:

项目 原子化服务 直接安装App
软件包形态 .hap .app
分发平台 由原子化服务平台(Huawei Ability Gallery)管理和分发 由应用市场(AppGallery)管理和分发
安装后有无桌面icon 无桌面icon,但可手动添加到桌面,显示形式为服务卡片 有桌面icon
HAP包免安装要求 所有HAP包(包括Entry HAP和Feature HAP)均需满足免安装要求 所有HAP包(包括Entry HAP和Feature HAP)均为非免安装的


创建原子化服务项目

了解了原子化服务的优点之后,我们还是直接来实现一个原子化服务项目。


DevEco Studio可以创建2种原子化服务项目,一种是通过Java来实现,一种是通过JS。这里,我们选择JS的方式创建。


首先,我们直接创建一个空的JS项目选择手机。


也就是点击DevEco Studio创建项目后的第一个模块。


接着,我们在Create HarmonyOS Project,设置如下选项,这里的包名(Package name),项目名(Project name)以及Save location都可以自行定义选择。


最后,点击Finish,就完成了原子化服务项目的创建,并且生成了项目所需要的各类文件内容。


运行原子化服务项目

既然我们已经完成了原子化服务项目的创建,那么就可以直接通过模拟器来运行默认项目的效果。这里,我们直接点击Run entry运行。


如果不知道怎么获取模拟器可以参考博主的另一篇博文:鸿蒙App开发(4)—初识鸿蒙开发


最终运行的效果如首图所示。


目录结构分析

同样的,已博主讲解Java开发鸿蒙类似,我们也介绍一下通过JS开发鸿蒙原子化服务的目录结构是怎样的。如下图所示:


对于初学者来说,我们开始学习原子化服务开发时,主要使用的目录就是entry。这里,博主专门列出一个表格介绍各类文件的作用,如下表(JS目录下文件):

文件 意义
default/pages.index index.hml为页面内容,index.css为页面样式,index.js为Js脚本语言,用于处理用户交互反馈
default/i18n 国际化文件,用于根据系统语言选择对应的字符串进行替换
default/common 用于存放公共资源文件,比如:媒体资源,自定义组件和JS文件
app.js 用于全局JavaScript逻辑和应用生命周期管理
resources 用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件
相关文章
|
3月前
|
定位技术 UED
70. [HarmonyOS NEXT 实战案例九] 旅游景点网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的旅游景点网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的旅游景点应用。
85 1
|
3月前
|
容器
69.[HarmonyOS NEXT 实战案例九] 旅游景点网格布局(上)
本教程将详细讲解如何使用HarmonyOS NEXT中的GridRow和GridCol组件实现旅游景点网格布局。通过网格布局,我们可以以美观、规整的方式展示各种旅游景点信息,为用户提供良好的浏览体验。
80 1
|
3月前
|
UED
68.[HarmonyOS NEXT 实战案例八] 电影票务网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的电影票务网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的电影票务应用。
73 1
|
3月前
|
开发者 容器
67.[HarmonyOS NEXT 实战案例八] 电影票务网格布局(上)
在移动应用开发中,电影票务应用是一个常见的场景,用户可以通过应用查看正在热映的电影信息,并进行选座购票等操作。本教程将详细讲解如何使用HarmonyOS NEXT的GridRow和GridCol组件实现电影票务应用中的电影列表网格布局,帮助开发者掌握网格布局的基本用法和实现技巧。
87 1
|
3月前
|
UED
66.[HarmonyOS NEXT 实战案例七] 健身课程网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的健身课程网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的健身课程应用。
77 1
|
3月前
|
设计模式 UED
65. [HarmonyOS NEXT 实战案例七] 健身课程网格布局(上)
本教程将介绍如何使用HarmonyOS NEXT的GridRow和GridCol组件实现健身课程的网格布局展示。健身课程网格布局是一种常见的UI设计模式,适用于展示各种健身课程信息,包括课程名称、教练信息、课程时长、难度级别等。通过网格布局,用户可以快速浏览多个课程,并根据自己的需求选择合适的课程。
78 1
|
3月前
64.[HarmonyOS NEXT 实战案例六] 餐饮菜单网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的餐饮菜单网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的餐饮菜单应用。
84 0
|
3月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
3月前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
115 0
鸿蒙开发:基于最新API,如何实现组件化运行
|
3月前
|
存储 IDE 定位技术
【HarmonyOS 5】鸿蒙组件&模板服务详解 - 助力高效开发的利器
在移动应用开发领域,效率与质量始终是开发者追求的核心目标。鸿蒙系统作为新兴的操作系统,为开发者提供了丰富且强大的开发资源,其中鸿蒙组件&模板服务更是成为开发者快速构建高质量应用的得力助手。
126 0