亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

華為開發(fā)者大會已經(jīng)結(jié)束不久,我想大家應(yīng)該都知道鴻蒙系統(tǒng)是基于什么語言開發(fā)的了。實(shí)際上大部分操作系統(tǒng)的開發(fā)基本上離不開C/C++、匯編語言、JAVA這三種編程語言。不過,我相信有大部分朋友應(yīng)該不知道成為鴻蒙系統(tǒng)的開發(fā)者,這些編程語言發(fā)揮著什么作用?應(yīng)用在鴻蒙系統(tǒng)里的哪一方面?如果你是一名開發(fā)者,要通過哪些書籍升華知識呢?

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

linux

我們都知道鴻蒙系統(tǒng)是基于Linux開發(fā)的,它的源碼是C++語言。由于Linux可以運(yùn)行在多種硬件平臺上,所以基于此開發(fā)的鴻蒙系統(tǒng)可以盡可能的兼容適配更多的硬件設(shè)備,開發(fā)者在上面開發(fā)應(yīng)用相對來說也會更簡單一些。而且鴻蒙操作系統(tǒng)的組成是由四部分組成的:Linux內(nèi)核+麒麟處理器的運(yùn)行庫+編譯器+虛擬機(jī),這樣Linux自然就是首選了。

C/C++

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 


成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 


成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

我們再來看看華為鴻蒙的方舟編譯器,從上面的圖片資料我們可以得知:

鴻蒙系統(tǒng)與方舟編譯器的思路是相似的,直接使用機(jī)器語言編寫App,取消Android/ target=_blank class=infotextkey>安卓系統(tǒng)的ART虛擬機(jī),直接編譯為二進(jìn)制機(jī)器碼。這樣子做有優(yōu)點(diǎn)也有缺點(diǎn),缺點(diǎn)是必須有大量的靜態(tài)方案、內(nèi)存空間的要求更高了,優(yōu)點(diǎn)是不需要中轉(zhuǎn),執(zhí)行的速度更快了。

其次,鴻蒙OS是用C/C++進(jìn)行編寫軟件,所以對APP開發(fā)人員的要求提高了,這也就提高了鴻蒙建設(shè)生態(tài)鏈的技術(shù)要求。

Java

這是我培訓(xùn)鴻蒙的一個(gè)課程內(nèi)容思維導(dǎo)圖,從下面的圖片,我們可以明顯的看出來Java是經(jīng)常會使用或要接觸到的編程語言,且鴻蒙2.0發(fā)布會表明鴻蒙OS用 JavaScript 開發(fā)鴻蒙應(yīng)用。那我就主要跟大家簡單分析一下鴻蒙JavaScript GUI 技術(shù)棧~

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

  • JS 框架層,可理解為一個(gè)大幅簡化的 Vue 式 JavaScript 框架
  • JS 引擎與運(yùn)行時(shí)層,可理解為一個(gè)大幅簡化的 WebKit 式運(yùn)行時(shí)
  • 圖形渲染層,可理解為一個(gè)大幅簡化的 Skia 式圖形繪制庫

這三個(gè)構(gòu)成了一套面向嵌入式硬件的 GUI 技術(shù)棧。我個(gè)人認(rèn)為對于 GUI 部分,國內(nèi)凡是接觸過目前主流 Hybrid 式跨端方案或 JS 運(yùn)行時(shí)研發(fā)的一線開發(fā)者,都很容易從源碼出發(fā)來理解它。下面我就逐層對其做一些解讀和分析。

JS 框架層

從最頂層的視角出發(fā),要想用「鴻蒙 2.0」渲染出一段動(dòng)態(tài)的文本,你只需要編寫如下的 HML(類 XML)格式代碼:

<!-- hello.hml -->
<text onclick="boil">{{hello}}</text>

之后在同級目錄編寫這樣的 JavaScript:

// hello.js
export default {
  data: {
    hello: 'PPT'
  },
  boil() {
    this.hello = '核武器';
  }
}

這樣只要點(diǎn)擊文本,就會調(diào)用boil方法,讓PPT變成 核武器。

JS 引擎與運(yùn)行時(shí)層

JS引擎和運(yùn)行時(shí)之間,有什么區(qū)別與聯(lián)系呢?JS引擎一般只需符合ECMA-262規(guī)范,其中沒有對任何帶「副作用」的平臺API的定義。從setTimeout到document.getElementById到console.log再到fs.readFile,這些能執(zhí)行實(shí)際IO操作的功能,都需要由「將引擎API和平臺API膠合到一起」的運(yùn)行時(shí)提供。

那么在「鴻蒙 2.0」里,JS運(yùn)行時(shí)是怎么搭建出來的?

  • JS引擎選擇了JerryScript,這是一款由三星開發(fā)的嵌入式JS引擎。
  • 每種形和<text>和<div>的XML標(biāo)簽組件,都對應(yīng)一個(gè)綁定到JerryScript上的C++ Component 類,如TextComponent和DivComponent等。
  • 除UI原生對象外,還有一系列在JS中@system為前綴的 built-in 模塊,它們提供了JS中可用的Router / Audio / File等平臺能力(參見ohos_module_config.h)。

圖形繪制層

JS運(yùn)行時(shí)中的各種Component對象,是如何被繪制為手表等設(shè)備上的像素的呢?這就有關(guān)于「鴻蒙 2.0」中的另一個(gè)graphic_lite倉庫了??梢哉f,這里才是真正執(zhí)行實(shí)際繪制的GUI。像之前的TextComponent等原生組件,都會對應(yīng)到這里的某種圖形庫View。它以一種相當(dāng)經(jīng)典的方式,在C++層實(shí)現(xiàn)并提供了「Canvas風(fēng)格的立即模式GUI」和「DOM風(fēng)格的保留模式GUI」兩套API體系??偟膩碚f,這個(gè)圖形子系統(tǒng)的要點(diǎn)大致如下:

  • 圖形庫提供了UIView這個(gè)C++控件基類,其中有一系列形如OnClick /OnLongPress/OnDrag的虛函數(shù)?;久糠NJS中可用的原生Component類,都對應(yīng)于一種UIView的子類。
  • 除了各種定制化View之外,它還開放了一系列形如DrawLine/DrawCurve/DrawText等命令式的繪制方法。
  • 這個(gè)圖形庫具備名為GFX的GPU加速模塊,但它目前似乎只有象征性的FillArea矩形單色填充能力。

為了幫助大吉盡快的熟悉了解鴻蒙OS開發(fā)應(yīng)用,我給大家推薦了幾本編程語言經(jīng)典入門書籍,大家可以去看一看~

1.C程序設(shè)計(jì)語言

鴻蒙OS是用C/C++進(jìn)行編寫軟件,而且在計(jì)算機(jī)發(fā)展史上,沒有哪一種程序設(shè)計(jì)不用C語言。我們所熟知的“hello,world”就是這本書首次引入的,并且這一程序已經(jīng)是眾多程序員設(shè)計(jì)語言的第一選擇!

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

2.《匯編語言》

這本書采用了全新的結(jié)構(gòu)對課程的內(nèi)容進(jìn)行組織,對知識進(jìn)行很小化分割,為讀者構(gòu)造了循序漸進(jìn)的學(xué)習(xí)線索。匯編語言就是把0與1的集合用特殊的字母或者符號來表示,比如說01000001代表的是A,01100001代表a,于是就有字母和符號來表達(dá)一大堆的0與1,比如0100000101100001直接使用Aa來表示即可,所以匯編大大簡化了二進(jìn)制代碼,給我們編寫代碼帶來了極大的方便!但是計(jì)算機(jī)是不認(rèn)識這些字母和符號的,所以需要一個(gè)專門的程序來把這些字母和符號來轉(zhuǎn)換成0與1的代碼,計(jì)算機(jī)才會執(zhí)行,這個(gè)轉(zhuǎn)換的程序就是編譯器~

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

3.《JavaScript權(quán)威指南》

《JavaScript權(quán)威指南》主要介紹JavaScript語言的核心內(nèi)容,以及web瀏覽器中實(shí)現(xiàn)的遺留和標(biāo)準(zhǔn)的DOM。比較適合有經(jīng)驗(yàn)的開發(fā)者~

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

4.《Java從入門到精通》

顧名思義,這本書適合初學(xué)者翻閱,里的語言通俗易懂,并且有豐富的案例,全書詳細(xì)介紹了使用Java語言進(jìn)行程序開發(fā)要用到的知識。由淺入深,實(shí)戰(zhàn)演練敘述:基本知識→關(guān)鍵技術(shù)→高級運(yùn)用→新項(xiàng)目實(shí)戰(zhàn)演練,合乎認(rèn)知能力規(guī)律性。包含初識Java,了解Eclipse開發(fā)環(huán)境,Java語言基本,步驟操縱,字符數(shù)組,數(shù)組,類和對象,包裝類等內(nèi)容。

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

5.《Linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》

安卓系統(tǒng)是基于Linux開發(fā),蘋果IOS系統(tǒng)是基于Unix開發(fā),而華為自主研發(fā)的鴻蒙系統(tǒng)基于Linux開發(fā),由此可見,Linux語言的重要性。這本書詮釋了Linux內(nèi)核的設(shè)計(jì)與實(shí)現(xiàn)。想了解鴻蒙系統(tǒng)的開發(fā)者可以通過這本書受益匪淺,幫助他們更了解操作系統(tǒng),而且提高編碼中的效率和生產(chǎn)率。

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

6.《第一行代碼Android》

《第一行代碼Android》被譽(yù)為安卓開發(fā)者的學(xué)習(xí)經(jīng)典,整本書一步一步、全面的介紹了安卓開發(fā)的知識和經(jīng)驗(yàn)技巧。

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

《華為HMS生態(tài)與應(yīng)用開發(fā)實(shí)戰(zhàn)》

這本書是基于華為終端服務(wù)多年的技術(shù)積累和對移動(dòng)應(yīng)用生態(tài)發(fā)展的理解,結(jié)合HMS典型的開放能力和實(shí)際的業(yè)務(wù)場景,通過實(shí)戰(zhàn)方式詳細(xì)描述如何使用HMS開放能力快速完成移動(dòng)應(yīng)用的開放和上架。

這本書前面兩章介紹HMS Core生態(tài)發(fā)展歷程和HMS Core生態(tài)整體架構(gòu)及接入機(jī)制等,適合所有人閱讀!后面幾章介紹Kit快速集成,搭建實(shí)戰(zhàn)環(huán)境,深入講解每個(gè)Kit的功能原理,并通過一個(gè)支撐所有Kit集成業(yè)務(wù)的場景,詳解每個(gè)Kit的實(shí)戰(zhàn)環(huán)節(jié),包括Account Kit、IAP Kit、Push Kit、Location Kit等,以幫助開發(fā)者了解如何快速接入HMS開放的各項(xiàng)能力。

成為華為鴻蒙OS開發(fā)者,應(yīng)該學(xué)習(xí)什么編程語言?

 

最后,我覺得成為鴻蒙OS的開發(fā)者,學(xué)什么語言不如去進(jìn)行系統(tǒng)化學(xué)習(xí)。想成為一名鴻蒙開發(fā)者最好是有一個(gè)系統(tǒng)的培訓(xùn),如果是自學(xué)會比較吃力,當(dāng)然不是老王不推薦自學(xué),只是系統(tǒng)化的學(xué)習(xí)知識會更加牢固,而且學(xué)習(xí)的速度也會比較快,節(jié)省時(shí)間~而且自學(xué)考鴻蒙應(yīng)用開發(fā)證書的路途太坎坷了,不一定能拿到證書,想要進(jìn)入鴻蒙OS應(yīng)用開發(fā)的相關(guān)公司工作,證書是一個(gè)門檻,所以我推薦大家系統(tǒng)學(xué)習(xí)!

大家有想要進(jìn)行系統(tǒng)化學(xué)習(xí)鴻蒙系統(tǒng)的話,可以私聊我哈。

——————

原創(chuàng):老王丨鴻蒙hms開發(fā)者高級認(rèn)證持證人!學(xué)習(xí)更多鴻蒙OS相關(guān)開發(fā)技術(shù)可以關(guān)注我的公眾號:鴻蒙開發(fā)者老王

分享到:
標(biāo)簽:鴻蒙 OS
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定