鸿蒙系统进一步学习(一):学习资料总结,少走弯路

随着鸿蒙Next的计划越来越近,笔者之前的鸿蒙系统扫盲系列中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。

鸿蒙Next发布计划

所以这篇文章,就谈谈笔者认为比较合适的学习路径和一些资料的整理,若还有疑问,请给我留言,笔者会一一解答!

1.认清你的方向

鸿蒙开发其实是分两个方向的

1)应用级别的开发:类似于开发抖音、美团和拼多多这种app,它所用的开发语言是ets和C++为主;

2)系统设备级别的开发,就是让一个普通的设备,如何跑起来鸿蒙系统,它主要用的开发语言是C和C++,就是嵌入式开发板那套流程!

本篇讲的是鸿蒙应用的开发相关!下面的章节适合的是有一定开发基础,但是对鸿蒙应用开发并不了解的小白,如果有一定基础的朋友,可以直接从第三步走起!

2.视频学习资料+考证

对于小白来说,最好就是从视频看起,可以从原理上讲清楚,并且演示相对应的代码,节奏也不快,能够大大降低学习的门槛,这里推荐华为开发者平台的官方教程,讲的很浅显,细节也很多,适合入门:HarmonyOS第一课|应用开发视频教程学习|HarmonyOS应用开发官网,

简单的入门教程

这个官方教程页面除了教你如何写一些简单的代码,还有更多的主题课,帮你扩展一下知识,个人觉得非常不错!

主题课

PS:视频里的小姐姐和小哥哥还是很美很帅的!

学习上面的课程后,可以进入考证的页面:华为开发者学堂

证书列表

考试通过后的证书

考完后会获得相应证书,这个看个人意愿,其实这个证书没什么太大作用,只是对自己一个学习成果的一个总结吧

3.sample的参考

经过第2步,你已经不是一个小白了,有一定的知识基础了。就好像盖房子,已经打好了地基一样。诚如上面所说,视频教程讲的非常的浅显,能够帮你入门,大多数都是50行代码以内,如果想学习更多的知识,把楼盖高点,就得看一些优秀的代码怎么架构,怎么写了?

这里推荐的是Gitee的官方仓里面的示例代码:README_zh.md ·OpenHarmony/applications_app_samples - Gitee.com,这个里面的种类非常多

示例代码分类

往下滑动,会贴心的发现还有很多仿app的解决方案

行业解决方案的示例代码

这应该就是为生态做准备的,不要你从0写,先给你打个样,最近大家都说微信怎么还不适配,这个聊天应用应该就是为它准备的吧(我瞎猜的)。

这里多说两句吧:

1)从示例代码里,我们能看到,目前华为已经支持了api10了,但是我们的devEco里最多还是api9,参考的时候,注意api版本

2)注意分支,目前来看,4.1已经处于Beta阶段,稳定版本应该是4.0,如果要寻找低api版本示例代码的话,就要切分支到3.2,可以找到api9的实例(看这个样子,升级一个大系统版本,就会升级一起API版本,鸿蒙是个新东西,迭代应该很快)

目前的分支

4.模仿地去写,并且扩展功能

把第三步吃透了,基本上已经属于一个比较合格的开发了,实际过程中,当遇到问题,或者开发示例代码中没有的功能时候,还是得去查接口,这个时候推荐接口文档的网页:OpenAtom OpenHarmony,这里可以看到很多新的接口,基本属于工具类的网页,需要的时候查,对应的接口也有对应的用法,还是很好用的。

多说一句,这个网页不太稳定,如果加载的一页内容比较多的时候,可能会卡死一会...[捂脸]

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:像小白一样参考视频学习,像小白一样踏踏实实考试,然后照着别人的代码写一写,改一下,知道大概怎么回事,到实际开发的时候,还是得多参考一下api,这个网页不太稳定,可能会卡死一会,别操作太快。

如果还有其他问题,请给笔者留言,也可以关注我。希望对鸿蒙感兴趣的朋友,点个收藏给个赞,你们的支持是我不断创作的动力,带来更多简单朴实正确的科技知识!

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

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

相关文章

【Web】Redis未授权访问漏洞学习笔记

目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,也被称为数据结构服务器,它支持…

《Linux 简易速速上手小册》第5章: 用户与群组管理(2024 最新版)

文章目录 5.1 管理用户账户5.1.1 重点基础知识5.1.2 重点案例:创建一个新的开发者账户5.1.3 拓展案例 1:禁用用户登录5.1.4 拓展案例 2:设置账户到期 5.2 群组概念与管理5.2.1 重点基础知识5.2.2 重点案例:为项目团队设置群组5.2.…

MyBatis篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Mybatis?二、Mybaits 的优点三、MyBatis 框架的缺点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、什么…

TO B企业如何通过四个步骤构建高效的 PLG销售体系

在当今以客户为中心的市场环境中,产品引导增长(Product-Led Growth,PLG)模式对于TO B企业而言,不仅是一种趋势,更是实现可持续增长的关键策略。构建有效的 PLG销售体系 需要整合多个关键部分:客…

LayoutInflater源码解析及常见相关报错分析

在日常Android开发中,最经常使用的RecyclerView控件是大家都绕不开的,而编写其Adapter时更离不开LayoutInflater的调用。当然,如果你做这一行有些时日了,相信你对其使用一定是炉火纯青了。即使如此,我觉得LayoutInflat…

linux应用 进程间通信之信号量(POSIX)

1、前言 1.1 定义 POSIX信号量是一种用于同步进程之间对共享资源访问的机制。它允许进程在访问共享资源之前进行互斥和同步操作,以确保数据的一致性和正确性。POSIX信号量通常由一个整数值表示,可以进行原子增减操作,以及等待和通知操作。 …

Verilog刷题笔记29

题目: Create a 100-bit binary ripple-carry adder by instantiating 100 full adders. The adder adds two 100-bit numbers and a carry-in to produce a 100-bit sum and carry out. To encourage you to actually instantiate full adders, also output the ca…

《Linux 简易速速上手小册》第2章: 命令行的艺术(2024 最新版)

文章目录 2.1 基本 Linux 命令2.1.1 重点基础知识2.1.2 重点案例:整理下载文件夹2.1.3 拓展案例 1:批量重命名文件2.1.4 拓展案例 2:查找并删除特定文件 2.2 文件和目录管理2.2.1 重点基础知识2.2.2 重点案例:部署一个简单的网站2…

从零开始学howtoheap:理解fastbins的​unsorted bin攻击

how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:从零开始配置pwn环境:从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指…

政安晨:在Jupyter中【示例演绎】Matplotlib的官方指南(二){Image tutorial}·{Python语言}

咱们接着上一篇,这次咱们讲使用Matplotlib绘制图像的简短尝试。 我的这个系列的上一篇文章在这里: 政安晨:在Jupyter中【示例演绎】Matplotlib的官方指南(一){Pyplot tutorial}https://blog.csdn.net/snowdenkeke/ar…

【Java八股面试系列】JVM-类和对象加载过程

目录 类和对象的加载过程 类的生命周期 类的加载过程 加载 验证 准备 解析 初始化 类卸载 对象的加载过程 类和对象的加载过程 什么是类加载和对象加载? 类加载(Class Loading):这是指JVM在运行时将类的字节码文件加载到内存中的…

【5G NR】【一文读懂系列】移动通讯中使用的信道编解码技术-卷积码原理

目录 一、引言 二、卷积编码的发展历史 2.1 卷积码的起源 2.2 主要发展阶段 2.3 重要里程碑 三、卷积编码的基本概念 3.1 基本定义 3.2 编码器框图 3.3 编码多项式 3.4 网格图(Trellis)描述 四、MATLAB示例 一、引言 卷积编码,作为数字通信领域中的一项…

快速学习Spring

Spring 简介 Spring 是一个开源的轻量级、非侵入式的 JavaEE 框架&#xff0c;它为企业级 Java 应用提供了全面的基础设施支持。Spring 的设计目标是简化企业应用的开发&#xff0c;并解决 Java 开发中常见的复杂性和低效率问题。 Spring常用依赖 <dependencies><!-…

java之Maven

1. maven Maven是管理和构建java项目的工具 项目依赖资源(jar包)的管理,避免版本冲突统一项目结构项目构建&#xff0c;标准跨平台(Linux,window,MacOS)的自动化项目管理 2.maven依赖仓库 2.maven安装 maven安装视频教程 3. IDEA集成Maven 4. maven的依赖范围 5. maven生命…

可视化大屏:工作要干的好,也要汇报好,不然资源为啥向你倾斜。

有些友友们感受不到可是大屏的价值&#xff0c;认为没啥作用&#xff0c;这就是典型的下层思维&#xff0c;格局小了。 估计也没有当过领导或者管理层。可视化大屏的其他价值放在一边不说&#xff0c;就单纯这个汇报价值就十分巨大&#xff0c;包括对内和对外的汇报。 如何让…

【51单片机】DS18B20(江科大)

一、DS18B20温度传感器 1.DS18B20介绍 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点 测温范围 :- 55℃到125℃ 通信接口:1-Wire(单总线) 其它特征:可形成…

【lesson51】信号之信号处理

文章目录 信号处理可重入函数volatileSIGCHLD信号 信号处理 信号产生之后&#xff0c;信号可能无法被立即处理&#xff0c;一般在合适的时候处理。 1.在合适的时候处理&#xff08;是什么时候&#xff1f;&#xff09; 信号相关的数据字段都是在进程PCB内部。 而进程工作的状态…

【动态规划】【数学】【C++算法】1449. 数位成本和为目标值的最大数字

作者推荐 【深度优先搜索】【树】【图论】2973. 树中每个节点放置的金币数目 本文涉及知识点 动态规划汇总 LeetCode1449. 数位成本和为目标值的最大数字 给你一个整数数组 cost 和一个整数 target 。请你返回满足如下规则可以得到的 最大 整数&#xff1a; 给当前结果添加…

《UE5_C++多人TPS完整教程》学习笔记1 ——《P2 关于本课程(About This Course)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P2 关于本课程&#xff08;About This Course&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&…

使用 Windows 11/10 上的最佳 PDF 转 Word 转换器释放 PDF 的潜力

毫无疑问&#xff0c;PDF 是最好的文档格式之一&#xff0c;但就像其他格式一样&#xff0c;有时它们确实会带来一些限制。例如&#xff0c;在某些情况下&#xff0c;您可能想要将 PDF 转换为 Word。在这种情况下&#xff0c;您始终可以借助 PDF 到 Word 转换器的帮助。 为了说…