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

如何看待鸿蒙HarmonyOS?

鸿蒙系统,自2019年8月9日诞生就一直处于舆论风口浪尖上的系统,从最开始的“套壳”OpenHarmony安卓的说法,到去年的不再兼容安卓的NEXT版本的技术预览版发布,对于鸿蒙到底是什么,以及鸿蒙的应用开发的讨论从来没停止过。
这次我们就从一个鸿蒙开发的角度来了解一下鸿蒙,学习一下鸿蒙应用的开发。

  1. 了解HarmonyOS是什么
  2. 华为设备市场占有率
  3. 鸿蒙开发的优势与劣势

1,了解HarmonyOS是什么

首先我们需要知道什么是应用系统,移动端主流有安卓与苹果系统;电脑端window,mac与linux系统;系统是实现人与互联网交互而形成的一个生态。从这个方面来看HarmonyOS从作用与定义上似乎与安卓,苹果本质上并无区别;
然而HarmonyOS也有其余系统所不能相比的优势:一次开发,多端部署
在这里插入图片描述

安卓与苹果的开发者们应该深有体会,都是手机操作系统,安卓用的是Java、Kotlin和C++等开发语言;而苹果用的是Objective-C;不仅开发语言上大有不同,相互制作的应用也并不互通,这意味着同一款手机app在两个系统中必须针对不同系统开发相应的应用。同时,手机是手机,电脑是电脑,电脑还得单独去开发PC端。导致这个问题的原因很复杂,不得不说当初互联网发展之初,美国的各大互联网厂商苹果,微软之间都想自己来制定相关的行业标准;同时,移动设备的发展也十分迅速,遥想十几年前,你跟别人说以后手机是触摸的,不仅网速超快,连功能都不比电脑差,估摸也是没人信的。

HarmonyOS系统的出现解决了对于不同设备端需要开发多套代码的问题。原本要解决这个问题是十分困难的,不仅要在软件中有很强的研发能力,还要能自己在硬件设备中有成熟的体系。不得不说,华为在这一块的确跑在了国内互联网大厂之前。按照鸿蒙白皮书上的构思,未来我们用鸿蒙开发的应用不仅可以在使用鸿蒙系统的手机上使用,还能在使用鸿蒙系统的电脑,智能手表,ipad,智能耳机等跨端设备上正常使用。

一套代码跑多端是任何公司都没办法拒绝的,它可以极大的缩减企业的开发成本;但是其中仍存在一些问题,企业愿不愿意花费成本来进行鸿蒙开发是由市场决定的,华为的市场占有率越高,企业对鸿蒙的接受度也就越高;

2,华为设备市场占有率

全球手机出货量
在这里插入图片描述

可以看出Android(80%)和iOS(20%)瓜分了天下。
图上没有华为,它被归入了Others里。
点击查看数据来源

再看另一家的统计数据

在这里插入图片描述

华为仅占5%
点击查看数据来源

第三家

在这里插入图片描述
点击查看数据来源

虽然网站之间的统计数据有所差异,但仍可以从中得出结论,华为在全球手机市场中十市场占有率并不高

华为国内手机市场占有率

在这里插入图片描述
点击查看数据来源

到2023年第三季度,华为在国内市场占有率为23%,接近四分之一;

华为手机设备的市场占有率并不等于鸿蒙系统市场占有率

各大系统市场占有率
在这里插入图片描述

点击查看数据来源

从统计数据中可以看出,Android与IOS系统占据了全球移动端系统99%以上的市场份额,鸿蒙系统依旧归纳在other中。

再细分移动端市场

在这里插入图片描述

点击查看数据来源

HarmonyOS截至到2024年仅占4%,较2023年上涨1%

国外

华为手机2023年国内市场销售占比
在这里插入图片描述
点击查看数据来源

从统计数据中可以看出,在国内华为手机市场份额在不断上升,从2022年的10.3%上涨到2023年的13.9%。

华为2023年年报所展示的区域视角

在这里插入图片描述

点击查看数据来源

由此可见,鸿蒙系统的机会在国内,有国家政策的扶持,众多华为的坚定支持者。

3,鸿蒙开发的优势与劣势

优势
1,市场需求大:按照鸿蒙白皮书中的描述,鸿蒙系统的出现将会产生大量的新兴技术岗位,各大公司的手机端应用将不得不兼容鸿蒙系统;
2,技术先进:鸿蒙系统采用了先进的微内核架构和分布式技术,具有高性能、低功耗、跨平台等优势,学习鸿蒙开发将有助于掌握先进的技术栈
3,生态完善:华为在鸿蒙系统的生态建设上投入了大量资源,学鸿蒙开发将有更多的开发工具、社区支持和合作伙伴。
在这里插入图片描述

截至2024年6月,鸿蒙开发薪资目前还算是较为可观的。

劣势:

1,技术门槛高:鸿蒙系统涉及的技术较为复杂,需要开发者具备较高的技术水平和学习能力。学习鸿蒙开发需要投入更多的时间和精力。

2,竞争激烈:随着智能设备市场的不断发展,操作系统的竞争也愈发激烈。微软、谷歌等巨头也在不断更新和完善自己的操作系统,开发者需要不断提升自己的竞争力。

相关文章:

如何看待鸿蒙HarmonyOS?

鸿蒙系统,自2019年8月9日诞生就一直处于舆论风口浪尖上的系统,从最开始的“套壳”OpenHarmony安卓的说法,到去年的不再兼容安卓的NEXT版本的技术预览版发布,对于鸿蒙到底是什么,以及鸿蒙的应用开发的讨论从来没停止过。…...

【论文复现|智能算法改进】一种基于多策略改进的鲸鱼算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】 2.改进点 混沌反向学习策略 将混沌映射和反向学习策略结合,形成混沌反向学习方法,通过该方 法…...

yarn安装配置及使用教程

Yarn 是一款 JavaScript 的包管理工具,是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具,它提供了确定性、依赖关系树扁平化等特性,并且与 npm 完全兼容。以下是 Yarn 的安装及使用教程: Yarn 安装…...

有那么点道理。

...

蔚蓝资源包和数据分析

代码如下 /* * COMPUTER GENERATED -- DO NOT EDIT* */#include <windows.h>static FARPROC __Init_Fun_2__; int __RestartAppIfNecessary__Fun() {return 0; } int Init_Fun() {__Init_Fun_2__();return 1; }static FARPROC __GameServer_BSecure__; static FARPROC _…...

MySQL----利用Mycat配置读写分离

首先确保主从复制是正常的&#xff0c;具体步骤在MySQL----配置主从复制。MySQL----配置主从复制 环境 master(CtenOS7)&#xff1a;192.168.200.131 ----ifconfig查看->ens33->inetslave(win10)&#xff1a;192.168.207.52 ----ipconfig查看->无线局域网适配器 WLA…...

【科学计算与可视化】2. pandas 基础

1. 安装 Pandas 首先&#xff0c;确保你已经安装了 Pandas。你可以使用以下命令安装&#xff1a;pip install pandas 2. 导入 Pandas 在开始使用 Pandas 之前&#xff0c;你需要先导入它&#xff1a;import pandas as pd 3. 创建数据结构 Pandas 主要有两种数据结构&#…...

医学记录 --- 腋下异味

逻辑图地址 症状 病因 汗液分泌旺盛&#xff1a;由于天气炎热、活动出汗、肥胖等因素导致汗液分泌旺盛&#xff0c;可引起腋下有异味表现。在这种情况下&#xff0c;建议保持身体清洁&#xff0c;特别是在炎热和潮湿的环境下。可以使用抗菌洗液、喷雾或霜剂来帮助减少细菌滋…...

【Linux】进程间通信_1

文章目录 七、进程间通信1. 进程间通信分类管道 未完待续 七、进程间通信 进程间由于 进程具有独立性 &#xff0c;所以不可以直接进行数据传递。但是我们通常需要多个进程协同&#xff0c;共同完成一件事&#xff0c;所以我们需要进程间通信的手段。进程间通信的本质就是先让…...

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动

1. 概述 上一章节Qemu篇我们已经实现了我们SOC的power reset和 power down 寄存器,本章节我们就在Linux driver中去实现它。 2. Linux kernel 访问其他节点 Linux kernel中有一种机制,就是在driver中访问其它设备树节点的信息,了解设备树的应该都知道,每个设备节点都有一…...

如何在Java中进行单元测试?

如何在Java中进行单元测试&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Java中进行单元测试&#xff0c;这是一项确保代码质…...

代码随想录训练营Day32

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、买卖股票的最佳时机2二、跳跃游戏三、跳跃游戏2四、K次取反后最大化的数组和 前言 今天是跟着代码随想录刷题的第32天&#xff0c;主要是学了买卖股票的最…...

代码随想录训练营Day31

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、分发饼干二、摆动序列三、最大子树组合 前言 今天是跟着代码随想录刷题的第31天&#xff0c;主要学习了分发饼干&#xff0c;摆动序列和最大子树组合这三个…...

Docker 多阶段构建

多阶段构建 目录 尝试创建 Dockerfile构建容器镜像运行 Spring Boot 应用程序使用多阶段构建额外资源 在传统构建中&#xff0c;所有构建指令都在一个构建容器中顺序执行&#xff1a;下载依赖项、编译代码、打包应用程序。所有这些层最终都在你的最终镜像中。这种方法虽然可行…...

Linux应急响应——知攻善防应急靶场-Linux(1)

文章目录 查看history历史指令查看开机自启动项异常连接和端口异常进程定时任务异常服务日志分析账户排查总结 靶场出处是知攻善防 Linux应急响应靶机 1 前景需要&#xff1a; 小王急匆匆地找到小张&#xff0c;小王说"李哥&#xff0c;我dev服务器被黑了",快救救我&…...

基于CDMA的多用户水下无线光通信(1)——背景介绍

研究生期间做多用户水下无线光通信&#xff08;Underwater Optical Wireless Communication&#xff0c;UOWC&#xff09;&#xff0c;写几篇博客分享一下学的内容。导师给了大方向&#xff0c;让我用直接序列码分多址&#xff08;Direct Sequence Code Division Multiple Acce…...

vlan三层交换技术--交换机--(自作)

...

基于springboot websocket和okhttp实现消息中转

1、业务介绍 消息源服务的消息不能直接推给用户侧&#xff0c;用户与中间服务建立websocket连接&#xff0c;中间服务再与源服务建立websocket连接&#xff0c;源服务的消息推给中间服务&#xff0c;中间服务再将消息推送给用户。流程如下图&#xff1a; 此例中我们定义中间服…...

@PostConstruct 注解的方法用于资源的初始化

PostConstruct 是 Java EE 5 引入的一个注解&#xff0c;主要用于依赖注入完成之后&#xff0c;需要执行的方法上。这个注解的方法会在依赖注入完成后自动被容器&#xff08;如 EJB 容器或 Spring 容器&#xff09;调用&#xff0c;并且只会被调用一次。 PostConstruct 注解的…...

(一)SvelteKit教程:hello world

&#xff08;一&#xff09;SvelteKit教程&#xff1a;hello world sveltekit 的官方教程&#xff0c;在这里&#xff1a;Creating a project • Docs • SvelteKitCreating a project • Docs • SvelteKit 我们可以按照如下的步骤来创建一个项目&#xff1a; npm create s…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...