0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

​HarmonyOS"一次开发,多端部署"优秀实践——玩机技巧

HarmonyOS开发者 来源:HarmonyOS开发者 作者:HarmonyOS开发者 2023-08-30 10:25 次阅读

随着终端设备形态日益多样化,分布式技术逐渐打破单一硬件边界,一个应用或服务,可以在不同的硬件设备之间按需调用、互助共享,让用户享受无缝的全场景体验。作为应用开发者,广泛的设备类型也能为应用带来广大的潜在用户群体。一个应用要在多类设备上提供统一的内容,需要适配不同的屏幕尺寸和硬件,开发成本较高。"一次开发,多端部署"(后文中简称为"一多")的应用开发理念,可以让开发者基于统一的设计,在多类设备上,高效构建可运行的应用。在2023HDC大会上,华为展示了其自研应用"玩机技巧"基于这一理念的优秀实践。

玩机技巧作为华为终端用户常用的应用,通过"一多",部署在手机、折叠屏、平板等多设备上,不仅获得了体验提升,开发代码量也下降了约40%。下文,我们将从架构设计、UI设计、交互设计和上架4个层面对玩机技巧应用的"一多"开发进行解读。

通过"一多",玩机技巧应用部署在不同设备上

三层架构分层设计

玩机技巧通过在一个工程中采用三层架构的分层设计,获得了能够支持多种设备的基础能力,适配差异化和代码共享也达到最大平衡。

玩机技巧开发将应用拆分成公共能力层(Common)、基础特性层(Feature)、产品定制层(Product)三层工程结构,支持一套代码工程一次开发上架,即可多端按需部署。

公共能力层支持网络框架、工具类、数据管理等能力。

特性层抽象出可复用的高内聚、低耦合的基础特性集,如富媒体浏览、搜索。

在产品定制层,针对多设备存在差异的特性集成UI、资源和配置,如多窗口、分栏体验,与应用基座解耦等多种因素。通过自适应布局、响应式控件、交互归一等系统OS能力,以及IDE工程能力,将应用工程归一,最大化复用代码,提升设计和开发效率,并兼顾多设备的整体用户体验。支撑应用工程归一、最大化复用代码,提升了设计和开发效率,兼顾了多设备的整体用户体验。

1f014424-46dc-11ee-a2ef-92fbcf53809c.png

玩机技巧应用的三层架构分层设计

多端设计UI自适应

不同设备屏幕尺寸、分辨率等存在差异。HarmonyOS对屏幕进行逻辑抽象,包括尺寸和物理像素,并通过方舟开发框架(简称ArkUI)提供丰富的自适应、响应式的布局,方便开发者进行不同屏幕的界面适配。同时,HarmonyOS将人因设计、多端设计UI自适应等经验,都固化到相关设计指南和ArkUI控件中,让应用开发者在设计阶段就可以考虑多端的差异化和一致性。

在玩机技巧的设计开发中,多设备的体验在一致性与差异性中取得良好的平衡。首先,玩机技巧界面设计和交互方式在手机和2in1设备上尽量保持一致,首页采用了统一的信息架构、界面布局、系统控件,减少用户学习成本。其次,2in1设备在屏幕尺寸、人群场景、操控方式和功能范围上兼顾一定的差异化设计,满足了开发者个性化的诉求。

灵活布局

多端设计UI自适应,在同一个栅格模式下切换窗口大小,玩机技巧能够随窗口大小的变化而自动适应界面上的所有元素,从而保证动态界面的美观。当界面窗口变化到一定程度时(断点),比如从2in1模式拖动窗口变小到手机窗口大小时(从2in1模式切换成手机模式),界面需要响应式变化布局,从而保证应用在不同窗口大小下的展示美观。

栅格响应式能力

组件作为应用的基础组成部分,在视觉、交互、动效等表现形式上需针对不同设备进行必要的调整,达到最佳体验。在玩机技巧中使用一多能力,同一个组件标题栏可实现在手机和2in1的不同样式。

视觉风格

为了保证各组件风格样式一致,玩机技巧使用HarmonyOS统一定义的视觉样式系统资源,即分层参数配置(比如色彩、字号、圆角、间距等)。

交互事件归一

对于不同类型的终端设备,用户可能有不同的交互方式,如通过触摸屏、鼠标、触控板等。不同输入设备的相同意图的输入指令,交互归一提供给开发者统一的API。玩机技巧应用一个hap可以安装在不同设备中,不需要针对不同设备处理交互,极大的精简了开发难度和开发代码量。

一次上架按需部署

一次上架后,剩下的工作交给AppGalleryConnect,开发者可以按需部署到不同终端上。

1f61caec-46dc-11ee-a2ef-92fbcf53809c.png

一次上架按需部署逻辑图

玩机技巧在开发态,通过业务解耦,把不同的业务拆分为多个模块。在部署态,可以将一个或多个模块自由组合,打包成一个App Pack统一上架。在分发运行态,每个模块都可以单独分发满足用户单一使用场景,也可以多个模块组合分发满足用户更加复杂的使用场景。

开发者可以在以下两种模式中选择,进行生态应用、元服务的打包和上架。

1f7b5d2c-46dc-11ee-a2ef-92fbcf53809c.png

通过"一多"能力进行打包、上架的两种模式

如上为玩机技巧在"一多"特性的实践经验,希望为开发者提供参考,欢迎更多应用开发者了解并使用"一次开发,多端部署"能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    33624

    浏览量

    247158
  • APP
    APP
    +关注

    关注

    33

    文章

    1529

    浏览量

    71631
  • hdc
    hdc
    +关注

    关注

    1

    文章

    40

    浏览量

    3469
  • 鸿蒙
    +关注

    关注

    55

    文章

    1630

    浏览量

    42120
  • HarmonyOS
    +关注

    关注

    79

    文章

    1840

    浏览量

    29266

原文标题:​HarmonyOS"一次开发,多端部署"优秀实践——玩机技巧,码上起航

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发实例:【分布式新闻客户端】

    基于栅格布局、设备管理和多端协同,实现一次开发多端部署的分布式新闻客户端页面。
    的头像 发表于 04-17 15:57 437次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>实例:【分布式新闻客户端】

    HarmonyOS开发技术全面分析

    以应用迁移为例,简要地展示了分布式任务调度能力。 图4: 分布式任务调度示意图 一次开发多端部署 HarmonyOS 提供了用户程序框架
    发表于 02-21 16:31

    HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

    用户带来更流畅、更智能、更安全的服务体验。在 HarmonyOS SDK 丰富完备的开放能力加持下,一次开发多端部署的高效
    发表于 02-07 15:51

    一次开发多端部署︱小红书携手HarmonyOS NEXT引领行业新风向

    1月18日下午,在备受瞩目的鸿蒙生态千帆启航仪式上,华为宣布:HarmonyOS NEXT星河预览版正式面向开发者开放申请。截至2023年年底,已有超过200个鸿蒙原生应用加速开发,鸿蒙生态设备数量
    的头像 发表于 01-26 16:07 212次阅读

    【鸿蒙生态千帆起】HarmonyOS系统级地图与位置服务,赋能广大开发

    HarmonyOS下地图领域的最新技术探索与实践成果。 得益于HarmonyOS一次开发多端
    发表于 11-22 10:37

    【鸿蒙生态千帆起】HarmonyOS系统级地图与位置服务,赋能广大开发

    下地图领域的最新技术探索与实践成果 。 得益于HarmonyOS一次开发多端部署、可分可合自由流
    的头像 发表于 11-21 21:10 378次阅读
    【鸿蒙生态千帆起】<b class='flag-5'>HarmonyOS</b>系统级地图与位置服务,赋能广大<b class='flag-5'>开发</b>者

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)

    。借助云存储服务,您可以无需关心存储服务器的开发部署、运维、扩容等事务,大大降低了应用使用存储的门槛,让您可以专注于应用的业务能力构建,助力您的商业成功。 是支持HarmonyOS
    发表于 10-16 14:20

    HarmonyOS\"一次开发多端部署\"优秀实践——玩机技巧,码上起航

    的潜在用户群体。个应用要在多类设备上提供统的内容,需要适配不同的屏幕尺寸和硬件,开发成本较高。\"一次开发
    发表于 08-30 18:14

    HarmonyOS Codelab 优秀样例——购物应用,体验一次开发多端部署魅力

    . 样例介绍 本篇Codelab基于自适应布局和响应式布局,实现购物应用在手机、折叠屏、平板不同屏幕尺寸设备上按不同设计显示。通过三层工程结构组织代码,实现一次开发多端
    发表于 08-28 15:57

    【资料包】HDC.Together 2023精选Codelabs指南现已上线(内有活动)

    ://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/tutorials_ElectronicAlbum​​ 11 一次开发多端
    发表于 08-15 17:46

    HarmonyOS NEXT新能力,站式高效开发HarmonyOS应用

    ,并分享了围“一次开发多端部署” “可分可合,自由流转” “统生态,原生智能”三大HarmonyOS
    发表于 08-14 15:08

    HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

    ,并分享了围绕 “一次开发多端部署” “可分可合,自由流转” “统一生态,原生智能” 三大HarmonyOS应用
    的头像 发表于 08-11 12:10 574次阅读

    HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

    ,并分享了围绕“一次开发多端部署” “可分可合,自由流转” “统一生态,原生智能”三大HarmonyOS应用
    的头像 发表于 08-09 17:16 787次阅读

    【直播预告】HarmonyOS极客松赋能直播第三期:一次开发多端部署与ArkTS卡片开发

    Release新版发布 HarmonyOS Connect认证测试 原文标题:【直播预告】HarmonyOS极客松赋能直播第三期:一次开发多端
    的头像 发表于 06-28 09:05 299次阅读
    【直播预告】<b class='flag-5'>HarmonyOS</b>极客松赋能直播第三期:<b class='flag-5'>一次</b><b class='flag-5'>开发</b><b class='flag-5'>多端</b><b class='flag-5'>部署</b>与ArkTS卡片<b class='flag-5'>开发</b>

    如何创新玩转元服务开发-趋势、分类与我们实践的方向!

    基于HarmonyOS API开发,秉承着HarmonyOS系统一次开发多端
    发表于 06-27 16:33