巴延興:從主導多個SIG組到OpenHarmony“代碼貢獻之星”,我是如何做到的?

来源:https://www.cnblogs.com/openharmony/archive/2022/05/10/16252621.html
-Advertisement-
Play Games

在 OpenHarmony 生態發展過程中,涌現了大批優秀的代碼貢獻者,本專題旨在表彰貢獻、分享經驗,文中內容來自嘉賓訪談,不代表 OpenHarmony 工作委員會觀點。 ...


編者按:在 OpenHarmony 生態發展過程中,涌現了大批優秀的代碼貢獻者,本專題旨在表彰貢獻、分享經驗,文中內容來自嘉賓訪談,不代表 OpenHarmony 工作委員會觀點。

 

巴延興 深圳開鴻數字產業發展有限公司 資深OS框架開發工程師

 

開源軟體(以下簡稱“開源”)於上世紀80年代應運而生,隨後惠及全球。如今,開源技術支撐了 90% 以上的互聯網產品,並已經深入到各行業的商業應用中。2021 年,我國首次將“開源”明確列入《中華人民共和國國民經濟和社會發展第十四個五年規劃和 2035 年遠景目標綱要》。雖然我國開源建設起步相對較晚,但國家在戰略層已經開始給予了開源的肯定和支持。目前,開源已成為全球軟體技術和產業創新的主導模式。

 

作為開放原子開源基金會的白金捐贈人、OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)B 類捐贈人,深開鴻核心技術團隊完整地繼承了前期 OpenHarmony 業務技術積累,以共建共治共用的開源精神,以成為智能物聯網操作系統領軍者為戰略目標,基於 OpenHarmony 聚焦智能物聯網操作系統(KaihongOS)的技術研發與持續創新。致力於構建多贏的物聯網操作系統生態圈,持續拓寬行業邊界,實現萬物互聯。

 

作為資深 OS 框架開發工程師,巴延興負責整體技術規劃、項目看護、成果交付以及與社區的溝通協調;輔助工具 SIG 的申請成立、SIG 的孵化以及畢業流程的推進工作。其中,輔助工具 SIG 包括 NAPI 框架生成工具、開機動畫工具、IDL 轉換工具等一系列工具。

 

他常說,在這個世上,沒有從天而降的好運和奇跡,機會只留給有準備的人。巴延興抓住機遇,全力擁抱開源時代,在開源軟體的基礎上,為企業提供安全、穩定的企業級開源軟體,並將代碼百分之百回饋給社區。十年如一日對工作極致負責的他,用專業匯聚能量,目前共計帶領團隊主導 4 個 SIG、參與 12 個 SIG 的代碼貢獻,累計向主幹貢獻代碼 30W+ 行。

 

此次我們邀請了深開鴻巴延興前來參加訪談,希望通過他的視角,帶我們更加全面地瞭解深開鴻團隊背後的故事。

 

Q=OpenHarmony A=巴延興

 

Q1:可以介紹下自己以及所在開發團隊嗎?

 

大家好,我是巴延興,是深圳開鴻數字產業發展有限公司資深OS框架開發工程師。從業以來,我一直深耕終端設備的研發領域,擁有十多年的移動系統開發經驗,去年有幸加入深開鴻南京研發團隊,希望為操作系統發展貢獻綿薄之力。

 

深開鴻團隊一方面承擔著公司 KaihongOS(OpenHarmony 商業發行版之一)的研發任務,另一方面積極地、大顆粒地、全方位地面向 OpenHarmony 社區進行開源貢獻。

 

Q2:作為開發領域技術達人,請問哪些原因讓您決定參與OpenHarmony的社區貢獻?

 

隨著 5G 時代的到來,數字化升級、萬物互聯、人機物融合等需求越來越旺盛,“開源”首次被明確列入《中華人民共和國國民經濟和社會發展第十四個五年規劃和 2035 年遠景目標綱要》。作為互通互聯生態架構基座的操作系統,OpenHarmony 應運而生。

 

深開鴻技術團隊從 OpenHarmony 開源項目成立伊始就與  OpenHarmony 工作組展開了深度合作,是業內首批對 OpenHarmony 在產業上的應用及賦能進行深入研究的公司。我認為未來的市場將出現移動端操作系統高速發展的視窗期,因此,當我得知有深開鴻這樣一家以 OpenHarmony 為技術底座的操作系統發行版公司誕生的時候,我便毫不猶豫地加入了。

 

自參與 OpenHarmony 社區共建以來,我深度參與了代碼共建的工作,結合多年來在系統內核、系統安全、網路通信、多媒體及 AI 等技術領域的積累,主導多個 SIG 組的形式持續向社區貢獻高質量代碼,不斷夯實  OpenHarmony 的基礎能力,加速推進 OpenHarmony 生態建設。

 

Q3:恭喜您獲得2月代碼貢獻之星,非常了不起,可以說說您在社區具體做了哪些代碼貢獻,獲得哪些成果嗎?

 

去年 6 月,深開鴻開始參與 RISC-V SIG,從晶元適配開始,再到承接 Driver SIG 的音視頻硬編解碼 HDF 框架實現的任務。隨著開源經驗的積累,團隊也匯聚了各領域的技術專家。因此,深開鴻在 2021 年 9 月份正式主導了第一個 SIG 組——AI 框架集成 SIG 組。

 

在這過程中,我參與了需求分析、架構設計、代碼框架搭建以及代碼評審、入庫等研發全流程;基於 RockChip Toybrick 3568x 實現了 HDF 框架開發;基於瑞芯微的 MPP 框架提供的 MppBuffer、MppBufferGroup 以及 packet 和 frame 相關的組件和介面,結合 Buffer 隊列,共用記憶體等機制,實現了硬體編解碼流程,並完成了相關的編解碼演示程式和單元測試程式;基於 HJSUnit 測試框架,使用 JavaScript 語言編寫 JS 全組件屬性、樣式、事件、方法等測試腳本;以上相關代碼都已合入主幹。

 

伴隨研發團隊規模逐漸擴大,團隊能力逐漸提升,可參與主導或共建的技術領域也越來越多——輔助工具、軟匯流排、多媒體、內核等項目都有深開鴻團隊的身影,慢慢呈現了“遍地開花”的趨勢,也看到我們的成果幫助了更多的開發者,真正感受到了生態的繁榮。

 

到目前為止,深開鴻主導了 4 個 SIG,參與共建的 SIG 有 12 個,尤其是內核、軟匯流排、HDF、ArkUI 等根技術領域都有深度參與,累計向主幹貢獻代碼 30W+ 行。

 

Q4:可以請您給我們分享一下,在整個開發的過程中,您和您的團隊遇到過哪些技術上或其他方面的難題?這些難題又是如何被逐一解決的?從中總結了哪些經驗呢?

 

我們在內核開發過程中遇到不少難題,比如內核支持的單板種類有限、Hi3861 開發板內核固化、編譯環境搭建複雜等問題都加劇了進入內核研發的難度。面對這些困難,我們在探索過程中也摸索出了一套方法。

 

首先,我們利用模擬技術解決單板有限的問題,其次利用 Q/A 的方式將每一步都記錄下來,輸出技術文檔,夯實每一步的腳印。對新技術保持一顆好奇心是每一個內核開發人員必備的素養,這樣的心態促使我們不斷攻堅克難。

 

目前內核開發工作還處於初級階段,取得了初步的成果,但我們還會繼續進行研發投入,在這過程中,不僅能提高我們自身的技術能力,而且還能增強公司的技術儲備,促成良性迴圈。

 

Q5:加入OpenHarmony生態以來,深開鴻在社區的開源貢獻方面取得了不小的成果,您認為“秘訣”都有哪些呢?

 

如果非要說有什麼“秘訣”的話,那就是深開鴻始終堅持從開源中來,到開源中去的開源理念,結合 OpenHarmony 系統特性以及行業應用對操作系統的需求,推出具備行業共性的 KaihongOS 商業發行版,在滿足客戶需求的同時,也將沉澱下來的技術能力及行業實踐回饋給社區。

 

除了主幹代碼貢獻,我們在三方庫、知識體系工作組、相容性工作組、基礎服務、開發板等方向也同時發力,多維度地、多層次地進行開源貢獻。同時,我們的貢獻也得到了社區的認可,深開鴻已正式成為相容性工作組的第一家擴展成員的單位。

 

Q6:您最想吐槽OpenHarmony哪些方面?對未來的OpenHarmony有什麼期望?

 

OpenHarmony 目前處在起步階段,很多事物尚未成熟,比如系統能力還有待增強;應用生態不夠豐富;開發文檔不夠齊全,開發者入門門檻高等問題都亟待解決,這就需要有更多的技術精英、行業大咖參與 OpenHarmony 社區共建。至於對未來的期望,自然是希望它能夠蓬勃發展,向當今主流的開源生態看齊甚至超越。

 

Q7:未來深開鴻還會做哪些事情?朝哪個方向努力?

 

作為 OpenHarmony 開源項目的共建單位之一,深開鴻有責任、有義務、更有能力持續完善 OpenHarmony 的技術能力、不斷以創新技術加速開源生態建設的佈局。從產業生態角度來看,豐富且有活力的生態也將推動 OpenHarmony 的持續提升、優化、完善,最終反哺產業生態,形成一個良性的、有機的迴圈。

 

因此,我們會一如既往地推進 KaihongOS 在各個行業的商業落地,為千行百業賦能的同時,將沉澱、提煉出來的技術能力再貢獻給 OpenHarmony 社區,真正踐行從開源中來到開源中去的理念,這就是深開鴻在未來要做的事情,要努力的方向。

 

Q8:有什麼想對其他企業和開發者說的話嗎?

 

作為一名普通的工程技術人員,有幸遇到這樣的一個時代,更有幸能夠親身參與這個時代的偉大變革。機會留給有準備的人,我會竭盡所能去擁抱這樣的時代,把握時代賦予的機會。

 

個人的力量是渺小的,在這裡我呼籲更多的有識之士、志同道合者參與到 OpenHarmony 生態的共建,大家一起攜起手來,推動它的繁榮與發展!

 

 

搜索

複製


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 5月中國資料庫排行榜已出爐!各大資料庫廠商表現如何?排名有何變化?一起來解讀吧! ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,非常 ...
  • OpenHarmony電話子系統為 OS 提供了基礎的無線通信能力。支持 TD-LTE/FDD-LTE/TD-SCDMA/WCDMA/EVDO/CDMA1X/GSM 等網路制式的通信模塊,能夠提供高速的無線數據傳輸、互聯網接入等業務,具備語音、簡訊、彩信、SIM 卡等功能。 ...
  • 在直播、語聊房、K 歌房場景中,為增加趣味性和互動性,玩家可以通過變聲來搞怪,通過混響烘托氣氛,通過立體聲使聲音更具立體感。ZegoExpress SDK 提供了多種預設的變聲、混響、混響回聲、立體聲效果,開發者可以靈活設置自己想要的聲音,如果需要試聽,可以啟用耳返進行測試。 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:這個WPF項目通過XAML繪製汽車動態速度表盤,實現了0-300的速度刻度,包括數字、指針,並通過定時器模擬速度變化,展示了動態效果。詳細實現包括界面設計、刻度繪製、指針角度計算等,通過C#代碼與XAML文件結合完成。 新建 WPF 項目: 在 Visual Studio 中創建一個新的 WP ...
  • 概述:在WPF中使用`WpfAnimatedGif`庫展示GIF動畫,首先確保全裝了該庫。通過XAML設置Image控制項,指定GIF路徑,然後在代碼中使用庫提供的方法實現動畫控制。這簡化了在WPF應用中處理GIF圖的過程,提供了方便的介面來管理動畫播放和暫停。 當使用 WpfAnimatedGif  ...
  • 您是否曾經訪問過一個網站,它需要很長時間載入,最終你敲擊 F5 重新載入頁面。 即使用戶刷新了瀏覽器取消了原始請求,而對於伺服器來說,API也不會知道它正在計算的值將在結束時被丟棄,刷新五次,伺服器將觸發 5 個請求。 為瞭解決這個問題,ASP.NET Core 為 Web 伺服器提供了一種機制,就 ...
  • 本章將和大家分享如何通過 Elasticsearch 實現自動補全查詢功能。 一、自動補全-安裝拼音分詞器 1、自動補全需求說明 當用戶在搜索框輸入字元時,我們應該提示出與該字元有關的搜索項,如圖: 2、使用拼音分詞 要實現根據字母做補全,就必須對文檔按照拼音分詞。在 GitHub 上恰好有 Ela ...
  • using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace OOP { pub ...
  • 概述:以上內容詳細介紹了在C#中如何從另一個線程更新GUI,包括基礎功能和高級功能。對於WinForms,使用`Control.Invoke`;對於WPF,使用`Dispatcher.Invoke`。高級功能使用`SynchronizationContext`實現線程間通信,確保清晰、可讀性高的代碼 ...
  • Nuget包 Microsoft.Extensions.Telemetry.Abstractions 包含的新的日誌記錄source generator,它支持使用[LogProperties]將整個對象作為State與日誌一起記錄。 我將展示一種方法來控制如何使用[LogProperties]對象 ...
  • 支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac。 常見的ORM技術(比如:Entity Framework,Dapper,SqlSugar,NHibernate,等…),它們不是在做Sql語句的程式化變種,就是在做Sq ...
  • 一、引言 在現代應用程式開發中,尤其是在涉及I/O操作(如網路請求、文件讀寫等)時,非同步編程成為了提高性能和用戶體驗的關鍵技術。C#作為.NET框架下的主流開發語言,提供了強大的非同步編程支持,通過async/await關鍵字,可以讓開發者以同步的方式編寫非同步代碼,極大地簡化了非同步編程的複雜性。本文將 ...
  • 一、引言 在.NET開發中,操作Office文檔(特別是Excel和Word)是一項常見的需求。然而,在伺服器端或無Microsoft Office環境的場景下,直接使用Office Interop可能會面臨挑戰。為瞭解決這個問題,開源庫NPOI應運而生,它提供了無需安裝Office即可創建、讀取和 ...