Hybird App开发,纯血鸿蒙系统快速兼容救星

2024年1月18日的开发者(HDC)大会上,就官宣了“纯血鸿蒙”操作系统即将于2024年3季度正式投产。与此同时,支付宝、京东、小红书、微博、高德地图、中国移动等在内的超百个头部应用都启动了鸿蒙原生应用开发,鸿蒙开发者日新增注册量已过万,同时众多985、211高校接连开设HarmonyOS相关课程。

鸿蒙生态发展已势不可挡。

纯血鸿蒙的推出是顺势而为

华为推出纯血鸿蒙,离不开国际形势的快速变化。

早在2019年,美国政府将华为列入“实体清单”,禁止华为使用美国公司的技术和产品。这使得华为无法继续使用Android操作系统。为了应对美国制裁,华为推出了鸿蒙操作系统。华为当然不希望推出的是「Andriod套壳」的操作系统,终极目标是为了打造一个自主可控的操作系统,不受外部因素的影响。鸿蒙操作系统采用了华为自研的微内核,具有更高的安全性、可靠性和灵活性。

与此同时,鸿蒙操作系统也是一款面向万物互联时代的操作系统。它可以支持各种设备,包括手机、平板电脑、手表、电视、汽车等。华为希望通过鸿蒙操作系统,构建一个万物互联的生态系统。

纯血鸿蒙(鸿蒙5.0)的推出,是顺势而为。

鸿蒙5.0的三大重磅升级

鸿蒙5.0相比于鸿蒙4.0,在以下三个方面进行了重大升级:

  1. 全新的分布式架构。鸿蒙5.0采用了全新的分布式架构,可以将应用分散到不同的设备上运行,从而提高应用的性能和效率。包括:原子化服务、软总线、分布式调度技术等。分布式的架构,能进一步提高应用性能和效率,以降低软件在设备上运行的功耗损耗。

  2. 性能和流畅度进一步提升。鸿蒙5.0在系统内核、应用框架、图形渲染等方面都做了大的提升,以提供用户更好的使用体验。

  3. 应用生态更加丰富。截至2023年底,华为应用市场已经上架了超过10万款鸿蒙原子化应用,涵盖了生活、工作、娱乐等各个方面。

独立系统上的已有App兼容适配,何种方案最优?

正所谓“条条道路通罗马”,技术选型及执行也有快有慢。

据2023年Q4中国手机市场数据来看,华为手机激活量为1146.57,以市场份额15.3%排名第三位。这意味着,在销售的新机当中,搭载鸿蒙系统的占比至少有15%。

如果华为的“纯血鸿蒙”操作系统正式推出,那么没有就绪的企业,很有可能会失去中国15%(甚至更多)的移动互联网的用户市场份额,这个业务量,估计换企业的任意一个部门都是无法承担的后果。

“时间紧、任务重、资源少、基数大”等四座大山摆在了企业的面前。

就笔者搜罗的,现在市面上常用的几种App升级(兼容)方法:

1、请鸿蒙原生开发工程师,用鸿蒙ArkTS语言重新写一遍

我们可以看到鸿蒙官方的开发者文档上,有很详细的开发教程及文档,其中划重点的是,其技术语言为ArkTS语言(直接区别于IOS和Andriod的开发语言)。

如果按照鸿蒙原生开发的“套路”去一步步开发鸿蒙版App,就好比中国人学外语一般,开发者还得从0开始学习新的技术语言(ArkTS语言),可能时间窗口就错过了...

2、混合App开发思路

App混合开发是指在开发一款App产品的时候,为了提高效率、节省成本而利用原生与小程序或H5的开发技术混合开发的应用。混合开发是一种取长补短的开发模式,原生代码部分利用Web View插件或者其它框架为小程序或H5提供容器,程序主要的业务实现、界面展示都是利用与前端技术相关的Web技术进行实现的。

相比于H5来说,借助小程序的生态和技术,将市场上成熟的应用“搬”到自有App中是一种更高效的做法。

应用生态优势:

从2017年微信首次推出小程序开始,经过四年发展,各大互联网巨头纷纷推出自己的小程序应用平台,小程序成为真正意义上的“互联网新技术标准”。截至2021年上半年,全网小程序数量突破700万个,其中,微信小程序是行业主流,数量超过430万个,占比高达约61.43%。

借着微信的红利,使用“小程序转换工具”(小程序容器技术,如FinClip;或跨端框架,如Flutter、Weex等),将已有微信小程序一键转换成App,并进行用户活跃和留存,加上社交平台应用作为引流,企业可谓低成本(只需有小程序)的将业务覆盖用户整个生命周期。

技术优势:

  • 具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;

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

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

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

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

  • 服务不再受发版所限制,支持热更新小程序容器技术加入到混合App开发主流队列

鸿蒙App开发的“降本增效”

作为一位前端开发+自媒体创作者的双重身份,我们一般在App开发到一定程度的时候,都会面临着技术底座选型,开发最怕的就是:业务想了一堆功能,需要在很短的时间内开发出来并商用。

但现实中这种情况还是很常见的,加上这么多的操作系统端,每个端都用不同的语言维护,研发成本将是巨大的。还有一个问题,鸿蒙可以独立操作系统,那微软呢?小米呢?如果越来越多的操作系统,前端开发是不是会疯?~~

看了下FinClip的宣传素材,“降本”效率还是挺高的,本人打算亲自尝试一下。

Hybird App开发技术(尤其是小程序+原生技术)为鸿蒙应用开发带来了诸多利好,它不仅可以帮助开发者快速开发高质量的应用,还可以降低开发成本,提高开发效率。可能有一些中大型企业的开发同学会问,那还是没有解决已有的App鸿蒙化。换位思考,其实是优先级的问题,如果现在留下来给我们的时间不多了,是不是需要将App鸿蒙化的改造排个优先级?先把关键的、需要适配的核心功能,自研团队集中精力适配了,其他业务场景,重要的通过小程序化改造,或者让第三方开发商提供小程序的版本,以极低的门槛植入到App中,先保证关键业务能在鸿蒙NEXT中运行,后面再慢慢改造边缘场景,是不是至少是个保底的方案?

技术的投入就是阶段性的,在0-1的开发过程中,我们通常建议MVP的投入方式,先讲产品或业务快速推向目标市场,再慢慢优化其用户体验。

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

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

相关文章

多域名ov ssl证书1200元

SSL证书是一种特殊的数字证书产品,它是维护互联网信息安全的重要手段之一,部署到服务器之后可以保护网站信息传输安全。因此,随着互联网的发展,SSL证书也随之越来越受到众多开发者的重视。SSL证书的数字证书产品多种多样&#xff…

手写mybatis插件之分页查询

yml文件 server:port: 8081mybatis:mapper-locations: classpath:mapper/*.xmlconfig-location: classpath:mybatis-config.xmlspring:datasource:password: 1234username: rootdriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis?useUnicod…

react-组件基础

1.目标 能够使用函数创建组件 能够使用class创建组件 能够给React元素绑定事件 能够使用state和setState() 能够处理事件中的this指向问题 能够使用受控组件方式处理表单 2.目录 React组件介绍 React组件的两种创建方式 React事件处理 有状态组件和无状态组件 组件中的state…

4G工牌室内外定位系统

4G工牌室内外定位系统是一种高效、精准的定位技术,它利用4G通信网络和GPS卫星定位系统,实现了对人员和物品的实时跟踪和定位。该系统广泛应用于企业管理、安全监控、智能交通等领域,为企业提供了更加高效、便捷的管理方式。 在室内环境中&am…

链表(C语言版)超详细讲解

链表 链表基础 一、链表的概念 定义: 链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性存储结构。二、链表的构成 构成:链表由一个个结点组成,每个结点包含两个部分&#xff1…

全网最详细的Jmeter接口自动化测试

前面我们复习了jmeter 的非图形化界面运行我们的测试接口。 大家可以翻看往期jmeter的文章。 具体来说就是:jmeter -n -t ****.jmx -l ****.jtl -e -o **** (*号代表路径) 生成了测试报告。 但是这个非图形化运行有个缺点,就是只能运…

蓝牙资产标签信标

随着科技的不断进步,蓝牙技术的应用已经深入到我们的日常生活中。其中,蓝牙资产标签作为一种新型的资产管理方式,正逐渐受到广泛欢迎。蓝牙资产标签是一种基于蓝牙技术的小型电子标签,可以粘贴在各种资产上,通过手机或…

代码随想录算法训练营第27天—贪心算法01 | ● 理论基础 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

理论基础 https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 贪心算法的本质:由局部最优推到全局最优贪心算法的套路:无固定套路 455.分发饼干 https://programmercarl.com/0455.%E5%88%8…

(白盒测试)简单循环测试

简单循环测试 1.为什么要引入简单循环测试? 用来测试代码中的循环结构是否能正常执行 是否会少执行一次?多执行一次? 通过循环测试就可以得知 2.什么是简单循环? 没有嵌套的循环⇒简单循环 比如 单层的for循环 单层的while循…

【Qt】鼠标拖拽修改控件尺寸---八个方位修改

前提 在开发一个类似qdesiger的项目中 使用QGraphicsProxyWidget将Qt基础控件作为item放在场景视图中显示和编辑 创建自定义类继承QGraphicsProxyWidget,管理控件 成员变量 有控件的xywh等,其中x、y坐标存储是基于最底层widgetitem的 坐标系 x轴以右为正…

anaconda指定目录创建环境无效/环境无法创建到指定位置

已经设置目录到D盘 创建环境时还是分配到C盘 可能是指定位置没有开启读写权限,如我在这里安装到了anaconda文件夹,则打开该文件夹的属性->安全->编辑 allusers下的权限全都打勾

【DAY05 软考中级备考笔记】线性表,栈和队列,串数组矩阵和广义表

线性表,栈和队列,串数组矩阵和广义表 2月28日 – 天气:阴转晴 时隔好几天没有学习了,今天补上。明天发工资,开心😄 1. 线性表 1.1 线性表的结构 首先线性表的结构分为物理结构和逻辑结构 物理结构按照实…

动态规划之使用最小花费爬楼梯【LeetCode】

动态规划之使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯解法1解法2 LCR 088. 使用最小花费爬楼梯 LCR 088. 使用最小花费爬楼梯 解法1 状态表示(这是最重要的):dp[i]表示以第i级台阶为楼层顶部,到达第i层台阶的最低花费。 状…

LeetCode_Java_移除链表元素(题目+思路+代码)

203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5]思路:…

idea打包报错,clean、package报错

一、idea在打包时,点击clean或package报错如下: Error running ie [clean]: No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system. 示例图&#xf…

从0开始python学习-53.python中flask创建简单接口

目录 1. 创建一个简单的请求,没有写方法时默认为get 2. 创建一个get请求 3. 创建一个post请求,默认可以使用params和表单传参 4. 带有参数的post请求 1. 创建一个简单的请求,没有写方法时默认为get from flask import Flask, request# 初始化一个flask的对象 ap…

Python入门学习:if语句与条件控制--and、or、in、not in详解与实践

Python入门学习:if语句与条件控制–and、or、in、not in详解与实践 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1…

42.do...while语句

目录 一.什么是do...while语句 二.语法 三.执行流程图 四.举例 五.视频教程 一.什么是do...while语句 do...while语句也是循环语句,和while语句的区别是,while语句是先判断表达式,如果表达式成立才会执行循环体中的内容,否则…

【vmware安装群晖】

vmware安装群晖 vmware安装群辉: vmware版本:17pro 下载链接, https://customerconnect.vmware.com/cn/downloads/details?downloadGroupWKST-1751-WIN&productId1376&rPId116859 激活码可自行搜索 教程: https://b…

【数据结构(C语言)】排序详解

目录 文章目录 前言 一、排序的概念 1.1 排序的概念 1.2 常见的排序算法 二、插入排序 2.1 直接插入排序 2.1.1 基本思想 2.1.2 特性总结 2.1.3 代码实现 2.2 希尔排序 2.2.1 基本思想 2.2.2 特性总结 2.2.3 代码实现 三、选择排序 3.1 直接选择排序 3.1.1…