(杭州健瀾 科技 有限公司編輯:張景領(lǐng) 全文約4390字,預(yù)計(jì)12分鐘可以讀完)
成都創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元桑植做網(wǎng)站,已為上家服務(wù),為桑植各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
華為的鴻蒙(Harmony OS)系統(tǒng)正式發(fā)布了,在發(fā)布會(huì)之后意料之中的出現(xiàn)了兩極分化的評(píng)論趨勢(shì),說什么的都有,像什么忽悠人、改別人的、手機(jī)不能用等等,但如果你仔細(xì)去分析發(fā)布會(huì)上有關(guān)鴻蒙系統(tǒng)的全程內(nèi)容,你會(huì)發(fā)現(xiàn)它和大多數(shù)評(píng)論中的那個(gè)“系統(tǒng)”是不一樣的,大家不要盲目去詆毀“鴻蒙系統(tǒng)”,同時(shí)也不要肆意吹捧,否則很容易變成“捧殺”,在參與討論之前,我覺得大家有必要先搞清楚,它是一個(gè)什么樣的系統(tǒng)。
在發(fā)布會(huì)上,他們用了很多專業(yè)的名詞進(jìn)行功能解釋,我相信這是大多數(shù)觀眾聽不懂的,甚至大多數(shù)媒體的編輯也聽不懂,在這種背景下,不管是吹捧的,還是詆毀的,都沒在靠譜的頻道上。
以下為我個(gè)人對(duì)鴻蒙(Harmony OS)系統(tǒng)的理解,現(xiàn)在就分享給大家:
目前我們正在使用的各種智能設(shè)備,如:手機(jī)、PC電腦、平板電腦、智能手表等,它們?nèi)加凶约旱南到y(tǒng),即使是同一個(gè)品牌下的產(chǎn)品,也會(huì)有專門為它定制的系統(tǒng),如蘋果公司:
手機(jī) iOS
電腦 MacOS
手表 watchOS
電視 tvOS
平板 iPadOS
雖然蘋果公司將它們之間的互動(dòng)做得很好,但仍然需要大量的人工來編寫和維護(hù)不同的系統(tǒng),站在開發(fā)者的角度來看,可能需要針對(duì)不同的平臺(tái)調(diào)整不同的架構(gòu)和UI,這是一個(gè)比較耗時(shí)的工作。
在使用的過程中,不同設(shè)備之間的系統(tǒng)需要去判斷你的操作,然后根據(jù)不同的平臺(tái),不同的操作來給你調(diào)用不同的程序來執(zhí)行,對(duì)蘋果產(chǎn)品來說,自家產(chǎn)品之間互通體驗(yàn)還算不錯(cuò),但如果和安卓設(shè)備或windows設(shè)備之間互動(dòng)就顯得麻煩很多,早期用蘋果手機(jī)的人,想把照片拷貝到電腦上都很費(fèi)勁,甚至這是很多蘋果手機(jī)用戶需要學(xué)習(xí)的第一課“如何把照片復(fù)制到電腦上”。
對(duì)Android系統(tǒng)的設(shè)備來說就更別提了,除了系統(tǒng)的碎片化之外,不同廠商之間都有自己的規(guī)則,沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),再加上亂七八糟的第三方APP,導(dǎo)致安卓設(shè)備體驗(yàn)極差,相互之間想要達(dá)到完美契合的程度,需要比蘋果付出更多人力和時(shí)間,所以很多大 游戲 或是應(yīng)用,都是最新上架蘋果商店,更新也是蘋果設(shè)備先更新,因?yàn)橄鄬?duì)來說,蘋果系統(tǒng)更容易維護(hù)。
Android系統(tǒng)現(xiàn)在看上去還不錯(cuò),但其實(shí)它有個(gè)很狼狽的過去。我學(xué)過軟件開發(fā),學(xué)會(huì)網(wǎng)站編程,學(xué)過數(shù)據(jù)庫等N種編程語言,甚至稍微有那么一點(diǎn)點(diǎn)開發(fā)經(jīng)驗(yàn)的人都會(huì)知道,如果你去修改一個(gè)別人的程序,如果這個(gè)程序一直在被不同的人,不同的時(shí)期維護(hù),這里面就會(huì)出現(xiàn)大量的垃圾代碼。
有垃圾代碼不可怕,可怕的是誰也不敢動(dòng),不敢刪。這些垃圾代碼雖然看上去沒用,但說不定某一條就與另一個(gè)指令相連,如果你刪了就會(huì)產(chǎn)生連鎖反應(yīng),甚至?xí)?dǎo)致系統(tǒng)崩潰,所以比較穩(wěn)妥地做法就是,在不改變?cè)写a的情況下,把自己想要的功能再加進(jìn)去,備注上自己的名字。
這會(huì)造成什么問題呢?我們舉個(gè)例子:
你想從16樓到1樓拿快遞,原本只要從固定的電梯直接到1樓即可,也就30秒不到,結(jié)果你從家出來發(fā)現(xiàn)樓道有30個(gè)電梯,上了一個(gè)之后發(fā)現(xiàn)它只到13樓,你只好下來再進(jìn)另一個(gè),運(yùn)氣好能到1樓,運(yùn)氣不好估計(jì)還得在6樓停一下,運(yùn)氣最差的情況你可能坐了20個(gè)電梯都還沒到1樓。
這就是垃圾代碼帶來的副作用,現(xiàn)在的Android就是這個(gè)情況,大家都知道有垃圾代碼,也知道它會(huì)影響運(yùn)行效率,但誰也不敢動(dòng),或者說誰也不會(huì)去動(dòng),都不想承擔(dān)系統(tǒng)崩潰的風(fēng)險(xiǎn),這是人之常情。
華為的鴻蒙系統(tǒng)提出一個(gè)“微內(nèi)核”的概念,其實(shí)這個(gè)谷歌新系統(tǒng)Fuchsia OS就是微內(nèi)核的系統(tǒng),它們希望用這個(gè)全新的系統(tǒng)來替代Android這種老弱病殘的現(xiàn)狀,因?yàn)樗砩系念B疾太多了,還是沒藥可救的那種。
這種“微內(nèi)核”的系統(tǒng)最大的好處就是,可以讓開發(fā)者提交的應(yīng)用,最方便、最快地適配所有硬件,這對(duì)消費(fèi)者來說也有非常大的好處,你可以第一時(shí)間更新你手里的所有智能設(shè)備,類似蘋果每年的大版本系統(tǒng)更新,幾乎全球的用戶都可以同時(shí)更新,這是國內(nèi)Android用戶這輩子都體驗(yàn)不到的,所以我們只能寄托于新的系統(tǒng)。
Harmony OS 鴻蒙,基于微內(nèi)核的全場(chǎng)景分布式OS。
“基于微內(nèi)核的全場(chǎng)景分布式OS”這句話是重點(diǎn),它不是一個(gè)專門為單獨(dú)設(shè)備準(zhǔn)備的系統(tǒng),它是一個(gè)平臺(tái)式的系統(tǒng),可以通過中心網(wǎng)絡(luò)派發(fā)資源和功能,所有功能又可以單獨(dú)使用,靈活多變但統(tǒng)一和諧。
我們?cè)賮砩钊氲夭鸾庖幌馒櫭上到y(tǒng),它與普通系統(tǒng)最大的不同之處在于,它在運(yùn)行程序的一開始并不是直接執(zhí)行所有內(nèi)容,而是先判斷你是什么設(shè)備,然后直接走單獨(dú)的通道去執(zhí)行,而所執(zhí)行的這些程序,不管你是電視、電腦、還是手機(jī),它們用的都是同一套系統(tǒng),只是在最開始的時(shí)候選擇了一下設(shè)備,這個(gè)系統(tǒng)并不是給某種設(shè)備單獨(dú)定制的,而是一個(gè)通用的系統(tǒng)。
這樣做的好處就是,每次你需要維護(hù)的時(shí)候,只需要把第一層的東西做升級(jí),下面的底層是不用動(dòng)的。這就好像系統(tǒng)是一臺(tái)CD機(jī),不管誰家的CD都可以在我這里播放,只要你按統(tǒng)一的Copy程序做的光盤就行了,如果你想聽其他人的音樂,只要換張CD即可。
而以往的系統(tǒng)就比較麻煩,如果你想換一張CD,可能需要針對(duì)這張CD去制造一臺(tái)CD機(jī),最差也得把這臺(tái)CD機(jī)修改成可以播放的樣子。
除了設(shè)備間的獨(dú)立之外,它會(huì)讓硬件本身的功能成為系統(tǒng)可以調(diào)配的東西,比如手機(jī)上的攝像頭,它甚至可以通過系統(tǒng)間的調(diào)度被電視或手表使用,因?yàn)樗鼈冇玫氖峭粋€(gè)系統(tǒng),所以具備了相互通信的能力。
你們有沒有看過《速度與激情》這部電影,它里面的天眼系統(tǒng)其實(shí)就是在調(diào)配所有生活周邊的攝像頭來獲取畫面,從而準(zhǔn)確地追蹤到目標(biāo)人物。雖然鴻蒙還沒有這么高級(jí),但它已經(jīng)是個(gè)雛形了。
相信很快我們就可以用家里的電視屏幕當(dāng)大疆無人機(jī)的顯示屏用了,這會(huì)給我們帶來無限的 娛樂 空間。
當(dāng)然要實(shí)現(xiàn)這種功能上的調(diào)用需要二個(gè)條件,第一個(gè)就是必須是采用了鴻蒙系統(tǒng)的硬件;第二就是必須登陸了相同的華為賬號(hào)。這里面涉及到了另一個(gè)生態(tài)的問題,我們后面再講,還是先說系統(tǒng)。
可以單獨(dú)調(diào)配資源的另一個(gè)好處就是,它可以像我們現(xiàn)在的智能路由器一樣,根據(jù)你正在做的事情來給你不同的性能。如果你正在玩 游戲 ,它可能會(huì)保證你玩 游戲 的同時(shí),再去幫你升級(jí)一下系統(tǒng),但它還不能影響你的網(wǎng)速;如果你正在看視頻,在這種幾乎不需要性能的場(chǎng)景時(shí),它可能會(huì)在后臺(tái)幫你徹底殺毒或自檢一次,這種優(yōu)化能力其實(shí)現(xiàn)在的手機(jī)也可以做到,但這個(gè)邏輯本身就是吃性能的,所以當(dāng)它以系統(tǒng)的一部分出現(xiàn)的時(shí)候,才是最完美的。
這功能其實(shí)你是看不到的,但從其它地方你也可以間接發(fā)現(xiàn),如:費(fèi)電小了、發(fā)熱小了、打開東西更快了、不用老去清理緩存了,藍(lán)牙耳機(jī)玩 游戲 或許都沒延時(shí)了(我發(fā)現(xiàn)了一些端倪,他們已經(jīng)在做藍(lán)牙耳機(jī)玩 游戲 降低延時(shí)的測(cè)試了,EMUI 10.0見)。
至于系統(tǒng)安全性方面,我并不是專家,所以在這里沒辦法給大家更深度的普及,但我可以說一下我個(gè)人的理解。鴻蒙系統(tǒng)這類微內(nèi)核的系統(tǒng),本身是非常小巧的,代碼量也不大,所以它可以用到更深度的安全級(jí)別措施。
另外它天生就沒有root權(quán)限,也就是說不會(huì)給任何第三方應(yīng)用或個(gè)人系統(tǒng)最核心的權(quán)限,這也算是最大限度的保證安全的措施之一了??赡芎芏嗳苏f手機(jī)不能root就沒什么可玩性了,但我個(gè)人認(rèn)為沒有是對(duì)的,因?yàn)檫@樣可以最大限度的保證系統(tǒng)的安全以及流暢性。
可能你們還沒注意到,很多手機(jī)第三方主題、字體、甚至動(dòng)態(tài)壁紙,都會(huì)明顯影響手機(jī)的流暢性,這里面字體的影響是最大的,很多莫名卡頓的現(xiàn)象換成系統(tǒng)默認(rèn)字體立刻就好了。
我們來看一下鴻蒙OS的整體結(jié)構(gòu),其實(shí)它仍然保留了Linux內(nèi)核,這樣一來就可以直接兼容安卓應(yīng)用,這在初期是非常重要的,畢竟不能讓用戶買回來沒得用,在這段過度期中間,華為方面肯定會(huì)聯(lián)合各大主流廠商定制屬于鴻蒙OS的專用APP,這才是發(fā)揮它性能的最佳方式。
也就是說,在兼容安卓APP的這個(gè)時(shí)間里,它的威力還沒辦法完全施展出來,當(dāng)那些采用“方舟編譯器”開發(fā)的應(yīng)用上線之后,才能發(fā)揮它至少八成以上的實(shí)力,當(dāng)鴻蒙OS的生態(tài)建立完全時(shí),才可以發(fā)揮接近100%的實(shí)力。這也是我為什么說,鴻蒙OS需要時(shí)間來沉淀,它不可能一上來就是滿血狀態(tài)。
我們可以理解為,現(xiàn)在所有用“方舟編譯器”開發(fā)的應(yīng)用,都可以在鴻蒙OS中發(fā)揮最快的效率。
當(dāng)使用方舟編譯器的應(yīng)用足夠多時(shí),或者說90%以上常用APP都有方舟編譯器的版本時(shí),鴻蒙OS的底層會(huì)完全拋棄Linux內(nèi)核,只保留鴻蒙微內(nèi)核,這個(gè)時(shí)候才是鴻蒙(Harmony OS)系統(tǒng)正式獨(dú)立且完全獨(dú)立的日子,這一天才是它的真正崛起的日子。
為了早日實(shí)現(xiàn)這一天,其實(shí)華為方面下了很多功夫,甚至他為開發(fā)者提供了非常舒服的便攜環(huán)境,很多基礎(chǔ)操作都可以直接用拖拽的方式來完全設(shè)計(jì),模塊化編程是未來的趨勢(shì),我這種曾經(jīng)只會(huì)手動(dòng)敲代碼的老古董已經(jīng)被淘汰了。
它可以讓你一次開發(fā),同時(shí)適配所有搭載了鴻蒙OS的設(shè)備,這是無數(shù)安卓開發(fā)人員的夢(mèng)想,只可惜在安卓系統(tǒng)上已經(jīng)沒辦法實(shí)現(xiàn)了。
我估計(jì)后面華為會(huì)為開發(fā)者提供不錯(cuò)的獎(jiǎng)勵(lì)措施,有獎(jiǎng)勵(lì),有平臺(tái),有目標(biāo),有未來,生態(tài)成型基本上就是時(shí)間問題。
【產(chǎn)品的誕生】
現(xiàn)在的鴻蒙OS是可以用在手機(jī)上的,但支持的APP并不是很多,而且生態(tài)還沒有建立起來,這些都需要時(shí)間,之前我和瓦力讀者說是2年時(shí)間,這與發(fā)布會(huì)上華為方面的規(guī)劃基本是吻合的。
現(xiàn)在拿出鴻蒙OS的目的很簡單,告訴大家鴻蒙OS并不只是PPT,它已經(jīng)是完整的系統(tǒng)了,順便讓那些噴子閉嘴。另一個(gè)原因是,它的電視用上了鴻蒙OS,沒必要藏著掖著,同時(shí)也是給那些應(yīng)用開發(fā)者一個(gè)定心丸,讓他們可以放心為鴻蒙OS開發(fā)應(yīng)用。
這里有一個(gè)“因素”很重要,如果明天美國不讓華為用安卓系統(tǒng)了,鴻蒙OS就必須提前應(yīng)用到手機(jī)上,這是一個(gè)沒辦法的備選方案,至少可以用,雖然和常規(guī)安卓沒什么大區(qū)別。
但如果換了另外一個(gè)廠商,如小米、OPPO、vivo等,這幾乎是毀滅性的打擊,所以防患于未然是必須要做的。但小米他們暫時(shí)沒辦法弄自己的系統(tǒng),因?yàn)檫@需要很多錢,很多人,很多時(shí)間,即使有一天美國禁止全中國的手機(jī)廠商使用安卓系統(tǒng),其實(shí)鴻蒙OS也可以給大家用,與其說它是華為的應(yīng)急方案,倒不如說是全中國手機(jī)廠商的應(yīng)急方案,其實(shí)如果不是萬不得已,華為也不想這么早就把鴻蒙OS用在手機(jī)里,時(shí)間點(diǎn)太靠前了。
到了2020年,鴻蒙OS會(huì)被用到筆記本電腦、手環(huán)、手表中,2021年才是應(yīng)用到手機(jī)上的最佳時(shí)機(jī),那時(shí)候有沒有安卓系統(tǒng)都已經(jīng)無所謂了。這樣做也是為了先把生態(tài)和周邊做好,手機(jī)出來的時(shí)候,可以直接整合,用戶上手就是完全版本的體驗(yàn),這也是最穩(wěn)妥的方式。
如果你對(duì)手機(jī)系統(tǒng)或是手機(jī)行業(yè)有一些了解,相信看完我上面的分享之后應(yīng)該明白了,鴻蒙(Harmony OS)的目標(biāo)根本不是Android,而是谷歌正在開發(fā)的Fuchsia OS,以及蘋果正在部署的相應(yīng)系統(tǒng)。
所以那些經(jīng)常用Android來和鴻蒙(Harmony OS)說事的人,應(yīng)該換換思路,是時(shí)候接軌下一代系統(tǒng)了。
搭載鴻蒙系統(tǒng)的終端設(shè)備已經(jīng)達(dá)到了9000萬 ,此前鴻蒙系統(tǒng)表現(xiàn)優(yōu)異,很快地占領(lǐng)著市場(chǎng)。也因?yàn)轼櫭上到y(tǒng)的發(fā)展比預(yù)料中要快一些,華為也是將原本的目標(biāo)往上提了一提。
看上去華為似乎已經(jīng)不用擔(dān)心鴻蒙會(huì)無法崛起了,畢竟在手機(jī)業(yè)務(wù)腰斬的背景之下,鴻蒙可以說是華為壓箱底的救命之招了。但是呢,雖然從數(shù)據(jù)來看,鴻蒙系統(tǒng)好像確實(shí)發(fā)展得挺不錯(cuò), 但是實(shí)際上鴻蒙系統(tǒng)正面臨著其最大的問題,生態(tài)建立不起來! 拿軟件開發(fā)來說,近日有人表示:現(xiàn)在 鴻蒙系統(tǒng)雖然號(hào)稱有120萬開發(fā)者,但是鴻蒙原生APP到現(xiàn)在卻只有320 。這個(gè)數(shù)量未免有點(diǎn)少的過頭了!難道華為鴻蒙就只能提供一個(gè)操作系統(tǒng),然后使用的全是安卓的APP嗎?
120萬相較于320 ,對(duì)比之下的數(shù)字差距能夠讓很多人困惑不已,同時(shí)也讓我們對(duì)鴻蒙的處境表示擔(dān)憂。對(duì)于一個(gè)操作系統(tǒng)來說,大量App開發(fā)可以說是其最關(guān)鍵的部分之一了,沒有足夠多的APP,鴻蒙系統(tǒng)等于是一個(gè)空屋,里面沒有足夠多的家具和日用品。而現(xiàn)在鴻蒙系統(tǒng)從嚴(yán)格意義上來說,也算不上是空屋,只是其還和安卓兼容,可以使用安卓的APP 。但這樣一來,鴻蒙想要獨(dú)立,變成第三大操作系統(tǒng),就變得難上加難了。
為何會(huì)出現(xiàn)這么大的落差,平均換算下來,幾千個(gè)開發(fā)者才能開發(fā)出一個(gè)APP?這當(dāng)然是不可能的。關(guān)鍵的地方在于鴻蒙雖然有著大量的開發(fā)者, 但是這其中很多開發(fā)者都算不得上鴻蒙的“新加入者”,而是華為HMS的開發(fā)者。
還記得一開始針對(duì)華為的時(shí)候,是從移動(dòng)服務(wù)系統(tǒng)開始的。手機(jī)的移動(dòng)服務(wù)系統(tǒng),主要提供一些基礎(chǔ)的服務(wù)。比如說GPS、應(yīng)用商場(chǎng)、支付等?,F(xiàn)在使用最多的移動(dòng)服務(wù)系統(tǒng)是谷歌的GMS。華為若是在國內(nèi)發(fā)展,根本沒必要擔(dān)心移動(dòng)服務(wù)的事情,因?yàn)樵趪鴥?nèi)是不需要GMS的。但是華為做的高端品牌,市場(chǎng)目標(biāo)放在了全球,肯定是要在國外銷售的,這時(shí)候就不免受到老美的制裁。因?yàn)樵趪?,智能手機(jī)沒有GMS就很難受用,最基礎(chǔ)的功能都要受到限制。 所以華為也是因?yàn)楸唤肎MS導(dǎo)致國外市場(chǎng)下滑嚴(yán)重,直到華為出了自己的HMS,這種問題才得以解決。
HMS比鴻蒙出來要早不少時(shí)間,所以其生態(tài)已經(jīng)建立了很多,與HMS合作的開發(fā)者也不在少數(shù)。在計(jì)算鴻蒙系統(tǒng)的開發(fā)者數(shù)量的時(shí)候,將很多這部分的人算到了里面。 這多少有文字 游戲 的意思,因?yàn)檫@些人很多是不為鴻蒙開發(fā)APP的。
另一方面,就算這些人也有為鴻蒙生態(tài)出力的計(jì)劃,但這不代表著這些開發(fā)者就會(huì)立馬為鴻蒙開發(fā)APP。 要知道開發(fā)者們并不是免費(fèi)開發(fā)的,大多數(shù)開發(fā)者至少要通過開發(fā)獲得足夠的回報(bào)才愿意去做這個(gè)事。 而現(xiàn)在鴻蒙雖然在快速發(fā)展之中,但是距離安卓和蘋果那樣的系統(tǒng)有很大的差距,開發(fā)者們從性價(jià)比的角度來考慮,多半還是會(huì)選擇開發(fā)安卓和蘋果的軟件。至少風(fēng)險(xiǎn)不高,回報(bào)也客觀。
更重要的是,鴻蒙是兼容安卓的,這就意味著開發(fā)安卓的APP,就有部分是相當(dāng)在開發(fā)鴻蒙的APP, 有的時(shí)候,一份力打了兩份工,何樂而不為呢?
客觀來說,我們必須要認(rèn)清現(xiàn)實(shí), 因?yàn)楝F(xiàn)在的鴻蒙和安卓,IOS的差距還很大! 想要追趕需要很長的時(shí)間和努力!我們說120萬看起來已經(jīng)很多了,但是以蘋果為例就知道差距了。蘋果的開發(fā)者數(shù)量在2300萬左右,是鴻蒙的20倍,而且蘋果的開發(fā)者又不像鴻蒙的開發(fā)者有不少的“水貨”,還有不少在觀望。 再者,另外兩大操作系統(tǒng)都經(jīng)過很長時(shí)間的積累,生態(tài)已經(jīng)相當(dāng)成熟,鴻蒙現(xiàn)在不僅是從零開始,還是從零開始挑戰(zhàn),劣勢(shì)是必然的!
但是也不必太灰心,鴻蒙的潛力很好,畢竟其實(shí)力不亞于其他兩大操作系統(tǒng)的,甚至還要優(yōu)秀很多。現(xiàn)在這個(gè)發(fā)展勁頭也很強(qiáng)勁。如果保持現(xiàn)在這個(gè)趨勢(shì)發(fā)展下去,相信會(huì)有越來越多的開發(fā)者能夠看到足夠的回報(bào)在向他們招手,到時(shí)候,鴻蒙的開發(fā)者自然就多了,鴻蒙的原生APP自然也會(huì)慢慢變多了。
從客觀角度來說,我們要理性看待鴻蒙現(xiàn)在的發(fā)展現(xiàn)狀,不要?jiǎng)硬粍?dòng)就把它吹上天。同樣的,我們也不要太悲觀,鴻蒙有實(shí)力,是金子在哪都發(fā)光。相信鴻蒙系統(tǒng)會(huì)慢慢變好,最終成為茁壯的大樹。我們只需要慢慢等待時(shí)間就好了。
參考 鴻蒙官方文檔(點(diǎn)擊傳送門) ,做一下流程梳理簡化,及踩坑記錄
華為將真機(jī)調(diào)試分成物理真機(jī)和遠(yuǎn)程真機(jī)。這里說的都是物理真機(jī)(手機(jī)、平板)。鴻蒙真機(jī)調(diào)試巨復(fù)雜,不像Android那么容易方便。
貼一下官方的調(diào)試流程圖:
總結(jié)一下:
上面這個(gè)流程可以忽略,沒講到重點(diǎn)。真機(jī)調(diào)試是需要在 ? AppGallery Connect 中創(chuàng)建應(yīng)用的,調(diào)試應(yīng)用需要的cer和p7b文件是從這里生成的。
先決條件:
1. 鴻蒙手機(jī)通過USB連接電腦,并開啟USB調(diào)試。
2. 一個(gè)華為開發(fā)者賬號(hào),實(shí)名認(rèn)證
3. APP開發(fā)工具DevEco-Studio
關(guān)鍵流程:
1. Studio創(chuàng)建應(yīng)用
2. 如果未登錄過,F(xiàn)ile Project Structure Project Signing Configs簽名配置頁,點(diǎn)擊“Sign In”
3. AppGallery創(chuàng)建應(yīng)用(包名和Studio創(chuàng)建的一樣)
4. 官方文檔到這在簽名配置頁就點(diǎn)Try Again可以自動(dòng)簽名,我試了不行,以下全是手動(dòng)
5. Studio中Build Generate key and CSR? ?生成p12和csr文件
6. 獲取手機(jī)udid,命令行hdc shell bm get -udid(下一步設(shè)備管理要用)
7. AppGallery主頁 用戶與訪問 左側(cè)設(shè)備管理添加udid的設(shè)備(生成p7b時(shí)要用)
8. AppGallery主頁 用戶與訪問 左側(cè)證書管理生成cer文件(生成p7b和簽名配置要用)
9. AppGallery主頁 我的項(xiàng)目 左側(cè)HarmonyOS應(yīng)用 HAP provision profile,生成p7b文件
10. 最后在簽名配置頁配好 p12、p7b、cer等參數(shù),運(yùn)行鴻蒙應(yīng)用到真機(jī)就行了
最近看到很多自媒體都在說:華為鴻蒙系統(tǒng)雖然號(hào)稱有120萬開發(fā)者,但鴻蒙原生APP到現(xiàn)在卻只有300多個(gè)。所以華為自提供系統(tǒng),至于軟件,能用安卓的就用。
咋一看,這種說法好像也沒有問題,因?yàn)橄到y(tǒng)最重要的就是生態(tài),如果周邊生態(tài)跟不上,哪怕是強(qiáng)如當(dāng)年微軟搞得WP也皎然于民。
所以當(dāng)鴻蒙一發(fā)的時(shí)候,我們都期望它能夠迅速占領(lǐng)市場(chǎng),完善自己的生態(tài)圈,當(dāng)我們看看有120萬的開發(fā)者,只開發(fā)出320APP的時(shí)候,這個(gè)數(shù)字的背后確實(shí)讓人困惑不已,也對(duì)鴻蒙的前景表示擔(dān)憂也很正常。畢竟這個(gè)數(shù)量太少了,難道鴻蒙以后就靠安卓軟件活下去嗎。
關(guān)于鴻蒙的面世,這里不做更多詳細(xì)探討,總結(jié)起來就是一句,備胎的產(chǎn)物。如果漂亮國沒有封禁華為的話,鴻蒙也許只會(huì)出現(xiàn)在物聯(lián)網(wǎng)上應(yīng)用,手機(jī)系統(tǒng)?也許后期會(huì)有,但至少不是現(xiàn)在這種情況面世。
但計(jì)劃趕不上變化這句話很好描述了華為這幾年的情況,鴻蒙的出現(xiàn)也許不是最正確合適的時(shí)候,但它也足夠優(yōu)異,因?yàn)樗陌l(fā)展確實(shí)比預(yù)料要快一些。根據(jù)華為官方說法,有300多家企業(yè)加入鴻蒙生態(tài),已經(jīng)有65款硬件設(shè)備可以升級(jí)到鴻蒙2.0版本,同時(shí)搭載鴻蒙系統(tǒng)的終端設(shè)備已經(jīng)接近一個(gè)億,對(duì)于一個(gè)新生的系統(tǒng)來說,這確實(shí)是個(gè)不小的成就。
但看似美麗數(shù)據(jù)背后卻帶著未知的危機(jī),雖然數(shù)據(jù)來看,鴻蒙系統(tǒng)確實(shí)已經(jīng)很好,看上去也不會(huì)擔(dān)心它以后的發(fā)展之路。
但實(shí)際上鴻蒙現(xiàn)在面對(duì)最大的難題就是生態(tài),這就是前面提到120萬開發(fā)者只開發(fā)出300多個(gè)原生鴻蒙APP的說法。
鴻蒙系統(tǒng)現(xiàn)在最大的問題還是在生態(tài)不夠健全,借雞生蛋終究還是臨時(shí)辦法,加上谷歌現(xiàn)在把雞也殺了,那么只會(huì)自己養(yǎng)雞生蛋了。所以鴻蒙想要獨(dú)立成第三大操作系統(tǒng),不走微軟和三星的老路,那么鴻蒙就是首先學(xué)會(huì)養(yǎng)雞。
當(dāng)華為稱鴻蒙的生態(tài)的開發(fā)者有120萬的時(shí)候,人們覺得華為的雞已經(jīng)養(yǎng)起來,但當(dāng)宣稱只開發(fā)了320個(gè)APP的時(shí)候,人們就懷疑華為養(yǎng)的是公雞嗎。因?yàn)榘凑者@個(gè)算法,幾千人才才開發(fā)一個(gè)APP 這顯然不正常。
百萬人開發(fā)幾百個(gè)APP顯然是不正常的,但在這百萬人當(dāng)中,首先我們要搞清楚有多少是鴻蒙系統(tǒng)的開發(fā)者,因?yàn)榘凑杖A為官方的說法,這120萬的開發(fā)者是HMS的開發(fā)者,因?yàn)槿A為在被漂亮國禁用GSM以后,華為就自行建立了HMS服務(wù)。原則上來說,這些開發(fā)者都算是鴻蒙生態(tài)的開發(fā)者,根據(jù)華為官方的appgallery統(tǒng)計(jì),支持HMS服務(wù)的軟件有上百萬個(gè),所以如果按照這個(gè)算法,這些開發(fā)者開發(fā)的APP也不算少了。但如果是按照鴻蒙原生的APP計(jì)算,那么情況就是另外一種說法,這是計(jì)算和統(tǒng)計(jì)不一樣引起的結(jié)果。
如果非要給出一個(gè)定義,那么只能說這120萬是華為HMS生態(tài)的開發(fā)者,它還不完全算是鴻蒙系統(tǒng)的開發(fā)者,畢竟HMS發(fā)布要比鴻蒙早很多。因?yàn)檫@部分人大多是開發(fā)軟件服務(wù),而不是原生軟件,所以120萬對(duì)鴻蒙來說多少有點(diǎn)文字 游戲 數(shù)字。
每一個(gè)系統(tǒng)生態(tài)的建立都需要時(shí)間的沉淀,作為一個(gè)只發(fā)了幾個(gè)月的系統(tǒng),它原生APP少主要可能是兩個(gè)方面原因造成一是它兼容谷歌安卓的應(yīng)用,一般性的企業(yè)不會(huì)再獨(dú)立開發(fā)鴻蒙APP。所以也許這120萬里有鴻蒙系統(tǒng)的開發(fā)者,但他們還在觀望當(dāng)中,畢竟再搞一套,技術(shù)、時(shí)間、成本都是一個(gè)不可能不考慮的問題。
二就是鴻蒙系統(tǒng)硬件支持還不夠,雖然前面說到有接近一億用戶,但在手機(jī)領(lǐng)域有多少我們沒有準(zhǔn)確數(shù)據(jù)。加上華為手機(jī)前景的未知性,這會(huì)讓這120萬當(dāng)中的觀望著更有耐心。畢竟做出來的軟件它不是說說就可以,要人力時(shí)間精力還是后期維護(hù)等等,在鴻蒙現(xiàn)在的情況下,有著更多的觀望者其實(shí)并不奇怪,因?yàn)椴还軓哪莻€(gè)角度來說了,只要開發(fā)出安卓應(yīng)用,同時(shí)兼容鴻蒙它已經(jīng)足夠應(yīng)對(duì)目前的情況。
客觀來說,目前鴻蒙距離安卓和IOS還有很大差距,也許它比當(dāng)年的WP用戶數(shù)量還要少。但鴻蒙作為一個(gè)挑戰(zhàn)者,一個(gè)從零開始的挑戰(zhàn)者,它開局的艱難是有預(yù)估的,存在的劣勢(shì)也是必然的。要知道安卓和蘋果有今天相當(dāng)成熟的生態(tài)優(yōu)勢(shì),他們是經(jīng)過時(shí)間的沉淀才有這樣的結(jié)果。當(dāng)相對(duì)于安卓在中國就有500萬開發(fā)者,蘋果的440萬開發(fā)者,鴻蒙全球才120萬開發(fā)者,而且還是帶著不少水貨的情況,這顯然還是不夠的,想要做第三的市場(chǎng)份額,鴻蒙還是很長的時(shí)間和努力才會(huì)有機(jī)會(huì)實(shí)現(xiàn)。
目前我們對(duì)鴻蒙前景也不要太悲觀,畢竟它才幾個(gè)月大,它的潛力還在,而且目前看它還有它自身的優(yōu)勢(shì)。按照目前勢(shì)頭發(fā)展下去,當(dāng)有足夠的硬件支撐它的時(shí)候,相信很多的觀望著會(huì)紛紛入局,到了那個(gè)時(shí)候,鴻蒙原生的APP自然就會(huì)豐富起來。
對(duì)此你有什么不同的看法,歡迎評(píng)論討論!
自鴻蒙系統(tǒng)問世后就一直處于一種尷尬的局面,安卓、iOS系統(tǒng)已經(jīng)完善得盡善盡美,多數(shù)APP也是以這兩個(gè)系統(tǒng)為基地開發(fā)的,這就讓鴻蒙系統(tǒng)的APP生態(tài)環(huán)境極其薄弱,甚至還有人擔(dān)心,更新了鴻蒙系統(tǒng)后,會(huì)不會(huì)手機(jī)上就不能用APP了。
這些擔(dān)心自然是多余的,OPPO、vivo、魅族等廠商都已經(jīng)陸續(xù)適配鴻蒙OS系統(tǒng),可見華為鴻蒙OS系統(tǒng)還是有著一定的優(yōu)勢(shì),并且國內(nèi)3100多支開發(fā)團(tuán)隊(duì)都報(bào)名參加了華為鴻蒙系統(tǒng)開發(fā)者創(chuàng)新大賽,并且有23支團(tuán)隊(duì)脫穎而出,已經(jīng)進(jìn)入了鴻蒙系統(tǒng)專屬APP開發(fā)過程。
Intent
Intent是對(duì)象之間傳遞信息的載體。當(dāng)一個(gè)Ability需要啟動(dòng)另一個(gè)Ability時(shí),或者一個(gè)AbilitySlice需要導(dǎo)航到另一個(gè)AbilitySlice時(shí),可以通過Intent指定啟動(dòng)的目標(biāo)同時(shí)攜帶相關(guān)數(shù)據(jù)。Intent的構(gòu)成元素包括Operation與Parameters。
Intent的構(gòu)成元素
Operation
Action: 表示動(dòng)作,通常使用系統(tǒng)預(yù)置Action,應(yīng)用也可以自定義Action。例如IntentConstants.ACTION_HOME表示返回桌面動(dòng)作。
Entity:表示類別,通常使用系統(tǒng)預(yù)置Entity,應(yīng)用也可以自定義Entity。例如Intent.ENTITY_HOME表示在桌面顯示圖標(biāo)。
Uri:表示Uri描述。如果在Intent中指定了Uri,則Intent將匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。
Flags:表示處理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION標(biāo)記在本地的一個(gè)Ability是否可以遷移到遠(yuǎn)端設(shè)備繼續(xù)運(yùn)行。
BundleName:表示包描述。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
AbilityName: 表示待啟動(dòng)的Ability名稱。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
DeviceId: 表示運(yùn)行指定Ability的設(shè)備ID。
當(dāng)Intent用于發(fā)起請(qǐng)求時(shí),根據(jù)指定元素的不同,分為兩種類型:
如果同時(shí)指定了BundleName與AbilityName,則根據(jù)Ability的全稱(例如,“com.demoapp.FooAbility”)來直接啟動(dòng)應(yīng)用。
如果未同時(shí)指定BundleName和AbilityName,則根據(jù)Operation中的其他屬性來啟動(dòng)應(yīng)用。