鸿蒙OS诞生的背景
想要成为鸿蒙开发工程师之前我们首先就要了解下鸿蒙OS诞生的背景,我们知道操作系统是构建数字化社会的基石,但长期以来一直被国外厂商垄断。国产手机多年来一直采用iOS或基于安卓系统进行二次开发的策略,国产PC一直采用Windows或MacOS。2019年五月,华为被美国商务部工业与安全局(BIS)列入”实体名单”,这一决定是基于美国政府对国家安全和外交政策的担忧,认为华为的业务可能涉及到与美国国家安全有关的问题。实体名单的制裁导致了一系列对华为的贸易限制,其中包括禁止美国公司向华为提供一些关键技术和产品,尤其是涉及到芯片和软件等领域。
以制裁事件为导火索,童年五月谷歌暂停了向华为提供部分Android服务和技术支持,这其中就包含:
Google Play服务限制: 华为失去了谷歌提供的一些核心服务,包括Google Play商店、Gmail、Google Maps等。这意味着新发布的华为设备不能预装这些服务。
Android更新受限: 华为的新设备无法获得Android操作系统的新版本更新,因为这些更新通常依赖于与Google合作的技术。
开源Android: 华为仍然可以继续使用Android的开源版本(AOSP),但失去了与Google相关的一些专有服务和支持。
什么是AOSP?
AOSP
是 Android Open Source Project 的缩写,中文翻译为 “Android 开源项目”。AOSP 是由 Google 主导的一个开源项目,它的源代码是开放的,任何人都可以查看、下载和修改。这种开放性允许开发者、设备制造商和社区参与 Android 操作系统的开发。旨意就是提供一个开放、自由的移动操作系统,供手机、平板电脑和其他移动设备使用。
AOSP
中包含了 Android 操作系统的基础部分,但不包括 Google 的专有服务,如 Google Play 商店、Gmail 等。这意味着设备制造商如果不与 Google 合作,可以选择在其设备上使用 AOSP,但用户将无法直接访问 Google 的一些服务。
在被制裁之前华为CEO余承东在接受德国媒体采访时表示:”现有操作系统(Android)仍是首选,如果不能继续使用现有的系统,就会做好启动B计划的准备。” 基于以上原因B计划”鸿蒙”被推到了台前。
2019年5月底,华为正式申请”华为鸿蒙”商标,”鸿蒙”一词才进入大众的视野。但说到鸿蒙OS,华为布局很早就开始了。2012年 在华为 “2012诺亚方舟实验室”专家座谈会上,任正非提出要做终端操作系统,以防范于未然,要在“断了我们粮食的时候,备份系统要能用得上”,成为华为研发“鸿蒙”操作系统的起点。公开的资料显示,同年华为就在芬兰,创建了自己的手机操作系统研发团队。
简单科普下:
华为2012实验室是华为的总研究组织,在华为2012实验室旗下,有6大部门,分别为中央研究院、中央硬件工程院、中央软件院、诺亚方舟实验室、海思半导体、研发能力中心!任正非曾经在一次内部讲话中打比方,希望当华为遇到危机时,2012实验室能成为诺亚方舟,带领华为走出困境。
2012实验室旗下有很多以世界知名科学家或数学家命名的神秘实验室,包括谢尔德实验室、高斯实验室、欧拉实验室、图灵实验室等。
- 高斯实验室:打造业界领先的数据库管理系统。
- 谢尔德实验室:以网络安全、终端安全、云虚拟化安全、密码算法为主要研究方向的实验室。
- 欧拉实验室:自有操作系统研发中心。
- 图灵实验室:嵌入式处理器内核架构研究部门。
华为披露了2022年年报,研发费用支出为 1615亿元人民币 ,占其全年收入的25.1%,这下大家知道钱都花在哪了吧!
鸿蒙OS的发展历程
鸿蒙1.0
2017年,鸿蒙OS内核1.0完成技术验证,并逐步开展内核2.0研发。
2018年,鸿蒙内核2.0已被应用于终端TEE。
2019年,鸿蒙OS1.0版本正式亮相 ,1.0版本基于开源框架,其关键模块均为自研,同时具备分布式架构、方舟编译器、确定时延引擎、TEE微内核形式化验证以及多终端开发IDE(Beta)。
2020年,鸿蒙OS升级至2.0版本 ,此次升级中内核及应用框架均为自研,同时增加了通用微内核架构、高性能图形栈、多语言统一编译功能、多终端开发IDE正式版等等…。
2021年5月,HarmonyOS2.0进入第二轮公测,5月18日,华为在上海举办鸿蒙伙伴峰会,华为宣布鸿蒙系统硬件生态品牌升级为HarmonyOS Connect(鸿蒙智联)。鸿蒙智联是为万物互联时代打造的智能终端操作系统,它包含三大基因,不同设备同一语言;硬件互助,形成超级终端;服务跨端流转,脱离单设备依赖。
2021年6月,华为HarmonyOS将正式开始规模推送, 保有量较大的Mate40系列、P40系列、Mate30系列、MateX2等机型即将开始使用鸿蒙系统。
2022年7月27日,HarmonyOS 3.0正式版发布。HarmonyOS 3.0除了对已知问题进行修复等基本操作外,剔除了HarmonyOS 2.0的臃肿部分,在底层开发结构上剔除了安卓开源代码,在隐私安全、交互设计、性能表现、多设备互联互通方面实现了全面提升。
2023年8月4日,华为正式发布两个版本 HarmonyOS 4.0 和 HarmonyOS Next开发者预览版。HarmonyOS 4.0 主要说了两件事4.0 将会变得更流畅更好用。
在发布会上,重磅消息纯正鸿蒙操作系统时代要来了。给明年的鸿蒙准备了HarmonyOS NEXT开发者版它系统底座全线自研,砍掉传统的AOSP代码,仅支持鸿蒙内核和鸿蒙系统的应用。不在兼容安卓,Android APK 将不允许在 HarmonyOS NEXT 上运行。
关于HarmonyOS 和 HarmonyOS Next版本,大家不要搞混淆了,你可以用下面等式简单类比下:
HarmonyOS 4.0 = AOSP + HMS + OpenHarmony (兼容安卓生态,外挂了AOSP代码)
未来 HarmonyOS Next = HMS + OpenHarmony
PS:
AOSP
:Android Open Source Project,Android开放源代码项目。
HMS
:Huawei Mobile Services,包含华为帐号、推送、支付等一票华为特有的服务,对标谷歌的GMS。
- OpenHarmony :HarmonyOS的开源项目,对标AOSP
华为开发者大会2023
“在根技术和软件工程能力的加持下,鸿蒙生态将全面加速。我们理解一套成熟的操作系统,需要有坚实的底座,繁荣的生态和极致的体验。截止当前,鸿蒙底座已经有一亿多行代码,2万的api,7亿多的生态设备,鸿蒙底座已经基本成熟,用户体验方面,harmonyOS经过四个大版本的迭代,已经构建了具有鸿蒙差异化特征的用户体验。如果我们把构建一个成熟的操作系统比作三大战役的话,那么我们现在已经胜利的打完了两大战役,接下来对于鸿蒙生态的伙伴而言,最重要的一个战役就是建强鸿蒙的应用生态。生态成则鸿蒙成。为此我们今天带来了一份特别的礼物,HarmonyOS NEXT开发者预览版,这个版本将搭载全新的底座技术和开放能力开发套件,希望它能够搭建起来开发者链接的桥梁,携手构建一个繁荣的鸿蒙生态,让我们一起携手干大事。”
课程介绍:
2019年HarmonyOS正式面世,至今鸿蒙已成长了4年,截至2023年8月,鸿蒙生态设备数量超过 7亿台,根据Counterpoint最新数据,2023年第二季度,在中国智能手机市场,鸿蒙操作系统的份额达到10%,较上年同期增加了6个百分点。短短4年间,鸿蒙迅速成为Android和iOS之后的“第三大手机操作系统”。
自9月25日华为宣布鸿蒙原生应用全面启动以来,多家互联网公司发布多个和鸿蒙有关的岗位,包括美团、网易、今日头条、钉钉、小红书、招商银行、携程旅行、58同城等。据估计,鸿蒙开发的人才缺口或将达到百万规模。
课程大纲
【第一阶段 HarmonyOS介绍】
【第二阶段 HarmonyOS环境搭建】
【第三阶段 应用程序入口UIAbility】
【第四阶段 ArkTS开发语言】
【第五阶段 HarmonyOS ArkUI组件】
【第六阶段 HarmonyOS ArkUI动画】
【第七阶段 HarmonyOS ArkUI-Web组件】
【第八阶段 HarmonyOS 数据存储】
【第九阶段 HarmonyOS 通知提醒】
【第十阶段 HarmonyOS 服务上架】
【第十一阶段 HarmonyOS 元服务】
【第十二阶段 HarmonyOS-严选商城APP】
课程亮点
- 1.马士兵鸿蒙研究团队精细打磨,PPT图文结合,深入浅出;
- 2.拒绝纸上谈兵 严选商城/元服务 从代码开发到 AppGallery Connect 应用上架。
- 3.无需Android开发基础,任何开发人员都可掌握。
适合人群大学生:
- 1.学习鸿蒙开发做毕设、做项目,丰富简历;I
- 2.IT开发者:拓展职业边界,获得更高薪;
- 3.鸿蒙爱好者:进阶资深玩家,实现突破;
其他问题:
Q1: 课程是直播还是录播?
答:课程是全程直播
Q2: 课程什么时候更新完成?
答:鸿蒙课程总共11个技术板块 + 1 个严选商城的项目 预估 (技术板块2个月 + 项目实战2个月)
Q3: 如果学习遇到问题,怎么个解答方法呢?
答:学习过程中遇到了问题 可以直在马士兵学习平台提问由专业老师答疑,复杂问题也可以由班主任老师拉个私人答疑小群,1对1指导。
Q4:是用ArkTS开发的吗?
答:该课程采用ArkTS,目前最新API9.0版本,后续会持续更新,兼容HarmonyOSNext开发
Q5: 学习该课程的前置学习内容是什么?
答:温馨提示,这个课程不适合0基础同学,需要有任意编程语言基础。
谢谢站长提供了这么好的东西