当前位置: 首页 > news >正文

鸿蒙App开发新思路:小程序转App

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

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​​。

转App技术

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

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

如果您所在企业的应用,已经有部分业务内容小程序,不妨试试这个办法,快速应对鸿蒙操作系统独立的进程。如果还没有任意小程序,那么可以考虑从1-2个高频迭代的应用开始,进行小程序化的改造,从成熟的Andriod或IOS系统开始试用起来。
混合App开发已经是现今技术的一种趋势,或者说优势所在,其中,「App+小程序」的App混合开发模式更优:

  • 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
  • 能获取更多系统权限,完成更加丰富的产品设计;
  • 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
  • 包尺寸有效减少,节省流量和存储

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

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

相关文章:

鸿蒙App开发新思路:小程序转App

国家与国家之间错综复杂,在谷歌的安卓操作系统“断供”后,鸿蒙系统的市场化&独立化的道路便显而易见了。 2024年1月18日,华为宣布,不再兼容安卓的“纯血鸿蒙”--HarmonyOS NEXT鸿蒙星河版最终面世,并与2024年Q4正…...

C++17之std::invoke: 使用和原理探究(全)

C进阶专栏:http://t.csdnimg.cn/5mV9r 目录 1.概述 2.辅助类 3.原理分析 4.总结 1.概述 在之前的 C 版本中,要调用不同类型的可调用对象,需要使用不同的语法,例如使用函数调用运算符 () 来调用函数或函数指针,使用…...

shadertoy 游戏《来自星尘》摇杆复刻

正确的做法应该是上 noise 而不是叠加 sin 波,不过如果不想麻烦的话叠波还是一个不错的选择:整体效果如下,已经非常形似 直接上链接:Shader - Shadertoy BETA float radiusScale 0.9; float variation(vec2 v1, vec2 v2, float …...

获取PDF中的布局信息——如何获取段落

PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题,尤其是五花八门,格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容,提取表格内容,提取图片。我认为这些应该是分开做的事情。python有…...

Laya2.13.3在Web条件下使用键盘控制相机移动

需求:在Laya开发时,常常没法移动相机来观察场内的环境,故制作一个移动相机的脚本来是实现此功能,目前先使用键盘后续会添加鼠标控制移动旋转等功能。 onEnable(){this.camera new Laya.Camera(0, 0.1, 100);this._tempVector3 n…...

centos系统服务器在Jenkins执行playwright UI自动化测试框架

centos系统服务器在Jenkins执行playwright UI自动化测试框架 1. centos7.9系统中安装playwright环境报错 playwright/driver/node: /lib64/libc.so.6: version `GLIBC_2.25 not found经过查找资料,playwright 仅支持Ubuntu系统,其他的Linux服务器系统不支持,为此采用docke…...

boost.redis崩溃的解决方法

使用boost.redis的协程一定要co_spawn在strand对象中。 正确的用法: boost::asio::co_spawn(boost::dasio::make_strand(ioc),XXXCoroutine(),boost::asio::detached ); 错误的用法: boost::asio::co_spawn(ioc,XXXCoroutine(),boost::asio::detache…...

蓝桥杯——123

123 二分等差数列求和前缀和数组 题目分析 连续一段的和我们想到了前缀和,但是这里的l和r的范围为1e12,明显不能用O(n)的时间复杂度去求前缀和。那么我们开始观察序列的特点,可以按照等差数列对序列进行分块。如上图,在求前10个…...

嵌入式基础知识-信号量,PV原语与前趋图

本篇来介绍信号量与PV原语的一些知识,并介绍其在前趋图上的应用分析。本篇的知识属于操作系统部分的通用知识,在嵌入式软件开发中,同样会用到这些知识。 1 信号量 信号量是最早出现的用来解决进程同步与互斥问题的机制(可以把信…...

代码遗产:探索祖传代码的历史、挑战与现代融合艺术

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…...

Vue3:用vite创建Vue3项目

一、简介 vite是新一代前端构建工具,官网地址:https://vitejs.cn vite的优势如下: 轻量快速的热重载(HMR),能实现极速的服务启动。对 TypeScript、JSX、CSS 等支持开箱即用。真正的按需编译,不…...

STM32 (2)

1.stm32编程模型 将C语言程序烧录到芯片中会存储在单片机的flsah存储器中,给芯片上电后,Flash中的程序会逐条进入到CPU中去执行,进而CPU去控制各种模块(即外设)去实现各种功能。 2.寄存器和寄存器编程 CPU通过控制其…...

docker部署nginx+反向代理配置/代理宿主机网段服务器

1、安装docker,并运行 2、拉取nginx镜像 docker pull nginx3、运行nginx容器,将文件拷贝至本地,并将nginx容器删除 #运行nginx容器 docker run -id --name mynginx -p 8080:80 nginx#将配置文件从容器内拷贝至本地 docker cp 容器ID:/et…...

初识Hive

官网地址为: Design - Apache Hive - Apache Software Foundation 一、架构 先来看下官网给的图: 图上显示了Hive的主要组件及其与Hadoop的交互。Hive的主要组件有: UI: 用户向系统提交查询和其他操作的用户界面。截至2011年&…...

Google发布Genie硬杠Sora:通过大量无监督视频训练最终生成可交互虚拟世界

前言 Sora 问世才不到两个星期,谷歌的世界模型也来了,能力看似更强大:它生成的虚拟世界自主可控 第一部分 首个基础世界模型Genie 1.1 Genie是什么 Genie是第一个以无监督方式从未标记的互联网视频中训练的生成式交互环境(the first gener…...

全球首台!未磁科技256通道无液氦脑磁图仪及芯片化原子磁力计正式发布

2024年2月3日,由北京未磁科技有限公司牵头的国家重点研发计划诊疗装备与生物医用材料重点专项“新型无液氦脑磁图系统研发”项目2023年度总结会暨2024年推进会顺利召开。会上发布了项目取得的重大成果——全球首台256通道无液氦脑磁图仪Marvel MEG Pro。此项重磅成果…...

openssl3.2 - exp - 内存操作(建立,写入,读取)配置

文章目录 openssl3.2 - exp - 内存操作(建立,写入,读取)配置概述笔记调试细节运行效果测试工程实现main.cppCMyOsslConfig.hCMyOsslConfig.cppEND openssl3.2 - exp - 内存操作(建立,写入,读取)配置 概述 我的应用的配置文件是落地加密的, 无法直接用openssl配置接口载入读取…...

前端食堂技术周刊第 114 期:Interop 2024、TS 5.4 RC、2 月登陆浏览器的新功能、JSR、AI SDK 3.0

美味值:🌟🌟🌟🌟🌟 口味:凉拌鸡架 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下…...

#QT(信号与槽)

1.IDE:QTCreator 2.实验:自动添加槽函数,手动添加槽函数 3.记录 (1)自动添加 a.拖拽widget.ui,放置push-button组件,并且自动生成槽函数 b.发现widget.cpp和widget.h中出现添加的槽函数,注意w…...

go 设置滚动日志

方案 通过 log/slog 实现结构化日志生成,这是go1.21中推出的新特性;通过 lumberjack 实现日志文件分割。 示例 package mainimport ("gopkg.in/natefinch/lumberjack.v2""log/slog""os""path/filepath" )fun…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

JVM垃圾回收机制全解析

Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...