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 用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件
相关文章
|
22天前
|
JavaScript API 数据处理
基于HarmonyOS 5.0 (Next)技术的渐变模糊效果技术实现【代码实战】
本文详细介绍如何在HarmonyOS 5.0(Next)中实现渐变模糊效果,涵盖从基础页面搭建到添加模糊、渐变效果的全过程,并通过代码实战展示具体操作步骤。文章首先介绍了使用`Stack`和`Image`控件设置背景并应用`foregroundBlurStyle`属性实现模糊效果,接着通过`linearGradient`属性融入渐变效果,使界面更加精致美观。此外,还展示了如何利用滑动条和手势等交互元素动态调整模糊与渐变效果,增强用户体验。最后,通过具体代码示例说明如何为图片、弹窗等控件添加渐变模糊效果,突显HarmonyOS的强大功能与灵活性。
86 17
|
23天前
|
数据管理 API 调度
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
HarmonyOS Next 是华为新一代操作系统,专注于分布式技术的深度应用与生态融合。本文通过技术特点、应用场景及实战案例,全面解析其核心技术架构与开发流程。重点介绍分布式软总线2.0、数据管理、任务调度等升级特性,并提供基于 ArkTS 的原生开发支持。通过开发跨设备协同音乐播放应用,展示分布式能力的实际应用,涵盖项目配置、主界面设计、分布式服务实现及部署调试步骤。此外,深入分析分布式数据同步原理、任务调度优化及常见问题解决方案,帮助开发者掌握 HarmonyOS Next 的核心技术和实战技巧。
185 76
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
|
15天前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
40 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
22天前
|
安全 数据安全/隐私保护 UED
HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】
### HarmonyOS 5.0(Next)应用开发实战:使用ArkTS构建开箱即用的登录页面 HarmonyOS 5.0(Next)融合了美学与科技,引入“光感美学”设计理念和多设备深度协同功能。本文通过 ArkTS 构建一个简单的登录页面,展示了模块化导入、状态管理、方法封装、声明式UI构建及事件处理等最佳实践。代码实现了一个包含用户名和密码输入框及登录按钮的界面,支持错误提示和页面跳转。
110 14
HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】
|
22天前
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
137 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
18天前
|
Dart 前端开发 IDE
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
本文介绍了如何将现有 Flutter 项目适配鸿蒙系统,详细步骤包括安装 FVM、使用 FVM 安装 Flutter SDK、搭建开发环境、创建项目架构和壳工程等。
116 4
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
|
22天前
|
人工智能 安全 数据安全/隐私保护
HarmonyOS应用开发实战:基于ArkTS的开箱即用登录页面实现【样式方式实现①】【HarmonyOS 5.0(Next)】
本文介绍了基于HarmonyOS 5.0(Next)和ArkTS实现的开箱即用登录页面。HarmonyOS 5.0是华为于2024年10月22日发布的第三代移动操作系统,具备原生智能、互联、安全及流畅特性。文章详细解析了使用ArkTS开发登录页面的代码,涵盖组件定义、界面布局、事件处理、样式设置及异步操作等内容,展示了清晰的组件结构、响应式设计与模块化编程的优势。通过这段代码,开发者可以快速上手并构建高效、美观的应用界面。
139 9
|
12天前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
72 47
Harmony OS开发-ArkTS语言速成二
|
13天前
|
索引 API
鸿蒙开发:自定义一个股票代码选择键盘
金融类的软件,特别是股票基金类的应用,在查找股票的时候,都会有一个区别于正常键盘的键盘,也就是股票代码键盘,和普通键盘的区别就是,除了常见的数字之外,也有一些常见的股票代码前缀按钮,方便在查找股票的时候,更加方便的进行检索。
鸿蒙开发:自定义一个股票代码选择键盘
|
13天前
|
API
鸿蒙开发:自定义一个英文键盘
实现方式呢,有很多种,目前采用了比较简单的一种,如果大家采用网格Grid组件实现方式,也是可以的,但是需要考虑每行的边距以及数据,还有最后两行的格子占位问题。
鸿蒙开发:自定义一个英文键盘