@開發(fā)者:鴻蒙能否強勢突圍?從開發(fā)一款人人喜歡的游戲開始(鴻蒙強推)
2020年9月華為正式發(fā)布了鴻蒙操作系統(tǒng)(HarmonyOS)。在Android和iOS的雙重夾擊下,HarmonyOS剛一出生就危如累卵。
Android與iOS是老牌的移動操作系統(tǒng),幾乎同時誕生,已經有十多年的發(fā)展歷程,各自都積累了數(shù)千萬的開發(fā)者,以及成千上萬的公司圍繞著Android和iOS開展自己的業(yè)務。這一切構建了堅不可摧的“生態(tài)球”。
HarmonyOS選擇在這時推出,很多人擔心,這個新生兒能否沖出重圍,建立自己的“生態(tài)球”?
— 01 —
HarmonyOS的征程是萬物互聯(lián)
HarmonyOS與Android和iOS一樣,是獨立的操作系統(tǒng),支持多種硬件設備,包括智能手機、平板電腦、個人計算機、電視機、智能手表、車載電腦等。
但與Android和iOS不同的是,華為賦予HarmonyOS更高的使命,HarmonyOS的側重點是物聯(lián)網,手機只是HarmonyOS構建“生態(tài)球”的重要一環(huán),它的征程還在萬物互聯(lián)。
HarmonyOS通過萬物互聯(lián),讓我們的手機、平板電腦、電視機等一切安裝HarmonyOS的設備形成無數(shù)個超級終端,讓這些設備擁有無限的潛能,從而讓我們離未來的超信息化時代更近了一步!讓“智能星球”觸手可及!
我們都清楚,在萬物互聯(lián)的時代,孤立的設備是沒有價值的,面向未來的IoT操作系統(tǒng)一定要可以彈性部署到大大小小的設備上,讓這些設備像人一樣用同樣的語言交流,讓設備的連接變得非常容易。
而且,僅僅連接這些設備還不夠,由于不同類型設備之間的能力差異是千差萬別的,這個系統(tǒng)還要能夠有機融合這些能力,這就需要讓系統(tǒng)將這些設備看成同一個設備,即虛擬設備。
HarmonyOS的技術定位就是這樣一款面向未來、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統(tǒng)。
如今,根據(jù)HarmonyOS的市場定位,HarmonyOS可以運行在各種各樣的設備上。例如,我們最常用的智能手機、平板電腦、個人計算機等,以及打印機、投影儀等各類物聯(lián)網設備上,這就是HarmonyOS的“1 8 N”戰(zhàn)略(N 指泛 IoT 設備,如打印機、投影儀、門鈴、電冰箱、智能手環(huán),甚至是茶杯、鬧鐘、床等)。
(HarmonyOS的““1 8 N”戰(zhàn)略”)
HarmonyOS的最終目標是,將一切有計算能力和存儲能力的設備連接起來,然后再將 AI 技術融合進來。
因此,如果將全世界數(shù)以百億計的 IoT 設備連接起來,并能有效地利用這些 IoT 設備的各種能力,讓這些 IoT 設備高效互相協(xié)作,也許智能城市、智能社會、甚至智能星球,也不是很難實現(xiàn)的目標了。
而對開發(fā)者而言,他們眼前是HarmonyOS生態(tài)的一片藍海,如何快速入門、理解并基于HarmonyOS開發(fā)出優(yōu)秀的 App 等產品,絕對是一個非常具有誘惑力和吸引力的研究方向和“淘金”機會。
— 02 —
開啟HarmonyOS之旅:Hello World
對每個程序員來說,“Hello World”幾乎被認為是每種程序設計語言的第一個例子,是最為人熟知的計算機程序。
如何基于HarmonyOS系統(tǒng)開發(fā)出一個可運行的“Hello World”程序,是我們學習并理解HarmonyOS開發(fā)環(huán)境和技術架構的有效方式之一。反過來看,對開發(fā)人員來說,深入了解HarmonyOS的開發(fā)環(huán)境和系統(tǒng)架構,非常有必要。
HarmonyOS在系統(tǒng)架構上與 Android 類似,采用了分層設計方案,從下向上依次為內核層、系統(tǒng)服務層、框架層和應用層。系統(tǒng)功能按照“系統(tǒng)、子系統(tǒng)、功能/模塊”逐級展開,在多設備部署場景下,支持根據(jù)實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊。
(HarmonyOS系統(tǒng)架構,來源:《鴻蒙征途:App開發(fā)實戰(zhàn)》)
對 App 開發(fā)者而言,HarmonyOS采用了多種分布式技術,使應用程序的開發(fā)實現(xiàn)與不同終端設備的形態(tài)差異無關,這能夠讓開發(fā)者聚焦上層業(yè)務邏輯,更加便捷、高效地開發(fā)應用。
同時,HarmonyOS也擁有自己的集成開發(fā)環(huán)境(IDE)— DevEco Studio,目前有 Windows 版本和 macOS 版本。由于 DevEco Studio 是基于 IntelliJ IDEA 社區(qū)版二次開發(fā)的,使用方式與 IntelliJ IDEA 非常類似,因此可以幫助盡可能多的開發(fā)人員快速上手。
了解了這么多,又如何寫出并成功運行一個“Hello World”程序?在《鴻蒙征途:App開發(fā)實戰(zhàn)》一書中,首批HarmonyOS系統(tǒng)課程開發(fā)者、華為開發(fā)者專家(HDE)李寧在模擬器環(huán)境下做了詳細的實操,包括創(chuàng)建工程、調用模版、配置工程和運行工程等。
(“Hello World”程序運行效果,來源:《鴻蒙征途:App開發(fā)實戰(zhàn)》)
— 03 —
厲害了!5 分鐘搞定俄羅斯方塊
如果只是運行一個“Hello World”程序,并不能體現(xiàn)HarmonyOS系統(tǒng)的強大之處。《鴻蒙征途:App開發(fā)實戰(zhàn)》一書中,作者僅僅用了 5 分鐘就成功開發(fā)出了一個我們耳熟能詳?shù)挠螒颉砹_斯方塊。是的,你沒看錯,只用了 5 分鐘。
但是,如果從頭開始做游戲肯定是不行的,如果把“俄羅斯方塊”這個游戲作為一個組件(Tetris 組件)放在窗口中,然后再稍微加工,就可以實現(xiàn)一個相對復雜的俄羅斯方塊游戲,整個調用組件的核心代碼只不過十幾行。
一款游戲的本質就是一個可以與用戶交互的繪圖程序。不同游戲的區(qū)別在于繪圖的復雜程度不同。通常,一款功能完善的俄羅斯方塊游戲由游戲背景、隨機產生的方塊(block)、控制方塊旋轉和平移的按鈕(或用其他方式控制)、顯示下一個方塊、游戲積分機制、讓方塊快速下落等部分組成。
通過為不同組件賦予不同的功能,并將不同組件整合到一起,就能高效實現(xiàn)俄羅斯方塊游戲的開發(fā)。比如,在 Tetris 組件中會根據(jù)不同的狀態(tài)觸發(fā)以下 3 個事件。
- 產生下一個方塊事件:用于顯示下一個方塊;
- 消除行事件:用于處理積分;
- 游戲結束事件:用于提示游戲結束。
(俄羅斯方塊游戲界面)
如果只是將 Tetris 組件放到窗口中,只能保證程序可以運行,而且功能也比較單一,只支持方塊向下移動和旋轉(單擊游戲窗口)。
為了讓游戲更完美,《鴻蒙征途:App開發(fā)實戰(zhàn)》還詳細闡述了如何利用一些組件來控制游戲。比如通過調用 start 方法開始游戲,以及如何顯示下一個方塊、控制方塊左右水平移動、加快方塊下落速度、更新積分、結束游戲等。
當前,通過組件開發(fā)俄羅斯方塊游戲的這種方式,符合目前大多數(shù)游戲開發(fā)團隊的需求。
比如,將一些核心的功能提煉出來,做成組件,單獨調試組件,然后再進行集成和聯(lián)調,可以在最大限度上避免開發(fā)過程中開發(fā)人員之間的沖突。
同時,核心功能以組件的形式提供,還可以復用,大幅提高開發(fā)效率。
— 04 —
踏上鴻蒙征途!
如何快速理解HarmonyOS核心技術并開發(fā)出更多優(yōu)秀 App?李寧老師撰寫的這本《鴻蒙征途:App開發(fā)實戰(zhàn)》可以給你更多解答。
《鴻蒙征途:App開發(fā)實戰(zhàn)》
本書作者李寧是首批HarmonyOS系統(tǒng)課程開發(fā)者,某大型軟件公司前高級技術專家,IT 暢銷書作者,企業(yè) IT 內訓講師,騰訊課堂特約講師,CSDN 學院高級講師。曾出版多本IT暢銷書,寫過數(shù)百篇技術文章。主要著作包括《Kotlin程序開發(fā)入門精要》《Swift 權威指南》《Android開發(fā)權威指南》《Android深度探索》等。
該書系統(tǒng)講解了HarmonyOS核心技術和分布式特性,以理論與實戰(zhàn)相結合的方式向讀者呈現(xiàn)HarmonyOS App開發(fā)的整個過程,具有豐富的案例及實戰(zhàn)項目,并提供了所有案例和實戰(zhàn)項目源代碼及配套視頻。
而且,該書內容通俗易懂,循序漸進,既是HarmonyOS初學者的入門圖書,也是HarmonyOS開發(fā)人員的進階讀物,是一本基于 Java 編程技術零基礎從入門到實踐全場景開發(fā)指南。
內容上,全書共分為兩個部分。第一部分詳細講解HarmonyOS App 開發(fā)所需的知識,并提供大量的真實案例代碼供讀者練習;第二部分給出兩個實戰(zhàn)項目,分別為應用類 App 項目(在線電子詞典)和游戲類 App 項目(俄羅斯方塊)。這兩個項目實戰(zhàn),可以幫助我們更好地回顧和總結全書講解的知識點,將理論快速轉化為實踐。
HarmonyOS開源教練、開放原子項目導師劉果對該書給出了很高的評價?!氨緯敿毥榻B了從搭建HarmonyOS應用開發(fā)環(huán)境,到創(chuàng)建、分析、調試及運行HarmonyOS應用的全過程。通過本書,開發(fā)人員能更好地了解HarmonyOS操作系統(tǒng)一次開發(fā)、多端部署的跨設備特點。對HarmonyOS應用開發(fā)入門者來說,這是一本不可多得的好書?!?/span>
華為云 MVP 朱有鵬也評價道,“李寧老師基于多年的研究和教學經驗,深度參與了HarmonyOS官方組織的內部評測,投入了大量精力體驗HarmonyOS應用開發(fā)框架和API,并且實現(xiàn)了不少有趣的案例,本書是李寧老師HarmonyOS應用開發(fā)經驗的凝結。仔細閱讀本書,讀者可以更快速、更高效、更深入地理解HarmonyOS,掌握HarmonyOS應用開發(fā)技能。”
可以說,這確實是一本既適用于HarmonyOS初學者,也適用于HarmonyOS開發(fā)人員的全場景開發(fā)指南。
還在等什么?HarmonyOS生態(tài)正等你來搭建~