关于OpenHarmony系统,我们该如何高效学习

简介: 终于迎来了最后一篇,这是OpenHarmony专栏的终结篇,当然学习OpenHarmony的步伐不会停止,贯彻终身学习的宗旨(调皮.jpg),这一篇谈谈我是如何学习Open Harmony的,正文即将开始~~

@TOC

一、前言

终于迎来了最后一篇,这是OpenHarmony专栏的终结篇,当然学习OpenHarmony的步伐不会停止,贯彻终身学习的宗旨(调皮.jpg),这一篇谈谈我是如何学习Open Harmony的,正文即将开始~~

二、环境搭建

这部分说实话,是可能学习过程中最大的拦路虎,可能你会因为环境搭建浪费一个又一个小时,开发者所能做的就是以不变应万变,相信我们之后的学习,也需要安装各种应用,这部分最高效的做法不是立刻搜索教程,首先应该看看官方教程,然后看看更新时间

在这里插入图片描述

上面这个安装环境更新时间在21年12月30日,距离现在快3个月了,可靠性比较一般,你可能安装过程还会出现其他问题,这个官网可能存在更新不及时的问题,由于这个文档主要是面向一般的开发者,所以更新的没有gitee参考的这个文档更新快,这个由各种参与维护的开发者提供的,即官方文档很多是由这些开发者贡献的,这部分参考价值比较高,出现问题优先在官方文档寻找答案,再次一点就可以去例如c站看看最新教程,

在这里插入图片描述

要注意几点,首先博主等级,一级就算了,一般都是各种爬虫爬下来的文章然后发在c站,至少2级以上,然后就是时间,最好就是3个月以内的为最佳,时效性是非常关键的,过时的教程基本上已经失去参考价值,这部分经常的问题有以下几个

  • 网络受限
  • 内存受限
  • 环境变量配置(这部分现代IDE基本完成了一切)
  • 硬件受限
  • 路径有中文(这一点几乎每个ide都在强调的)

三、系统整体架构

学习一个操作系统,你可能觉得我在开玩笑,怎么可能学习一整个操作系统,这部分主要要掌握的就是架构即可,具体细节不需要了解太深,那你可能问,那学这些的具体作用,本质上宏观了解整个系统有助于提高你对问题的处理广度上非常有用,很多时候我们经常陷入一个问题的求解中,忘记往高处”看看“,当你的高度足够高时,很多问题不再是问题了

在这里插入图片描述

例如对于以上的官方文档主页,从目录你可以大体了解OpenHarmony的整体构成以及很多你所需要的内容,类似前三点和后三点你就可以在正式开始之前了解一下,还有这部分子系统这一块,可以按需进行了解这一块内容就比较多了,有些比较底层,例如内核子系统,驱动子系统,有些就是我们应用开发者需要比较了解的,例如方舟运行时子系统和JS-UI框架系统,当然有时间的话,可以有选择地过一遍,这部分遇到不懂地其实也关系,由于我们毕竟时间和精力有限,遇到问题能有大概地方向即可

在这里插入图片描述

四、具体各个部分学习

当进行具体内容地学习之前,需要明确自己地需求,不然你很有可能被官方文档的全而细的文档所劝退,所以建议进行需求的分析,比如假设我是个新手,我啥也不会(的确是个事实 调皮.jpg),此时官方的快速入门是一个不错的选择,至少它教你运行了一个程序,但有时不会那么幸运,此时最好的文档就是自己的需求,能够大大减少自己的检索文档量,例如我开发之前需要了解的就是包结构,我会选择看包结构的相关解析,这个文档相对而言比较旧一点,没更新全,这个可以去gitee上看更全的文档

在这里插入图片描述

进入这个阶段的学习,多敲代码,多试错是有帮助的,真正项目都是非常庞大,如果自己的基础不扎实的话,将会想当的痛苦。

五、完成之后的整合工作

这部分工作就像收获果实是相当的喜悦,例如应用开发的最后阶段就是打包签名,系统开发的最后阶段就是烧录系统到自己的开发板上,享受自己的开发成果的喜悦是无以言表的,这部分可能也是艰难的,这部分最终要正式在设备上运行,需要进行很多的验证,例如IDE自身的验证还有的就是实体的验证,很多时候我们并不需要进行多少工作,解决bug可能是花费最多的部分,这部分就可以充分应用自己的检索能力了,其他开发者可能遇到相同的问题。同时如果有更好的解决方案可以向官方提交自己的解决方法的文档。应用开发这块签名的这部分尤为重要(这里实现也比较的繁琐)

在这里插入图片描述

六、总结

通过这段时间的学习,我相信跟着我一起学习的应该可以自己开发一款OpenHarmony应用了,如果有能力的话为什么不参加这次由CSDN联合华为举办的OpenHarmony开发者大赛呢?期待我们能够同台竞技,加油,OpenHarmony的开发者!!!

目录
相关文章
|
NoSQL Java Linux
Linux C++ 后台开发:进BAT的学习路线
C++相较于其他编程语言而言,学习门槛略高,主因在于其学习路径不够明确,缺乏像Java那样丰富的学习资源。然而,在众多大型企业中,如腾讯、百度、阿里云、网易和华为等,C++岗位的需求量与Java相仿。以下是我个人的C++与Linux后端学习路线和阅读方法的分享,希望能为大家提供一些参考。
322 3
Linux C++ 后台开发:进BAT的学习路线
|
8月前
|
人工智能 缓存 Serverless
MCP Server 实践之旅第 3 站:MCP 协议亲和性的技术解析
本文将以 MCP Server 在函数计算平台的深度集成为研究载体,解构基于 SSE 长连接通信模型,剖析会话亲和、优雅升级等关键技术,揭示 Serverless 架构在 MCP 场景中的亲和性创新实践。
693 13
|
分布式计算 大数据 Spark
基于Docker搭建大数据集群(四)Spark部署
基于Docker搭建大数据集群(四)Spark部署
|
8月前
|
运维 安全 定位技术
PTP/GPTP主时钟服务器的应用​
在数字化时代,高精度时间同步对金融、工业自动化和电力系统等行业至关重要。"同步天下"旗下SYN2413型PTP时钟服务器(旗舰版)基于先进PTP技术,实现亚微秒级同步精度,支持多源时间参考和灵活网络架构,配备丰富接口。实际应用中,它帮助金融平台提升交易稳定性、优化汽车制造车间协同工作降低次品率,并提高智能电网故障处理效率,展现卓越性能与专业实力,助力行业数字化转型与创新。
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
638 1
|
机器学习/深度学习 自然语言处理 知识图谱
预训练模型(Pre-trained Models)
预训练模型是在大量文本数据上训练的模型,能捕捉语言的通用特征,通过微调适用于各种NLP任务。它们具备迁移学习能力,减少训练时间和资源需求,支持多任务学习,但需注意模型偏见和可解释性问题。常见模型有BERT、GPT等,广泛应用于文本分类、情感分析等领域。
1509 2
DFA与NFA的区别,由正规表达式构造DFA,以及DFA的相关化简
DFA与NFA的区别,由正规表达式构造DFA,以及DFA的相关化简
2160 1
DFA与NFA的区别,由正规表达式构造DFA,以及DFA的相关化简
|
存储 消息中间件 运维
使用Java实现分布式日志系统
使用Java实现分布式日志系统
|
人工智能 自然语言处理 算法
AI 应用之成本节约实践
本文探讨了如何避免高成本的模型微调,通过任务拆解和提示词调优实现业务目标。文中提到,当大语言模型不能直接满足需求时,微调涉及大量工作,包括数据准备、模型训练及GPU资源。为降低成本,作者提出了两步方法:1) 任务拆解,将复杂任务分解为简单子任务,利用模型优势处理部分;2) 提示词调优,优化输入以引导模型更高效地响应。虽然这可能不适用于所有情况,但能有效减少对模型微调的依赖。
715 1

热门文章

最新文章