单丝不成线,独木不成林,一个社区想要衰弱蓬勃发展离不开社区参与者的继续奉献。而社区奉献点有很多种,本文以奉献 OpenAtom OpenHarmony(以下简称“OpenHarmony”)开发样例为例,围绕以下 5 个问题,带大家理解上手并参加社区奉献。
1. 如何参加社区?
2. 什么是开发样例?
3. 社区须要什么开发样例?
4. 如何开发样例?
5. 样例可能给“我”带来什么?
如何参加社区
参加社区次要分为如下两种形式:
• 提交 Issue
Issue 指的是一项待实现的工作,中文能够译为“问题”或“事务”,例如软件的 bug、性能倡议、待实现的工作、文档缺失的报告等。
• 提交 Pull Request
Pull Request(PR)是一种告诉机制。你批改了别人的代码,将你的批改告诉原来的作者,心愿他合并你的批改,这就是 Pull Request。
因而你能够认为 Issue 是公布社区工作的形式,PR 是实现社区工作的形式。既然是深度参加社区,必然是要做社区工作的“实现者”。
那么该如何提交 PR 呢?下面也说了提交 PR 其实就是提交本人的批改 / 新增的代码,是基于代码进行的,而代码则有如下 3 种提交形式:
• 文档 / 正文补充欠缺
• 开发样例提交
• OS 性能开发
3 种提交形式难度顺次递进,本文次要解说开发样例提交。
什么是开发样例
开发样例可分为如下两局部:
• API 应用范例的 Sample
针对各种 SDK API 进行开发的样例,开发者能够疾速相熟 OpenHarmony SDK 所提供的 API 和利用开发流程。
• 场景化 Demo
生存场景的解决方案样例。
开发者通过浏览、学习和运行样例可能疾速上手利用开发,并学习到其中的我的项目技术点或我的项目实现计划等。
社区通过公布样例的形式,帮忙开发者疾速上手学习 OpenHarmony,那么作为开发者咱们在学习和上手 OpenHarmony 后,要如何以样例的形式回馈和提交到社区呢?
社区须要什么样例
在开发样例前,须要先晓得社区须要的是什么样例,那么在样例提交时能力更好地被社区所认可和承受。社区须要的样例可分为两大类:
• Samples 仓库未笼罩到的 SDK API Sample;
• 基于日常生活的解决方案 demo;
那么如何能力挖掘到社区需要的样例呢?
Sample
Sample 是指针对各种 SDK API 进行开发的样例如下图所示,所以能够比照 API 文档进行查阅搜寻未波及的 API,而后进行样例开发。
下图左侧为 applications_app_samples 仓库样例,右侧为 JS 及 TS API 文档,可进行比照查阅。
除此之外,还能够通过查问版本阐明,在个性变更中寻找仓库未波及到的新个性,对新个性进行 Sample 开发。下图为 OpenHarmony 3.2 Beta2 版本阐明。
场景化 demo
场景化 demo 是 OpenHarmony 常识体系工作组下针对智能家居场景、影音娱乐场景、购物生产场景、静止衰弱场景、智能出行场景、智慧办公场景等生存场景进行开发的解决方案样例。那么咱们则能够依据日常生活的需要,寻找生存场景下的痛点,开发解决方案样例。
下图为常识零碎工作组 knowledge 仓库
场景仓库汇总:
智能家居场景
https://gitee.com/openharmony…
影音娱乐场景
https://gitee.com/openharmony…
购物生产场景
https://gitee.com/openharmony…
静止衰弱场景
https://gitee.com/openharmony…
智能出行场景
https://gitee.com/openharmony…
智慧办公场景
https://gitee.com/openharmony…
疾速上手场景
https://gitee.com/openharmony…
其余场景
https://gitee.com/openharmony…
我有一个 idea
基于平时出入门禁和打卡签到等日常生活场景,发现生存中有许多与人脸识别相干的需要,在查阅 OpenHarmony 社区后,发现并没有相似样例,于是开发人脸识别样例的想法便油然而生,那有了好的 idea 后应该怎么做呢?
如何开发样例
如下图所示,以人脸识别 demo 为例大抵能够将开发样例分为 5 大步骤:
• 上手学习
通过浏览官网文档、在线课程、学习门路和开发者文档等,意识理解 OpenHarmony 开源我的项目,相熟利用开发 / 设施开发流程等。
• 技术选型
经查阅后发现 GitHub 上有开源的人脸识别引擎 Seetaface2,OpenHarmony 3.2 beta 中也有可用的媒体库和相机等 API,于是便能够基于润和 HH-SCDAYU200 开发套件的硬件平台,与基于 OpenHarmony 3.2 beta、Seetaface2 和 OpenCV 的软件平台进行我的项目开发。
• 我的项目设计
样例一共布局有 4 项性能别离为:人脸拍摄、人脸录入、人脸框选和人脸识别,其中人脸拍摄通过拉起相机利用进行拍照,再通过媒体库 API 获取相册图片。人脸录入、人脸框选和人脸识别性能则通过将 Seetaface2 移植到 OpenHarmony 中,并利用 NAPI 组件将 Seetaface2 接口进行封装和裸露给利用来调用,最终在人脸识别 FA 中实现这四大性能。
• 编码调试
依据我的项目设计进行相应 ArkUI 代码和逻辑代码编写。
开发中遇到技术问题可通过查问文档,或在对应仓库搜寻相干 Issue,而后提交 Issue 寻找解决办法。
• 代码提交
参考如何提交代码
样例可能给“我”带来什么
享受开源,播种成就
成为 OpenHarmony 开源共建者,在仓库共建者名单领有本人“一席之地”。
OpenHarmony 共建者徽章:提交过 PR 的小伙伴可通过拜访 https://metrics.openharmony.c… 进行支付。
优良样例可申请:
• OpenHarmony 官网开发样例展出;
• OpenAtom OpenHarmony 公众号展出;
• 展会进行样例展出;
晋升技术,扩大视线
• 集体技术能力与编码程度的晋升;
• 参加社区与更多的技术专家与开发者接触和交换;
成为“社区大佬”
奉献样例作为社区成长进阶的敲门砖,能够逐步参加到 OpenHarmony 社区代码奉献、文档奉献、技术计划探讨及设计、解答用户问题、发表技术文章及视频课程等,最终由社区用户逐步成长为 SIG 负责人或 PMC 成员,逐步走向“社区技术大佬”。
参考社区成长门路。
参考链接
常识体系
https://gitee.com/openharmony…
人脸识别 demo
https://gitee.com/openharmony…
applications_app_samples
OpenHarmony 版本阐明 https://gitee.com/openharmony…
OpenHarmony 官网
https://www.openharmony.cn/
如何提交代码
https://gitee.com/openharmony…
OpenHarmony 官网文档 https://docs.openharmony.cn/p… 开发样例 https://growing.openharmony.c…
OpenHarmony 学习门路 https://growing.openharmony.c…
共建者徽章 https://metrics.openharmony.c…
社区成长门路
https://www.openharmony.cn/role
如何应用 Issue 管理软件我的项目?https://www.ruanyifeng.com/bl…