0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony開發(fā)樣例的步驟

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-09-20 10:30 ? 次閱讀

單絲不成線,獨木不成林,一個社區(qū)想要健康蓬勃發(fā)展離不開社區(qū)參與者的持續(xù)貢獻。而社區(qū)貢獻點有很多種,本文以貢獻OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開發(fā)樣例為例,圍繞以下5個問題,帶大家了解上手并參與社區(qū)貢獻。

1.如何參與社區(qū)?

2.什么是開發(fā)樣例?

3.社區(qū)需要什么開發(fā)樣例?

4.如何開發(fā)樣例?

5.樣例能夠給“我”帶來什么?

如何參與社區(qū)

參與社區(qū)主要分為如下兩種方式: ?提交Issue

Issue指的是一項待完成的工作,中文可以譯為“問題”或“事務(wù)”,例如軟件的bug、功能建議、待完成的任務(wù)、文檔缺失的報告等。

?提交Pull Request

Pull Request(PR)是一種通知機制。你修改了他人的代碼,將你的修改通知原來的作者,希望他合并你的修改,這就是Pull Request。

因此你可以認為Issue是發(fā)布社區(qū)任務(wù)的方式,PR是完成社區(qū)任務(wù)的方式。既然是深度參與社區(qū),必然是要做社區(qū)任務(wù)的“完成者”。

那么該如何提交PR呢?上面也說了提交PR其實就是提交自己的修改/新增的代碼,是基于代碼進行的,而代碼則有如下3種提交方式:

?文檔/注釋補充完善

?開發(fā)樣例提交

?OS功能開發(fā)

3種提交方式難度依次遞進,本文主要講解開發(fā)樣例提交。

什么是開發(fā)樣例

開發(fā)樣例可分為如下兩部分: ?API使用范例的Sample

針對各種SDK API進行開發(fā)的樣例,開發(fā)者可以快速熟悉OpenHarmony SDK所提供的API和應(yīng)用開發(fā)流程。

?場景化Demo

生活場景的解決方案樣例。

開發(fā)者通過閱讀、學習和運行樣例能夠快速上手應(yīng)用開發(fā),并學習到其中的項目技術(shù)點或項目實現(xiàn)方案等。

社區(qū)通過發(fā)布樣例的方式,幫助開發(fā)者快速上手學習OpenHarmony,那么作為開發(fā)者我們在學習和上手OpenHarmony后,要如何以樣例的方式回饋和提交到社區(qū)呢?

社區(qū)需要什么樣例

在開發(fā)樣例前,需要先知道社區(qū)需要的是什么樣例,那么在樣例提交時才能更好地被社區(qū)所認可和接受。

社區(qū)需要的樣例可分為兩大類:

?Samples倉庫未覆蓋到的SDK API Sample;

?基于日常生活的解決方案demo;

那么如何才能發(fā)掘到社區(qū)需求的樣例呢?

Sample

Sample是指針對各種SDK API進行開發(fā)的樣例如下圖所示,所以可以對比API文檔進行查閱搜索未涉及的API,然后進行樣例開發(fā)。

360d7e72-381d-11ed-ba43-dac502259ad0.gif

下圖左側(cè)為applications_app_samples倉庫樣例,右側(cè)為JS及TS API文檔,可進行對比查閱。

3642232a-381d-11ed-ba43-dac502259ad0.gif

除此之外,還可以通過查詢版本說明,在特性變更中尋找倉庫未涉及到的新特性,對新特性進行Sample開發(fā)。下圖為OpenHarmony 3.2 Beta2版本說明。

場景化demo

場景化demo是OpenHarmony知識體系工作組下針對智能家居場景、影音娛樂場景、購物消費場景、運動健康場景、智能出行場景、智慧辦公場景等生活場景進行開發(fā)的解決方案樣例。那么我們則可以根據(jù)日常生活的需求,尋找生活場景下的痛點,開發(fā)解決方案樣例。

下圖為知識系統(tǒng)工作組knowledge倉庫

36b2be96-381d-11ed-ba43-dac502259ad0.gif

場景倉庫匯總:

智能家居場景

https://gitee.com/openharmony-sig/knowledge_demo_smart_home

影音娛樂場景

https://gitee.com/openharmony-sig/knowledge_demo_entainment

購物消費場景

https://gitee.com/openharmony-sig/knowledge_demo_shopping

運動健康場景

https://gitee.com/openharmony-sig/knowledge_demo_temp

智能出行場景

https://gitee.com/openharmony-sig/knowledge_demo_travel

智慧辦公場景

https://gitee.com/openharmony-sig/knowledge_demo_temp

快速上手場景

https://gitee.com/openharmony-sig/knowledge_demo_temp

其他場景

https://gitee.com/openharmony-sig/knowledge_demo_temp

我有一個idea

基于平時出入門禁和打卡簽到等日常生活場景,發(fā)現(xiàn)生活中有許多與人臉識別相關(guān)的需求,在查閱OpenHarmony社區(qū)后,發(fā)現(xiàn)并沒有類似樣例,于是開發(fā)人臉識別樣例的想法便油然而生,那有了好的idea后應(yīng)該怎么做呢?

如何開發(fā)樣例

如下圖所示,以人臉識別demo為例大致可以將開發(fā)樣例分為5大步驟:

373ba81e-381d-11ed-ba43-dac502259ad0.png

?上手學習

通過閱讀官網(wǎng)文檔、在線課程、學習路徑和開發(fā)者文檔等,認識了解OpenHarmony開源項目,熟悉應(yīng)用開發(fā)/設(shè)備開發(fā)流程等。

375e0670-381d-11ed-ba43-dac502259ad0.gif

?技術(shù)選型

經(jīng)查閱后發(fā)現(xiàn)GitHub上有開源的人臉識別引擎Seetaface2,OpenHarmony 3.2 beta中也有可用的媒體庫和相機等API,于是便可以基于潤和HH-SCDAYU200開發(fā)套件的硬件平臺,與基于OpenHarmony 3.2 beta、Seetaface2和OpenCV的軟件平臺進行項目開發(fā)。

?項目設(shè)計

樣例一共規(guī)劃有4項功能分別為:人臉拍攝、人臉錄入、人臉框選和人臉識別,其中人臉拍攝通過拉起相機應(yīng)用進行拍照,再通過媒體庫API獲取相冊圖片。人臉錄入、人臉框選和人臉識別功能則通過將Seetaface2移植到OpenHarmony中,并利用NAPI組件將Seetaface2接口進行封裝和暴露給應(yīng)用來調(diào)用,最終在人臉識別FA中實現(xiàn)這四大功能。

37a48348-381d-11ed-ba43-dac502259ad0.png

?編碼調(diào)試

根據(jù)項目設(shè)計進行相應(yīng)ArkUI代碼和邏輯代碼編寫。

37ccd974-381d-11ed-ba43-dac502259ad0.png

開發(fā)中遇到技術(shù)問題可通過查詢文檔,或在對應(yīng)倉庫搜索相關(guān)Issue,然后提交Issue尋找解決辦法。

37f3b09e-381d-11ed-ba43-dac502259ad0.gif

樣例最終演示效果:

?代碼提交

參考如何提交代碼

樣例能夠給“我”帶來什么

享受開源,收獲成就

成為OpenHarmony開源共建者,在倉庫共建者名單擁有自己“一席之地”。

381999d0-381d-11ed-ba43-dac502259ad0.png

OpenHarmony共建者徽章:提交過PR的小伙伴可通過訪問https://metrics.openharmony.cn/#/codeContributor進行領(lǐng)取。

優(yōu)秀樣例可申請:

?OpenHarmony官網(wǎng)開發(fā)樣例展出;

386ec07c-381d-11ed-ba43-dac502259ad0.png

?OpenAtom OpenHarmony公眾號展出;

38a8c240-381d-11ed-ba43-dac502259ad0.png

?展會進行樣例展出;

38c704c6-381d-11ed-ba43-dac502259ad0.png

提升技術(shù),擴展視野

?個人技術(shù)能力與編碼水平的提升;

?參與社區(qū)與更多的技術(shù)專家與開發(fā)者接觸和交流;

38fb2ed6-381d-11ed-ba43-dac502259ad0.png

成為“社區(qū)大佬”

貢獻樣例作為社區(qū)成長進階的敲門磚,可以逐漸參與到OpenHarmony 社區(qū)代碼貢獻、文檔貢獻、技術(shù)方案討論及設(shè)計、解答用戶問題、發(fā)表技術(shù)文章及視頻課程等,最終由社區(qū)用戶逐漸成長為SIG負責人或PMC成員,逐漸走向“社區(qū)技術(shù)大佬”。

參考社區(qū)成長路徑。

391e30b6-381d-11ed-ba43-dac502259ad0.png

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68075
  • 人臉識別
    +關(guān)注

    關(guān)注

    76

    文章

    4000

    瀏覽量

    81578
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15956

原文標題:如何貢獻OpenHarmony開發(fā)樣例

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    OpenHarmony開發(fā)】智能家居相關(guān)demo匯總

    設(shè)備聯(lián)動。9、基于全志XR806開發(fā)開發(fā)的智能體重秤本demo基于OpenHarmony3.1Beta版本開發(fā),該
    發(fā)表于 03-04 16:32

    OpenHarmony標準設(shè)備應(yīng)用開發(fā)筆記匯總

    的幾個基于OpenHarmony3.1 Beta 標準系統(tǒng)的:分布式音樂播放、傳***、購物車等,分別介紹下音樂播放、顯示動畫、動畫
    發(fā)表于 03-28 14:19

    基于OpenHarmony開發(fā)的demo展示

    基于OpenHarmony開發(fā)的demo,包括智能停車場、分布式游戲、分布式音頻播放、分布式菜單、視頻播放器等~
    發(fā)表于 04-27 15:12

    燒錄OpenHarmony 3.2(嘗鮮版)步驟

    如下所示:其它步驟和燒錄3.1release一,跟著步驟走就行。關(guān)于開發(fā)板連接IDE工具DevEco Studio 3.0 Beta3 for O
    發(fā)表于 05-22 12:14

    開發(fā)】基于 OpenHarmony 開發(fā)的JS燈控應(yīng)用

    一、使用的開發(fā)板:BearPi-HM MicroBearPi-HM Micro開發(fā)板是一塊高度集成并可運行Openharmony系統(tǒng)的開發(fā)板,板載高性能的工業(yè)級處理器STM32MP15
    發(fā)表于 07-20 14:40

    開發(fā)OpenHarmony分布式購物車

    OpenHarmony分布式購物車一、簡介1.效果分布式購物車demo 模擬的是我們購物時參加滿減活動,進行拼單的場景;實現(xiàn)兩人拼單時,其他一人添加商品到購物車,另外一人購物車列表能同步更新,且
    發(fā)表于 07-29 14:17

    開發(fā)】用JS寫一個OpenHarmony拼圖小游戲

    一、簡介1.效果本Demo是基于OpenHarmony3.0 LTS,使用JS語言編寫的拼圖小游戲。2.涉及OpenHarmony技術(shù)特性JS UI3.支持
    發(fā)表于 07-29 14:25

    基于 OpenHarmony 系統(tǒng)開發(fā)的語音識別

    簡介VoiceRecoDemo是裝在OpenHarmony系統(tǒng)中的應(yīng)用,可以使用在汽車4S店的展示廳,客戶可以通過語音來控制顯示具體車輛的內(nèi)飾,外觀,車燈,后備箱等。
    發(fā)表于 08-17 11:04

    OpenHarmony】基于RK3399開發(fā)開發(fā)的智能門禁人臉識別(JS)

    一. 概述本是基于RK3399開發(fā)板,使用OpenHarmony3.0-LTS開發(fā)的應(yīng)用。通過定時獲取攝像頭數(shù)據(jù),實現(xiàn)人臉識別比對等功能
    發(fā)表于 08-24 17:35

    基于OpenHarmony 的數(shù)字管家應(yīng)用開發(fā)

    簡介數(shù)字管家場景需要手機端、設(shè)備端和服務(wù)端三方協(xié)同完成,本文檔介紹的demo是數(shù)字管家大場景中的手機端應(yīng)用;用戶注冊登錄后可創(chuàng)建我的家庭并管理家庭成員;可以添加設(shè)備(包括智能臺燈,智能窗簾,智能
    發(fā)表于 09-14 14:07

    華為開發(fā)者大會OpenHarmony開發(fā)共建與開發(fā)者成長圖譜

    今天的2021華為開發(fā)者大會上,OpenHarmony分論壇上展示了OpenHarmony開發(fā)
    的頭像 發(fā)表于 10-23 15:22 ?1445次閱讀
    華為<b class='flag-5'>開發(fā)</b>者大會<b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>共建與<b class='flag-5'>開發(fā)</b>者成長圖譜

    openharmony開源社區(qū) OpenHarmony開發(fā)上新了

    openharmony開源社區(qū) OpenHarmony開發(fā)上新了 OpenHarmony
    的頭像 發(fā)表于 04-25 16:37 ?2325次閱讀

    OpenHarmony 3.1 Release發(fā)布 OpenHarmony3.1 Release特性開發(fā)概述

    開源項目 OpenHarmony是每個人的 OpenHarmony OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)背后積極創(chuàng)新的產(chǎn)業(yè)力量和全球伙伴,正在
    的頭像 發(fā)表于 05-11 10:30 ?1665次閱讀

    OpenHarmony應(yīng)用簽名方法的步驟

    debug開發(fā),如需對外發(fā)布則必須完成release簽名。在OpenHarmony中有AGC應(yīng)用商店可以幫助開發(fā)者完成release簽名,本文將介紹OpenHarmony應(yīng)用簽名方法的
    的頭像 發(fā)表于 10-13 09:41 ?1786次閱讀

    OpenHarmony創(chuàng)意開發(fā)亮相HDC2022 共創(chuàng)欣欣向榮的“開源雨林”

    開發(fā)展品,適配OpenHarmony的各個版本,滿足不同行業(yè)與開發(fā)者對不同類型設(shè)備的開發(fā),讓
    的頭像 發(fā)表于 11-22 17:38 ?673次閱讀
    <b class='flag-5'>OpenHarmony</b>創(chuàng)意<b class='flag-5'>開發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>亮相HDC2022 共創(chuàng)欣欣向榮的“開源雨林”