嘉賓 | 李寧、徐禮文
整理 | 伊風
出品 | 51CTO技術棧(微信號:blog51cto)
繼 1 月華為宣布發布“純血鴻蒙”,開放 HarmonyOS NEXT 開發者預覽版申請后。2 月 6 日春節前夕,HarmonyOS 在致全體開發者的春節賀信中放出重磅消息,基于開源鴻蒙開發的 HarmonyOS NEXT 鴻蒙星河版將在今年秋天正式和消費者見面。這意味著鴻蒙開發者們迎來了難得一遇的創作機會,而各大平臺圍繞鴻蒙生態的加速適配和開發,更是印證了這一點。
2024,是鴻蒙應用的關鍵之年,同樣也是鴻蒙開發者能否抓住機遇的關鍵之年。鴻蒙生態的技術迭代將有哪些動向?對于中小部企業而言,如何進行技術儲備,才能更好地投入到鴻蒙原生應用的創新當中?目前哪些賽道是不錯的切入點?
圍繞這些問題,T 前線有幸與鴻蒙社區核心講師李寧、鴻蒙社區 MVP 徐禮文兩位老師展開了探討與交流。
兩位老師給出了兩個重點,一個是 ArkUI、另一個便是AI 輔助開發。李寧認為鴻蒙開發者需要復合技能,并將技能樹分為由 ArkTS 、C++ 及 C 語言、聲明式開發等組成的直接技能樹,及 AI 生成編碼這一間接技能樹兩部分。徐禮文則建議開發者打好 JS & TS 語言基礎,做好迎接挑戰的準備,關注和學習最新的輔助編程工具。
同時,徐禮文也向華為提供一條建議:引入生成式 AI 并有效結合到可視化編程上來,鴻蒙開發工具勢必會加速收獲市場。
以下為 T 前線與兩位老師的交流實錄:
T 前線:今年是鴻蒙原生應用時代的關鍵之年,也有很多人說這是鴻蒙脫離安卓的獨立之年。在這個大背景下,鴻蒙開發者的技能樹會發生哪些變化,有哪些需要注意的問題?
李寧:我簡單談一下,這個問題可以分為直接技能樹和間接技能樹兩部分來談。
從直接技能樹來看,首先是現在鴻蒙開發者的主力語言 ArkTS 了。如果要點亮技能樹,從現在來看,仍然是 web 這一套(技能)。另外像 ArkUI,它是使用 ArkTS 語法的一套聲明式 UI 開發框架。如果要從事鴻蒙開發,肯定要瀏覽鴻蒙相關的文檔,其中常用的 API 肯定是需要了解的。
現在基于 ArkTS 的第三方組件還比較少,以后會慢慢多起來,大家也需要盡可能地掌握這方面的技術。根據我的判斷,鴻蒙原生的組件不會特別豐富,就像現在的安卓一樣會有很多第三方的組件。那么 ArkTS 實際上也可以利用 C++、C 語言來處理一些底層的東西,或者保護一些敏感的代碼。所以說 C 語言及 C++ 也是大家從事鴻蒙開發的技能樹之一。
以上是目前來講鴻蒙開發者直接的技能樹,實際上一部分是 web 這一套(技術),還有一部分是聲明式開發。現在支持聲明式開發的很多,實際上安卓也支持,還有像 Flutter、SwiftUI 等 UI 框架都有聲明式開發。現在做 UI 開發,我認為整個業界還沒出現特別完美的 UI 設計方案,實現方式要么是可視化,要么是直接用代碼,最后就是新出現的聲明式布局,也許以后會出現更好的(方式)。
還有一個間接技能樹就是 AI 。AI 實際上是鴻蒙現在的一個突破點,比方說今天提到的 AI 嵌入系統內核就是一個很好的方案。當前的 AI 輔助編碼工具例如 ChatGPT、Copilot,生成 ArkTS 代碼效果并不理想,只有 New Bing 好一些。但指揮 AI 進行輔助編程一定是未來的方向。所以我希望未來鴻蒙的開發可以融入 AI 能力,比如接入華為的盤古大模型等,幫我們生成代碼或者輔助開發。
總結來說,技能樹無法一成不變。如果你現在已經進入到 IT 行業,或者即將進入到 IT 行業,你就一定要做好“天天向上”的準備。你會發現你無時無刻不在學習,在你(實現)財富自由之前,就不要想躺平這件事了,一直不斷地學習,沒有其他的辦法。技能樹會不斷更新,我們的學習也會不斷地進行,所以說大家受累了。
徐禮文:結合剛才提到的華為關鍵之年,以及技能樹更新的這個問題,我首先想給華為提些建議。
華為現階段已經有了一套可視化編程的框架,但是那套框架呈現的效果還不如人意。現在的方案對于技術開發者或是剛接觸編程的小白都沒有太多的幫助,最多能滿足嵌入式開發者對于界面感的需求。如果華為今年有達成 5000 款鴻蒙原生應用的決心,我希望它能為開發者提供更強大的工具。華為必須投入更多努力,把 AI + 聲明式、AI +可視化設計這個方面做細、做強、做大。有了輔助開發工具,才能給我們的開發者或是企業,去分配預算和人員進行開發的可能性。
回到問題本身,開發者如何更新自己的技能樹。我認為今年的話,可能還是首先關注在 ArkUI 上面, ArkUI 是怎么去實現 2D 開發的?華為從(鴻蒙)生態角度考慮,使用的是 ArkTS 和聲明式范式這套體系。就這套體系本身來說,學習的成本和門檻都非常低,但是天花板巨高無比。舉個例子來說,假設是去做微信的一個場景,在布局方面使用鴻蒙的 ArkUI 進行,這在理論上沒有問題,但是性能方面未必能達到客戶的要求。雖然華為可以解決頭部企業的應用開發問題,但對于頭部以下的中小企業 ArkUI 是否能滿足其開發需求,可能還要打個問號。
因此,我認為很多鴻蒙開發者可能會遇到瓶頸,有一些未知的問題難以解決。華為可以引入生成式 AI 并有效結合到可視化編程這部分,加大投入力度,迅速(將開發工具)推到市場,滿足腰部和尾部用戶的基本需求。正如在 PC 時代微軟推出 Code Behind 技術,通過將界面設計代碼和程序設計代碼以不同的文件分開,使得 ASP 得到了廣泛的運用一樣。
至于普通開發者,我覺得技能樹的發展首先還是在 JS 和 TS 這兩個領域,加上聲明式范式基本上能滿足絕大多數常見功能的開發需求。