鸿蒙NEXT不再支持安卓这条路真的走的通吗?

前言

看到高赞又是一片嘲讽,“apk换种打包方式”等等轻松拿几百赞,我也是无语。

国内多家互联网大厂都已经启动HarmonyOS Next应用开发,预计明年正式上线,如今业内很多人都已经知道了。

网络上相关报道也有很多,新浪科技、界面新闻、第一财经等等媒体都报道了:

很多对于鸿蒙乃至菊厂的嘲讽都是拿自媒体当靶子,因为官方和主流媒体的表述一般比较贴近事实

实际上不止美团京东等大厂,据我所知最关键的那几个巨头也都加入了鸿蒙生态开发。

至于题目中问的“鸿蒙5.0不兼容安卓的道路能否走通”,我个人的看法是:

“鸿蒙5.0不再支持安卓”的表述可能不严谨,我个人猜测HarmonyOS Next会有将AOSP放入容器的过渡期。

但就目前态势来看,HarmonyOS Next已经基本确定可以走通,预计明年会见到阶段性成果。


知乎上连篇累牍复读“套壳”、“连哄带蒙”的时候,我一直在关注相关进展。

正好借着这个机会,再梳理一遍我眼中鸿蒙/OpenHarmony的发展历程:

四千字长文,有错漏欢迎指出:

1、鸿蒙/OpenHarmony 1.0——一切的源点

2020年菊厂开源了OpenHarmony 1.0的代码,其中包含了菊厂自研的liteos系统。

一方面,最极端的黑子也得承认,Liteos是菊厂自研的操作系统;

另一方面,liteos终究是面向手表等穿戴产品的轻量级物联网操作系统,支持设备能力和技术复杂度与手机系统有不小的差距。

所谓“菊厂故意混淆概念”、“连哄带蒙”等争议和嘲讽,也基本就从这开始。

但在我看来,Liteos未必是OpenHarmony 1.0最重要的核心,真正关键的点在于:

OpenHarmony 1.0具备与HarmonyOS跨设备通信的能力,并且架构上部分屏蔽了不同系统不同设备的接口。

就我个人观点,就是这看似不起眼的liteos以及跨设备通信能力,是后续一切的起点。

2、鸿蒙2.0/OpenHarmony 2.0——开发工具的起步和“套壳”的尾声

就我个人观察,OpenHarmony 2.0相比1.0上了一个台阶。

OpenHarmony 2.0支持Linux内核,API版本更新到6.0,勉强可以说有一个复杂系统的架子了。

更重要的是,鸿蒙2.0/OpenHarmony 2.0时期,菊厂就已经掏出了自家的开发者套件

虽然此时OpenHarmony很多工具(尤其是测试调试方面)还不太全,但毫无疑问是迈出了关键的一步。

这件事的重要性,大家想想也都明白:

如果连开发套件都没有,第三方开发者谁会给你开发应用?生态建设也就无从谈起了。

从代码实现的角度看,客观来说OpenHarmony 2.0仍有许多不足:

因为没有沙箱机制、不支持64位Arm、没有硬件GPU渲染……这使得纯血OpenHarmony 2.0主要停留在开发板上,难以成为真正商用的手机系统。

没记错的话,也正是这段时期应用商店上架了一批鸿蒙版应用(汽车之家鸿蒙版等)

这些应用的确是基于鸿蒙的API 6.0代码实现的,理论上可以脱离安卓在其他操作系统独立运行,(实现方式有些类似于微信小程序)。

但就实际层面而言,这些应用在搭载鸿蒙2.0的手机上运行时,应该并没有完全脱离AOSP。

对于什么是“套壳”,不同人有不同定义。

如果以“能否脱离AOSP独立运行复杂应用”作为标准,那么鸿蒙2.0/OpenHarmony 2.0恐怕是最后一个“套壳”的大版本。

可以说,鸿蒙2.0/OpenHarmony 2.0即是开发工具的起步,也是“套壳”的尾声。

3、鸿蒙3.0/OpenHarmony3.0——技术层面的质变

如果说市场层面鸿蒙生态取得质变的关键节点,我认为大概率是预计明年铺开的HarmonyOS Next;

但如果要说技术层面鸿蒙系统的最关键突破,我认为是OpenHarmony3.0。

而且OpenHarmony3.X一直在逐步完善,3.0、3.1、3.2几个版本实际变化都不小。

OpenHarmony3.0时期,鸿蒙系统在代码层面迎来了一系列关键突破:

支持arm64平台, 具备GPU硬件渲染引擎,引入沙箱机制,完善安全补丁……

可以说从这一刻开始,OpenHarmony框架就已经基本完整,具备了复杂操作系统的主要能力,不考虑生态的话已经能满足手机端的需求

到OpenHarmony3.1时期,不仅开发者套件大幅完善,还带来一个比较显著的变化:

原生应用可以一次开发编译,安装到鸿蒙3.0和openharmony 3.1的开发板上

开发层面打通后,“一次开发、多端部署”的坑填了不少,我认为长期来看对构建生态意义重大。

奈何当时舆论不怎么关注这事,所以之前我还在知乎发想法,专门提了一句:

我倒是一直在关注这块,openharmony光我…​www.zhihu.com/pin/1631256719857696768

相比之下,这一时期OpenHarmony有一个比较直观的变化更加吸引眼球:

据我了解可能是搞定了很多驱动,OpenHarmony从此可以跑在小米6、一加6T等手机上

可能是因为比较直观,贴近消费者,B站相关视频一大堆,关注度反而提升了不少……

OpenHarmony来了!小米6&一加6同刷OpenHarmony教程_哔哩哔哩_bilibili​www.bilibili.com/video/BV13o4y1H7Fj/?buvid=XYA0B40A8A38B37150CCF01DAB0BD0D6B8299&is_story_h5=false&mid=ZxG6K43PzvG0x7f5sUxIQQ%3D%3D&p=1&plat_id=114&share_from=ugc&share_medium=android&share_plat=android&share_session_id=888d6cf2-d087-4b70-9d6e-a47bdc16d60b&share_source=COPY&share_tag=s_i&timestamp=1691369022&unique_k=L7Uh6xr&up_id=522676659​编辑

其实到这一步,但凡稍微认真关注这个领域的都能感受到“套壳”、“营销”等言论的荒谬:

考虑到生态支持,鸿蒙建设早中期需要兼容AOSP,这不是从一开始就说过吗?

当初在争论是否为“套壳”时,不少人明确提出的标准不就是“能脱离AOSP独立运行并支持复杂应用”吗?

现在OpenHarmony不仅能运行、支持天气、购物、计算器等应用,甚至还能搭载到小米6等各类设备上,这还有什么可争的?

4、鸿蒙4.0/OpenHarmony 4.0——发令枪响前的最后蓄势

既然OpenHarmony3.0已经把架子搭好了,后续的工作就是持续完善和生态推进。

OpenHarmony3.0时期,开发者套件只能说该有的都有,但一些细节和功能还不太完善。

如果鸿蒙原生应用要想全面铺开,开发者套件必须做到全面覆盖,满足绝大多数开发需求。

鸿蒙4.0/OpenHarmony 4.0时期(其实也就是现在),开发套件完善工作基本做的差不多了。

甚至于,B站还有开发者做出了Openharmony版的B站,并将其安装在华为手机上。

(手机上鸿蒙OS一直有Openharmony,如果能装OH应用并运行还不能证明所谓“套壳”的荒谬,我也无话可说)

安装包、代码实现以及手机上的浏览效果,B站就有:

https://b23.tv/pJLECYz​b23.tv/pJLECYz

所以到OpenHarmony 4.0时期,技术上的核心问题其实都解决的差不多了。

我个人认为,搭载鸿蒙4.0的手机理论上都能升级到HarmonyOS NEXT。

就我在开发者大会的了解,剩下的工作可能有两大方向:

一方面,在系统底层替换的过程中,生态是最核心的问题。

目前手机上不要说第三方,连菊厂自家应用大多还是基于AOSP。

鸿蒙原生应用有,但不多。

随着“重复造轮子+部分优化”的工作逐步完善,未来肯定是要切换的,HarmonyOS NEXT发布一定程度上就是要推进这件事。

涉及到各类应用开发者,可想而知生态切换将是相当艰难的过程。

不过就我跟业内人士交流的情况看,这事的难度倒也没有很多人想象的那么高。

移动互联网生态已经高度成熟,绝大多数人的绝大多数时间都消耗在Top 100/200应用里,这些主流应用背后其实就那么几个巨头。

而且就目前信息来看,基本已经谈的差不多了。

另一方面,“一次开发、多端部署”的开发套件还需要持续推进。

参加开发者大会过程中,我跟工作人员聊过这方面。

针对这方面,鸿蒙生态推出了ArkUI开发框架、ArkTs语言等等。

据我了解,采用对应框架后“一次开发、多端部署”已经高度可用了。

针对不同设备UI还是需要有一些手动调整,但总体来说多设备适配能节省不少操作。

当时我还特意问了一句:既然未来会有底层切换,如何保证开发工作的延续性?

时间关系没有聊特别深,我理解是采用ArkUI开发框架会调用鸿蒙的API,就能够屏蔽掉底层的一些区别,开发者更多还是关注上层的代码实现。

总而言之,无论网络上怎么说,鸿蒙生态一直在推进建设,相关成果正逐步显现。

甚至不止手机/平板/穿戴,据我了解鸿蒙PC的计划也没有放弃。

未来生态全面切换的时刻,菊厂内部私下聊天时称之为“发令枪响”。

就目前信息来看,鸿蒙4.0/OpenHarmony 4.0很可能是发令枪响前的最后蓄势。

5、鸿蒙5.0/HarmonyOS NEXT——容器方案和一劳永逸二选一

其实到这一步,很多事情已经明朗化了。

菊厂已经联系国内头部大厂推纯血鸿蒙,业内很多人也都听到风声了。

目前看,不出意外的话明年大量主流应用就能完成鸿蒙版开发,OpenHarmony正式商用是顺理成章的事。

HarmonyOS NEXT具体实现方式,不外乎两种模式:

一种是把AOSP放入容器,进而能够继续兼容安卓应用,只是安卓应用性能会差一些;

另一种模式更加干脆彻底,反正麒麟芯片也回来了,直接把AOSP干掉就完了。

至于高通芯片的老手机,事已至此高通应该也开放了老款芯片的驱动接口,鸿蒙重写下相关驱动就行了。

从技术角度,很显然是第二种模式更简洁更彻底。

但从市场角度,我认为1~2年的过渡期内采用第一种模式可能性更大。

这是因为,虽然Top100/Top200应用足够覆盖普通人绝大多数需求,但人的消费习惯往往有肥尾性

Top2000之外的每个应用覆盖的人群都不多,但可能不少人都有那么一两个小众应用时不时派上用场。

这不是谈妥最头部的巨头就能解决的问题,而是大量中小企业软件团队的开发能力所限,短期内很难快速开发出鸿蒙版。

所以我认为,HarmonyOS NEXT推广过程中,很可能存在一段时间的过渡期。

过渡期内菊厂手机大概率是HarmonyOS NEXT为核心,AOSP放入容器。

届时主流应用应该已经适配鸿蒙,统一推送和强制代码审核后体验应该会有明显提升,少部分小众应用容器化后体验少许下降也就不太有所谓了。

总而言之,各家互联网大厂适配鸿蒙的消息,业界基本都已经传开了。

菊厂这套系统重构、生态渐进的方式,我认为目前看基本确定可以走通。

虽然可能存在1~2年的过渡期,虽然出海还有困难,但鸿蒙生态爆发式增长的未来已经不远了。

仅供参考!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06.C2W1.Auto-correct

往期文章请点这里 目录 OverviewAutocorrectWhat is autocorrect?How it works Building the modelMinimum edit distanceMinimum edit distance algorithmMinimum edit distance Part 2Minimum edit distance Part 3 往期文章请点 这里 Overview 本周学习目标:…

Vue 使用 @click 绑定点击事件

https://andi.cn/page/621505.html

oracle数据库默认表空间详解

文章目录 oracle数据库默认表空间列表 oracle数据库默认表空间列表 系统表空间(System Tablespace) 系统表空间包含了系统级别的元数据,如数据字典、系统表和存储过程等。例如SYSTEM表空间用于保存数据库的数据字典、PL/SQL程序的源代码和解释…

通信协议_Modbus协议简介

概念介绍 Modbus协议:一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De f…

04.C1W3.Vector Space Models

往期文章请点这里 目录 Vector Space ModelsWord by Word and Word by DocWord by Document DesignWord by Document DesignVector Space Euclidean DistanceEuclidean distance for n-dimensional vectors Euclidean distance in PythonCosine Similarity: IntuitionCosine S…

验证回文串-string题目

用双指针&#xff0c;left right从两头往中间对比&#xff0c;不是字母的都略过&#xff0c;比的时候化成小写字母 125. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool isPalindrome(string s) {if(s.size() < 1)return true;int left …

vue-org-tree搜索到对应项高亮展开

效果图&#xff1a; 代码&#xff1a; <template><div class"AllTree"><el-form :inline"true" :model"formInline" class"demo-form-inline"><el-form-item><el-input v-model"formInline.user&quo…

Git详细安装和使用教程

文章目录 准备工作-gitee注册认识及安装GitGit配置用户信息本地初始化Git仓库记录每次更新到仓库查看及切换历史版本Git忽略文件和查看文件状态Git分支-查看及切换Git分支-创建分支Git分支-合并及删除分支Git分支-命令补充Git分支-冲突需求: 准备工作-gitee注册 传送门: gite…

zabbix 与 grafana 对接

一.安装 grafana 1.初始化操作 初始化操作 systemctl disable --now firewalld setenforce 0 vim /etc/selinux/config SELINUXdisabled 2.上传数据包并安装 cd /opt grafana-enterprise-9.4.7-1.x86_64.rpm #上传软件包 yum localinstall -y grafana-enterprise-9.4.7-1…

Django QuerySet对象,exclude()方法

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 exclude()方法&#xff0c;用于排除符合条件的数据。 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts import render from .models import Postdef index(re…

身边的故事(十四):阿文的故事:再买房

短短的一年多时间里&#xff0c;阿文仿佛从人生低谷完全走出来了。各种眼花缭乱的操作和处理事情方式让人觉得不可思议&#xff0c;是不是一个人大手大脚花钱惯了&#xff0c;让他重新回到艰苦朴素的日子是不是比死都难受呢&#xff1f;又或者像我这种靠勤勤恳恳的打工人是无法…

SpringMVC常见的注解

一、Spring MVC Spring Web MVC是基于ServletAPI构建的原始web 框架&#xff0c;一开始就包含在Spring 框架中&#xff0c;通常被称为“Spring MVC”。 1.MVC 是什么&#xff1f; MVC(Model、View、Controller&#xff09;是软件工程中的一种软件架构设计模型。它把软件系统分…

基于深度学习LightWeight的人体姿态之行为识别系统源码

一. LightWeight概述 light weight openpose是openpose的简化版本&#xff0c;使用了openpose的大体流程。 Light weight openpose和openpose的区别是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

Flink SQL kafka连接器

版本说明 Flink和kafka的版本号有一定的匹配关系&#xff0c;操作成功的版本&#xff1a; Flink1.17.1kafka_2.12-3.3.1 添加kafka连接器依赖 将flink-sql-connector-kafka-1.17.1.jar上传到flink的lib目录下 下载flink-sql-connector-kafka连接器jar包 https://mvnreposi…

python实现接口自动化

代码实现自动化相关理论 代码编写脚本和工具实现脚本区别是啥? 代码&#xff1a; 优点&#xff1a;代码灵活方便缺点&#xff1a;学习成本高 工具&#xff1a; 优点&#xff1a;易上手缺点&#xff1a;灵活度低&#xff0c;有局限性。 总结&#xff1a; 功能脚本&#xff1a;工…

找不到x3daudio1_7.dll怎么修复?一招搞定x3daudio1_7.dll丢失问题

当你的电脑突然弹出提示&#xff0c;“找不到x3daudio1_7.dll”&#xff0c;这时候你就需要警惕了。这往往意味着你的电脑中的程序出现了问题&#xff0c;你可能会发现自己无法打开程序&#xff0c;或者即便打开了程序也无法正常使用。因此&#xff0c;接下来我们要一起学习一下…

07浅谈大语言模型可调节参数tempreture

浅谈temperature 什么是temperature&#xff1f; temperature是大预言模型生成文本时常用的两个重要参数。它的作用体现在控制模型输出的确定性和多样性&#xff1a; 控制确定性&#xff1a; temperature参数可以控制模型生成文本的确定性&#xff0c;大部分模型中temperatur…

1、Java入门(cmd使用)+ jdk的配置

文章目录 前言一、常见的CMD命令1 盘符+冒号:D:---- 切换到D盘根目录下(注意要英文冒号才行)2 查看目录下内容dir --- 查看当前目录下的所有内容(包括文件夹、各种文件、exe程序、隐藏文件等所有都会查看到)dir 目录名(或路径)3 cd 目录(或者路径)--- 进入到指定目录…

探索人工智能在电子商务平台与游戏发行商竞争中几种应用方式

过去 12 年来&#xff0c;电脑和视频游戏的发行策略发生了巨大变化。数字游戏的销量首次超过实体游戏的销量 在20132020 年的封锁进一步加速了这一趋势。例如&#xff0c;在意大利&#xff0c;封锁的第一周导致数字游戏下载量 暴涨174.9%. 展望未来&#xff0c;市场有望继续增…

【若依前后端分离】通过输入用户编号自动带出部门名称(部门树)

一、部门树 使用 <treeselect v-model"form.deptId" :options"deptOptions" :show-count"true" placeholder"请选择归属部门"/> <el-col :span"12"><el-form-item label"归属部门" prop"dept…