鴻蒙開發者官網:developer.harmonyos.com/cn/homelinux
鴻蒙應用開發文檔:developer.harmonyos.com/cn/docs/doc…shell
鴻蒙API文檔:developer.harmonyos.com/cn/docs/doc…windows
真正的鴻蒙SDK API在 ohos.jar ,能夠結合 鴻蒙API文檔 查看。markdown
開發語言有 Java,C/C++ ,JS 分別面向不一樣的開發場景,Java的開發體驗跟Android基本一致,Android開發者能夠無縫切入。網絡
Hap是鴻蒙的執行文件,裏面包含了一個 classes.dex 和 entry_signed_entry.apk ,entry_signed_entry.apk 是個殼子,目前看來它的做用就是用來調起 根路徑下的 classes.dex 。ide
根路徑的classes.dex裏面的構建GUI的上層應用代碼,基本脫離了AndroidAPI,但明顯看出來是在仿着Android進行:oop
關於渲染引擎,官網只能找到資料是3D引擎支持 OpenGL 和 Vulkan, 2D 引擎沒有看到任何資料,搞很差也多是Skia,畢竟國內也沒有成熟的好引擎,咱們欠缺的太多了。gradle
AIDL 仿了一個 IDL ,接口設計也相似,底層不知道也是仿着寫的,仍是直接複用了Android的機制。ui
JNI理論上應該支持,可是目前文檔上沒有看到介紹。spa
一些jetpack的東西,相似livedata 和 databinding的機制也仿了,線程操做引入了相似 RxJava的調度器機制。
沒有什麼高大上的東西,國內在操做系統領域跟國外技術代差太大了,只是新手在刷經驗值的階段,先模仿作好了,再想高大上的事情吧。
目前,看到或許是個優點的亮點,也就是超級虛擬終端的跨設備整合能力:
看文檔介紹,這個能力可讓一個應用的A頁面和B頁面分別運行在不一樣的設備上,就好像在同一個設備上使用同樣,能隨便拖拽一個頁面從A設備到B設備上,還能夠繼續使用,嗯,若是是這樣的場景,仍是挺香的。
再就是本身進行完整的系統設計,也是有優點的,例如,熱更新能力想支持就能支持:
總的來講,按目前的資料看,鴻蒙就是仿了一個Android,進行艱難的國產化,三五年內想超越Android是不現實的,國內在操做系統這方面幾乎等同於空白,能從仿一個開始起步,已是最好的結果了。但願國產牛逼的,也要考慮到事物發展的定律,沒有足夠的積累,是沒法橫空出世一個厲害的操做系統的,羅馬不是一天建成的。至少在如今這個階段,完整的仿一個系統,按本身的理解進行重寫,已是一個好的開端了,系統層源碼看不到,不清楚系統核心出來之後會是什麼樣,但至少如今,它邁出了第一步,應該給予鼓勵和支持。
想要體驗一下的,能夠在官網直接下載 Huawei Dev Eco Studio ,直接新建Java版本的工程便可:
Huawei Dev Eco Studio 經過 IdeaA 改的,跟Android Studio 同樣,使用方式相信作Android開發的同窗都一看就懂。
目前鴻蒙開發的應用只能跑在鴻蒙機器上,手頭沒有鴻蒙機器,模擬器又不能用的狀況下,只能使用華爲的遠程機器,經過 Tools -> DevEco Login 登錄華爲開發者帳戶,再使用 HVD Manager 建立遠程機器,就能夠調試使用了。
成功鏈接遠程鴻蒙TV設備:
成功運行咱們用鴻蒙SDK編寫的Demo:
再補充一下,如今華爲的HVD Manager鏈接的服務仍是個小水管,我昨晚下了100多遍才下載成功30M的插件。
開始都是10多Kb的速度,直到過了12點,可能下載的人少了,纔到了100多Kb。
當你看到這個報錯的時候:
不要慌,不是那個啥的梯問題,掛了外網也沒用,反而會更慢,查了下網絡鏈接也都是國內的服務,猜想就是它現階段準備的帶寬小水管過小,沒想到這麼多開發者蜂擁而上。
若是這種狀況下,不能調試運行,也不要氣餒。
雖然經過SDK的上層應用API發現已經跟Android切割了,可是可能鴻蒙的hap的打包體系仍是借用Android的,使用Gradle打包,因此,咱們的命令行依然是有效的:
windows:
gradlew.bat assembleRelease
複製代碼
Mac/linux:
./gradlew assembleRelease
複製代碼
同樣是能夠打出來hap包的,這時候解包就能夠對鴻蒙的應用進行剖析了。