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 用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件
相关文章
|
1月前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
57 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
1月前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
45 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
1月前
|
UED
<大厂实战经验> Flutter&鸿蒙next 中使用 initState 和 mounted 处理异步请求的详细解析
在 Flutter 开发中,处理异步请求是常见需求。本文详细介绍了如何在 `initState` 中触发异步请求,并使用 `mounted` 属性确保在适当时机更新 UI。通过示例代码,展示了如何安全地进行异步操作和处理异常,避免在组件卸载后更新 UI 的问题。希望本文能帮助你更好地理解和应用 Flutter 中的异步处理。
66 3
|
1月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
1月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
108 1
|
1月前
|
存储 监控 安全
开发者的黄金时代:原生鸿蒙应用市场的全生命周期服务
2024年10月22日,华为发布了HarmonyOS NEXT,标志着鸿蒙生态进入商用发展阶段。原生鸿蒙应用市场全面焕新,不仅在UI设计、互动体验和隐私安全机制上进行了重塑,还为开发者和用户提供了从开发到分发的全生命周期服务。通过统一上架、多端分发、隐私合规保障等措施,原生鸿蒙应用市场助力开发者实现高效、安全的应用开发与分发,为全球数亿鸿蒙用户带来更流畅、更安全的使用体验。
|
1月前
|
移动开发 资源调度 IDE
鸿蒙Taro实战:01-搭建开发环境
本文介绍了如何使用 Taro 4.x 框架搭建鸿蒙应用开发环境。主要内容包括:下载并配置 DevEco IDE,创建鸿蒙项目,安装 Taro 4.x,初始化 Taro 项目,配置鸿蒙插件和编译配置,修改 `package.json`,运行 Taro 和鸿蒙项目。通过本文,读者可以快速上手鸿蒙应用开发。
|
1月前
|
JSON Dart 数据格式
<大厂实战场景> ~ flutter&鸿蒙next处理后端返回来的数据的转义问题
在 Flutter 应用开发中,处理后端返回的数据是常见任务,尤其涉及转义字符时。本文详细探讨了如何使用 Dart 的 `dart:convert` 库解析包含转义字符的 JSON 数据,并提供了示例代码和常见问题的解决方案,帮助开发者有效处理数据转义问题。
127 0
|
21天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
22天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求