纯血鸿蒙来了,鸿蒙App开发该如何提速

news2024/11/19 7:35:18

“全世界做产品挣钱的公司很多,但有能力打造操作系统的公司没有几家,最后世界上的操作系统就只有三套:鸿蒙、iOS和安卓。” --- 360集团创始人、董事长周鸿祎 

“HarmonyOS实现了AI框架、大模型、设计系统、编程框架、编程语言、编译器等全栈自研,有核心技术、全栈能力、底座和生态,是真正的操作系统,而非像其他手机操作系统一样,仅是‘套壳’安卓。” --- 华为常务董事余承东

国家与国家之间错综复杂,在谷歌的安卓操作系统“断供”后,鸿蒙系统的市场化&独立化的道路便显而易见了。

2024年1月18日,华为宣布,不再兼容安卓的“纯血鸿蒙”--HarmonyOS NEXT鸿蒙星河版最终面世,并与2024年Q4正式上商用版本。

华为鸿蒙操作系统独立,这次是真的了。

鸿蒙App该如何开发?

正常的学习路径:开发者从0开始学习新的技术语言(ArkTS语言)

  • 优势:能在有限的时间内,学到一门能长期坚持的“手艺活”

  • 劣势:如果时间只有今年为数不多的几个月,那企业就需要面对“时间紧、任务重、资源少、基数大”等四座大山的巨大压力,鸿蒙App面对从0-1的开发,可能会导致最终成品上线赶不上鸿蒙系统商业化的节奏。

捷径的学习路径:使用混合App的开发技术,将大部分已有小程序或者H5的业务与原生App及必要SDK组件分离,即“二八原则”,20%的鸿蒙原生开发,80%的H5或者小程序业务场景开发(一端开发,多端上架)。

一些市场数据:

据2023年Q4中国手机市场数据来看,华为手机激活量为1146.57,以市场份额15.3%排名第三位。这意味着,在销售的新机当中,搭载鸿蒙系统的占比至少有15%。如果华为的“纯血鸿蒙”操作系统正式推出,那么没有就绪的企业,很有可能会失去中国15%(甚至更多)的移动互联网的用户市场份额,这个业务量,估计换企业的任意一个部门都是无法承担的后果。

如何做技术选型,相信大家内心都会有一些初步的答案了吧?

鸿蒙App开发新思路:小程序+适配鸿蒙操作系统的容器技术+转App技术

值得一提的是,一个操作系统的成败,生态建设至关重要。

鸿蒙生态的早期建设是依靠元服务卡片的“众包开发”形式聚积平台的第三方应用,多年来累计220W的开发者加入,但原子化服务的数量仅5W+个。今年虽然有“纯血鸿蒙”在背后支持,但短期的生态爆发仍需要时间积累。

相对应的,微信小程序生态显得更加庞大。截至2021年上半年,全网小程序数量突破700万个,其中,微信小程序是行业主流,数量超过430万个,占比高达约61.43%。根据微信公开课和腾讯财报披露的数据,2022年小程序DAU已经突破6亿,同比增长超30%。

技术层面,小程序技术在中国的发展已经达到了一个全球示范田的作用,并受到全球互联网技术标准协会W3C的青睐,还起草了「小程序标准化白皮书」

从上述信息来看,小程序的技术认知已经被中国开发者,甚至全球广泛认可。

小程序容器&转App技术

得益于小程序场景生态的发展,小程序的跨智能终端应用开始被一些企业研究。于是乎,小程序容器技术应需而生。

当App集成了小程序容器 SDK 之后,不论是 iPhone, Android, Flutter,React Native, 电脑、电视、车载或物联网设备,都能够让不同的应用或终端设备快速具备运行小程序的能力,而且同一个小程序场景可以分发到不同终端中运行,不需要针对不同终端编写不同代码,这类小程序容器技术可以借鉴一下FinClip。

本人是亲自测试过FinClip小程序管理平台,类似微信小程序开放平台,能够将上传至平台上的小程序进行统一的管理,也能够邀请第三方的开发者,对于小程序开发全生命流程参与到某一个开发环节中来。

平台自带的、与现有App进行关联绑定后,已有App便能具备运行小程序的能力。另外,自带的转App功能,本质上是将App的基本要素,结合平台上已有的小程序,一并打包生成一个具备丰富内容的小程序套壳App。

如果您所在企业的应用,已经有部分业务内容小程序,不妨试试这个办法,快速应对鸿蒙操作系统独立的进程。如果还没有任意小程序,那么可以考虑从1-2个高频迭代的应用开始,进行小程序化的改造,从成熟的Andriod或IOS系统开始试用起来。

混合App开发已经是现今技术的一种趋势,或者说优势所在,其中,「App+小程序」的App混合开发模式更优:

  • 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);

  • 能获取更多系统权限,完成更加丰富的产品设计;

  • 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);

  • 包尺寸有效减少,节省流量和存储

也不排除很多复杂的,面相终端消费者的App开发是更为复杂的“四不像”技术开发。但只要能满足业务的快速发展,流量-留量的双向互通,同时不影响用户的体验,那App是“纯血”还是“混血”,也不是那么纠结的事情。

鸿蒙元年已来,中国企业数字化进程的又一波红利期,就看我们用何种方式抓住机会,个人是建议先用简单的技术方式先适配,至少保证业务在鸿蒙独立的操作系统上运作,然后再考虑逐渐的进行鸿蒙化原生改造。又或者,直接考虑长期将越来越多的业务模块云化或者小程序化,以满足业务快速运行、市场化需求为主,一方面降低多端的维护成本,一方面提高开发效率,真正做到技术上降本增效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1428347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Google Earth Engine tools——利用geetools中的algorithms算法实现hsv

简介 锐化HSV是一种图像处理技术,它是通过调整图像的颜色分量来增强图像的细节和清晰度。HSV是一种颜色空间模型,它基于人类视觉感知的方式来描述颜色。HSV代表色调(Hue)、饱和度(Saturation)和明度&…

正点原子--STM32中断系统学习笔记(1)

1、什么是中断? 原子哥给出的概念是这样的:打断CPU正常执行的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断。 当发生中断时,当前执行的程序会被暂时中止,进而进入中断处理函…

Vector CANdb++ Editor和CANdb++ Admin的区别

目录 1 CANdb Editor和CANdb Admin的功能偏差 2 CANdb Program窗口 3 下载并安装CANdb Editor和CANdb Admin 3.1 安装CANdb Admin.J1939 3.0 SP27 优质博文推荐阅读(单击下方链接,即可跳转): Vector工具链 CAN Matrix DBC …

解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

目录 1.示例: 1.1 实现代码1:列数为常量 运行结果: 1.2 实现代码2:列数为变量 运行结果: 1.示例: 开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占…

Linux VLAN相关概念、转发原理及处理流程

背景 二、三层转发是网络工程师经常接触到的一个问题,VLAN配置是二、三层转中一个很重要的概念,在配置VLAN的情况下,内核对报文是如何处理的呢? 概念 了解VLAN转发,首先必须知道VLAN相关概念; VLAN作用 V…

闲聊电脑(4)硬盘分区

夜深人静,万籁俱寂,老郭趴在电脑桌上打盹,桌子上的小黄鸭和桌子旁的冰箱又开始窃窃私语…… 小黄鸭:冰箱大哥,上次你说的那个“分区”和“格式化”是什么意思? 冰箱:分区么,就是分…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

VPP学习-startup.conf配置文件

背景 VPP(Vector Packet Processing,矢量报文处理),作为一个开源的高性能数据包处理框架,旨在提供可扩展、灵活且高效的网络数据包处理能力;由于传统Linux 内核协议栈整体网络吞吐性能的局限性,…

MySQL | 一定会走索引却没有走的原因,日志报conversion相关错误

TL;DR:函数作用于表字段时,索引会失效。 具体情况 Indexes如下: SQL如下: explain select *from accounting_status_flow_tab_00000000WHERE ( client_no 6848134000 and loan_no 0119324345936016261000 )order by modif…

MySQL 8.0 引入 innodb_flush_method 等新参数的系统调用分析

本文我们将讨论如何在操作系统级别验证 innodb_flush_method 和 innodb_use_fdatasync 修改为默认值之外的其它值(特别是 O_DIRECT 是最常用的)后的效果。 介绍 首先,让我们定义该 innodb_flush_method 参数的作用。它规定了 InnoDB 如何管…

加快“数实融合”推进新型工业化 济南个性化体检“把脉”企业数字化转型难点痛点

加快“数实融合”推进新型工业化 济南个性化体检“把脉”企业数字化转型难点痛点 以主流价值为光,解读“济南故事”,解码C位新闻。爱济南客户端推出“追光”栏目,发挥新型主流媒体权威性和创新性,着眼经济社会发展紧要处、关键处、…

Java学习day26:和线程相关的Object类的方法、等待线程和唤醒线程(知识点详解)

声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!) 往期回顾 Java学习day25:守护线…

压力测试工具-Jmeter使用总结

目录 一.前言 二.线程组 三.线程组的组件 四.线程组-HTTP请求 1、JSON提取器 2、XPATH提取器 3、正则表达式提取器 五.线程组-断言 1、响应断言 2、JSON断言 六.创建测试 1.创建线程组 2.配置元件 3.构造HTTP请求 4.添加HTTP请求头 5.添加断言 6.添加查看结果树…

Python之Numpy 和 Pandas

目录 2.1 numpy import numpy as np array np.array([[1,2,3],[2,3,4]]) print(array) print(number of dim:,array.ndim) print(shape:,array.shape) print(size:,array.size)pandas 1,pandas 基本介绍 df2 pd.DataFrame({A:1.,B:pd.Timestamp(20130102),C:pd.Series(1,i…

算法设计与分析实验:最短路径算法

一、网络延迟时间 力扣第743题 本题采用最短路径的思想进行求解 1.1 具体思路 (1)使用邻接表表示有向图:首先,我们可以使用邻接表来表示有向图。邻接表是一种数据结构,用于表示图中顶点的相邻关系。在这个问题中&am…

【C语言进阶篇】assert宏 使用详解

文章目录 一、assert简介 二、assert使用方法和规则 2.1 头文件 2.2 原型 2.3 功能 2.4 示例 2.5 assert的打开与关闭 三、注意事项 3.1 运行效率问题 3.2 assert只适用于调试版本 3.3 资源释放与清理 3.4 过度依赖 四、总结 个人主页: 倔强的石头的…

Datax3.0+DataX-Web部署分布式可视化ETL系统

一、DataX 简介 DataX 是阿里云 DataWorks 数据集成的开源版本,主要就是用于实现数据间的离线同步。DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源(即不同的数据库&#x…

(2024,SaFaRI,双三上采样和 DFT,空间特征和频率特征)基于扩散模型的图像空间和频率感知恢复方法

Spatial-and-Frequency-aware Restoration method for Images based on Diffusion Models 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 方法 3.1 修改数据保真度 3.2 …

Python中使用Opencv-python库绘制直线、矩形、圆、文本

Python中使用Opencv-python库绘制直线、矩形、圆、文字 在Python中使用Opencv-python绘制直线、矩形、圆、文本非常简单,分别使用到line、rectangle、circle、putText这几个函数,具体可以参考https://docs.opencv.org/4.9.0/d6/d6e/group__imgproc__dra…

基础小白快速入门c语言----数据类型

数据类型,运算符,表达式 1c语言支持 数据类型 1.基础类型(基本类型) a数值类型 整型:往往有符号和无符号的区分,(signed)有符号 (unsigned)无符号 基础整型&#xff1…