沒有官方的「鴻蒙系統(tǒng)」架構(gòu)資料,所以不好說
創(chuàng)新互聯(lián)建站,為您提供重慶網(wǎng)站建設(shè)、重慶網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)餐廳設(shè)計等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!
但是啊,如果「鴻蒙系統(tǒng)」沒有基于「安卓」開發(fā) ,那么鴻蒙系統(tǒng)是如此做到「完美兼容」的呢?甚至「鴻蒙」系統(tǒng)說安卓APP運行效率比在安卓系統(tǒng)上還快
網(wǎng)上傳的「科抖」說「鴻蒙系統(tǒng)」使用C|C++開發(fā),那么誰告訴你安卓系統(tǒng)不能使用C|C++開發(fā) …… 如果使用安卓系統(tǒng)做應(yīng)用或游戲或廣告時,你沒有使用過C|++,那么是你本人的問題,而且無論安卓還是IOS使用的都是SQLite數(shù)據(jù)庫(一般是SQLite3),游戲開發(fā)時還有可能使用JAVASCRIPT或LUA這兩門語言…… …… …… …… ANDROID一開始就支持C|C++,更準確地說ANDROID系統(tǒng)的底層本身就是使用C|C++實現(xiàn)的(同樣,IOS開發(fā)同樣需要掌握C|C++開發(fā))
網(wǎng)上傳的一些「鴻蒙系統(tǒng)」否定了自己使用「虛擬機」的說法,并且以「虛擬機」批判安卓系統(tǒng),這就有意思了,因為文章最后的總結(jié)出了「大問題」
文章的最后『? 總之,華為的“鴻蒙”操作系統(tǒng),底層(Linux內(nèi)核、運行庫)是用C語言編寫的,虛擬機可能采用了C或者C++語言;面向應(yīng)用開發(fā)商的開發(fā)環(huán)境很可能是Java語言』鴻蒙系統(tǒng)用什么語言?“鴻蒙”和安卓有什么區(qū)別?
這是在「自打嘴巴」嗎?一個連「虛擬機」都不存在的系統(tǒng),如何使用「JAVA語言」?「JVM」本身就是「虛擬機」(JVM:Java Virtual Machine(Java虛擬機))……
另一個問題:如果「鴻蒙」系統(tǒng)是使用了「虛擬機」兼容「安卓系統(tǒng)」,而不是基于「安卓系統(tǒng)」進行魔改…… 那么「安卓應(yīng)用"APK"」通過「ANDROID虛擬機」運行在「鴻蒙」系統(tǒng),那么有可能比跑在「安卓系統(tǒng)」本身上更快嗎?手機的硬件能支撐「系統(tǒng)虛擬機」(比如常用的 Parallels Desktop、virtualbox等)的運行嗎?大家都知道「系統(tǒng)虛擬機」雖然可以在A系統(tǒng)上跑B系統(tǒng),但是代價也非常昂貴,不僅僅占用大量的「內(nèi)存」,而且運行效率低下,即使是目前最好用的Parallels Desktop,也完全沒有裝雙系統(tǒng)或者干脆重新安裝全新的系統(tǒng)「效率好」
現(xiàn)在網(wǎng)上的文章看似將「鴻蒙」和「安卓」區(qū)分開了,但實際上經(jīng)不起推敲,問題百出,給人存心「騙人」的感覺
…………………………………………………………………………………………………………
如果你還能打開ANDROID官網(wǎng),你會從里面找到非常非常詳細的資料,可以將「安卓系統(tǒng)」看得清清楚楚,「安卓系統(tǒng)」哪部分是「開源的」哪部分是「不開源的」,「安卓系統(tǒng)」各層使用的「庫」是基于哪門「語言」開發(fā)的及「安卓系統(tǒng)」的所有的「庫」信息
…………………………………………………………………………………………………………
「鴻蒙系統(tǒng)」目前一切皆是「謎」
等著官網(wǎng)公開「鴻蒙系統(tǒng)」的資料
…………………………………………………………………………………………………………
如果官網(wǎng)連「鴻蒙系統(tǒng)」的資料都不愿意「公開」的話,這就顯得很奇怪了,既然已經(jīng)將自家系統(tǒng)捧上天了,為什么不讓人看一看它的「資料」呢?而且這對于日后培養(yǎng)「鴻蒙系統(tǒng)開發(fā)程序員」也是非?!副匾沟模粋€只有對自己使用的「系統(tǒng)」有個清楚的「認知」,在開發(fā)時才能「找到方向」…… …… 沒有人能在「一無所知」的系統(tǒng)上做好「開發(fā)」,并且「一無所知」會令程度員「開發(fā)興趣」直線下降…… …… 「程序員」本來就是靠「好奇心」驅(qū)動的,「程序員」就是不斷的學習不斷的思考不斷的嘗試然后完成「開發(fā)」…… …… …… ……?只想依靠自己公司里的員工來開發(fā)「應(yīng)用」是十分不現(xiàn)實的,所以「很多資料」的「公開」是非常有必要的
…………………………………………………………………………………………………………
這段對話很吸引人,至少「安卓系統(tǒng)」目前不支持「電腦」,或者說「安卓系統(tǒng)」對于電腦而言「太弱」,蘋果也是手機使用IOS而電腦使用MACOS兩套操作系統(tǒng),微軟曾經(jīng)也開發(fā)過WINPHONE系統(tǒng)(微軟的手機系統(tǒng),跟微軟出的電腦用的的WINDOWS系統(tǒng)完全不同)
同樣這段話令人懷疑「它」的「真實性」…… 「萬能操作系統(tǒng)」那種東西可能存在嗎?一個弄不好就是「樣樣不行操作系統(tǒng)」了…… 因為電腦所用的操作系統(tǒng)與手機所用的操作系統(tǒng),區(qū)別非常非常地大…… 而像智能穿戴和汽車明顯又是完全不同的操作系統(tǒng),智能穿戴重點在于「小巧」(比如APPLE WATCH使用的Watch OS),而車載系統(tǒng)明顯是完全不同的東西,雖然目前市場上有CarPlay和Android Auto,但說實話并不理想,因為理想的車載系統(tǒng)需要將智能硬件,自動駕駛、云服務(wù)、IOT等技術(shù)深度結(jié)合,而索尼推出的XAV-AX8000完全就是娛樂系統(tǒng)(東西好是好,但感覺已經(jīng)完全偏離普通操作系統(tǒng)的方向了,更像是一款娛樂軟件,當然因為功能強大所以叫娛樂系統(tǒng)…… 兼容CarPlay和Android Auto)…… 無論如何,小生都不認為普通的「操作系統(tǒng)」能實現(xiàn)「車載系統(tǒng)」,「車載系統(tǒng)」的功能完全與「汽車」深深地綁定在了一起:比如導航、娛樂、警報、電話、電動車剩余余量、汽油車剩余油量和導航系統(tǒng)的匹配、聯(lián)動等…… 或者還需要自動駕駛、查看周圍路況、數(shù)據(jù)交互、云存儲等功能
…………………………………………………………………………………………………………
一個系統(tǒng)能同時兼容電腦、手機、汽車、智能穿戴,這是件非常非?!覆豢伤甲h」的事情…… …… 想一想如何才能將龐大的電腦操作系統(tǒng)放到小巧的智能穿戴設(shè)備上?想一想手機硬件同電腦硬件存在的「巨大差距」
總之,小生是被「鴻蒙系統(tǒng)」給「雷」到了
一、在華為如日中天的時候,華為都沒敢推鴻蒙系統(tǒng),而是把鴻蒙系統(tǒng)當作“備胎”慢慢發(fā)展?,F(xiàn)在,華為被制裁了,只能把鴻蒙系統(tǒng)緊急推出來了。至少,鴻蒙是倉促上馬的系統(tǒng),卻要和一個已經(jīng)發(fā)展許多年,非常成熟的安卓系統(tǒng)競爭,還能輕而易舉地贏了!三星真要哭死在廁所里了。昔日三星聯(lián)合了英特爾搞出來的Tizen系統(tǒng),還是按部就班進行的研發(fā),依舊是無法弄出自己的生態(tài)圈,最后只能淪落成家電的系統(tǒng)了。從這個角度來看,安卓工程師不用太擔心安卓的生態(tài)系統(tǒng)被威脅,鴻蒙的生態(tài)圈很難發(fā)展到能夠與安卓比較。
二、華為自己都說了,鴻蒙系統(tǒng)當初設(shè)計就是想做家電的系統(tǒng),是與三星Tizen類似的東西,主要應(yīng)用方向是家電和物聯(lián)網(wǎng)?,F(xiàn)在是因為制裁的原因,趕鴨子上架成為了手機系統(tǒng)。這種臨時改變用途的系統(tǒng)需要大動干戈才能完善對手機的應(yīng)用支持??梢韵胂螅绻櫭上到y(tǒng)對手機的支持有缺陷的話,做手機應(yīng)用就會非常困難。也因此有理由相信,現(xiàn)在鴻蒙手機如果對安卓應(yīng)用的支持特別完美,就更說明鴻蒙的“拉皮”可能性了。如此一來,安卓工程師就安心開發(fā)安卓應(yīng)用就好了,因為鴻蒙一定可以完美運行你的應(yīng)用,這就沒有放棄安卓開發(fā)的必要了嘛!
至此,我想現(xiàn)在考慮鴻蒙把安卓的陣地攻破了實在是太早了。所以,大概率,沒有哪個安卓工程師會放棄安卓去弄鴻蒙,頂多是測試一下應(yīng)用能不能在鴻蒙環(huán)境下運行罷了。還是把兼容性這件事兒交給鴻蒙去搞吧。
鴻蒙出來的話,安卓工程師并不會失業(yè),取決于自己想不想在鴻蒙上開發(fā)軟件。
鴻蒙的應(yīng)用程序開發(fā),主要是基于Java和NodeJS,基于Java的整體框架結(jié)構(gòu)與安卓極其相似,加上其開發(fā)環(huán)境DevEco Studio與Android Studio同宗,安卓工程師可以極短的時間迅速上手鴻蒙應(yīng)用程序的開發(fā)。當然,一些做前端開發(fā)的小伙伴也會進入鴻蒙平臺進行開發(fā),但這部分小伙伴往往是會用一套代碼、同時適配多個應(yīng)用平臺(類似國產(chǎn)的uni-app),這些本身就在和安卓開發(fā)有一種競爭關(guān)系,并不會因為鴻蒙的生產(chǎn)而發(fā)生多大變化。
另外鴻蒙的開發(fā)平臺,也可以很輕松在智能屏、智能手表、車載智能設(shè)備等設(shè)備上調(diào)試開發(fā),總體來說,如果鴻蒙火起來,就會有更多的軟件開發(fā)需求了,安卓開發(fā)工程師會更吃香。建議大家多多接觸鴻蒙生態(tài),多學一點知識對自己是一個積累儲備,總不會是壞事。
錯,是谷歌、微軟和蘋果要倒閉了!
鴻蒙系統(tǒng)配備方舟編譯器,兼容安卓應(yīng)用,但運行效率……(此處省略1000字,翻2019年文章)……鴻蒙系統(tǒng)能在所有設(shè)備運行,支持手機、電腦、平板、物聯(lián)網(wǎng)……(此處省略1000字,翻2019年文章)……
我想說的是你們太不懂華為了,其實鴻蒙早已開發(fā)完成并且隨時可用!他一直在忍,在等一個機會……
作為一名android開發(fā)工程師,我想說,失業(yè)是不可能的,這輩子都不可能失業(yè)!
也許身為移動端開發(fā)人員的我們,正處于一段亂流之中!
首先,來談?wù)刟ndroid的碎片化問題。
僅僅2014年,全球支持Android的機型為18796種,再來看看國內(nèi),華為、小米、oppo、vivo...,android手機廠商也很多,每個品牌都是基于android開源系統(tǒng)改造,android開發(fā)人員要在完成軟件功能的同時,對不同品牌的手機做功能適配,非常麻煩。
除了手機品牌數(shù)量多,手機屏幕的尺寸適配問題也很麻煩,往往一個軟件的開發(fā),有60%的時間在適配工作上。
是的,現(xiàn)在鴻蒙來了,意味著什么?意味著android開發(fā)人員有必要或者就必須去學習一門新語言、一個新系統(tǒng)的開發(fā)、適配,對于一個企業(yè)來說,要么就增加人工成本請一個鴻蒙系統(tǒng)開發(fā)人員,要么就強制在職android開發(fā)人員重新開發(fā)一遍軟件適配鴻蒙系統(tǒng)。
基于此,不知道有多少android開發(fā)人員會買賬,不知道多少企業(yè)會加個鴻蒙系統(tǒng)平臺,不知道鴻蒙系統(tǒng)能不能站住腳推廣開來。
雖然現(xiàn)在鴻蒙系統(tǒng)可以兼容android應(yīng)用,但以后必然會兩級分化。
如果鴻蒙系統(tǒng)沒有革命性的突破,如果美國不再卡脖子,如果沒有國家的干預措施,只靠平民大眾自覺愛國的方式支持鴻蒙系統(tǒng),我看很懸啊,畢竟,蘋果手機在國內(nèi)的銷量一如既往!??!
再者,在手機行業(yè),小米、oppo等手機廠商和華為本是競爭關(guān)系,會放棄自己的系統(tǒng)換成鴻蒙系統(tǒng)嗎?這樣的話,其他手機廠商的生存空間會一天不如一天,就算鴻蒙開源使用,也只不過走android碎片化的老路!
系統(tǒng)之爭本就不是一朝一夕,不用擔心會不會失業(yè),路,還很長!
開發(fā)鴻蒙只能在華為支持的鴻蒙設(shè)備上運行,開發(fā)android,可以在所有安卓設(shè)備包括鴻蒙設(shè)備上也兼容運行,何來失業(yè)
做安卓的一天不用就能寫鴻蒙。可以忽悠甲方加錢了[淚奔]
中國北斗早就出來了,GPS的工程師沒失業(yè)吧!
不會,可以學習一下華為鴻蒙開發(fā)教程。
是得我就是干這個 但是我都計劃改行了
不會失業(yè)的,他們可以轉(zhuǎn)鴻蒙開發(fā),非常簡單
開發(fā)前可以了解下鴻蒙: [鴻蒙開發(fā) 序]華為鴻蒙操作系統(tǒng)(HarmonyOS)簡介及開發(fā)環(huán)境搭建
開發(fā)前的準備:「鴻蒙開發(fā) 1」華為鴻蒙應(yīng)用集成開發(fā)環(huán)境DevEco Studio安裝和設(shè)置
了解鴻蒙應(yīng)用開發(fā)的基本開發(fā)流程:「鴻蒙開發(fā) 2」第一個華為鴻蒙(HarmonyOS)應(yīng)用程序(App)
本章目標:
1 了解華為鴻蒙應(yīng)用開發(fā)的可視化(低代碼)方式
2 通過構(gòu)建一個簡單的具有頁面跳轉(zhuǎn)功能的應(yīng)用
低代碼開發(fā)方式,即通過可視化界面開發(fā)方式快速構(gòu)建布局、編輯UI界面,可有效降低用戶的上手成本并提升用戶構(gòu)建UI界面的效率。
1 打開DevEco Studio,創(chuàng)建一個新工程,選擇支持Phone / Tablet / Wearable(手機 / 平板 / s可穿戴)的模板,我們在此直接選擇Empty Ability
Project name工程名稱填SuperVisual
Development mode開發(fā)方式選擇Super Visual
其它的可以使用默認設(shè)置,點擊完成,進入編輯界面
1 在Project(項目)窗口,刪除工程運行默認的入口文件夾:“entry src main js default pages index”文件夾
2 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標右鍵,選擇“New JS Visual”
JS visual name填first,點擊完成,進入編輯界面
創(chuàng)建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目錄結(jié)構(gòu)
3 第一個頁面內(nèi)有一個容器、文本和一個按鈕,通過Div、Text和Button組件來實現(xiàn)
(1)分別選中first.visual畫面中的Text、Div組件,單擊鼠標右鍵,選擇Delete刪除
(2)選中UI Control中的Div組件,將其拖至畫布
點擊右側(cè)屬性樣式欄中的通用樣式圖標(General),設(shè)置Div組件的高度Height為100%,使其占滿屏幕
點擊右側(cè)屬性樣式欄中的樣式圖標(Flex),設(shè)置Div組件的FlexDirection樣式為column,使Div的主軸垂直;設(shè)置Div組件的JustifyContent樣式為center,使得其子組件在主軸上居中顯示;設(shè)置Div組件的AlignItems樣式為center,使得其子組件在交叉軸上居中顯示
(3)選中UI Control中的Text組件,將其拖至Div組件的中央?yún)^(qū)域
點擊右側(cè)屬性樣式欄中的屬性圖標(Properties),設(shè)置Text組件的Content屬性為 “ Hello World ”
點擊右側(cè)屬性樣式欄中的通用樣式圖標(General),設(shè)置Text組件的寬(width)為100%,高(height)為100px
點擊右側(cè)屬性樣式欄中的樣式圖標(Feature),設(shè)置組件的FontSize樣式為60px,使得其文字放大;設(shè)置組件的TextAlign樣式為center,使得組件文字居中顯示
(4)選中UI Control中的Button組件,將其拖至Text組件下面
點擊右側(cè)屬性樣式欄中的屬性圖標(Properties),設(shè)置Button組件的Value屬性為 “ Next ”,
點擊右側(cè)屬性樣式欄中的通用樣式圖標(General),設(shè)置按的寬(width)為40%,高(height)為60px
點擊右側(cè)屬性樣式欄中的樣式圖標(Feature),設(shè)置組件的FontSize樣式為40px
至此,第一個頁面創(chuàng)建完成
我們可以在預覽窗口中看效果,點擊右側(cè)邊欄的Preview打開預覽窗口
1 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標右鍵,選擇“New JS Visual”
Visual配置界面,JS visual name填second,回車(Enter鍵)或者點擊完成,進入編輯界面
2 第二個頁面中有一個容器和文本,通過Div、Text組件實現(xiàn),現(xiàn)在編輯器已經(jīng)為我們創(chuàng)建好了,我們就來修改下它們的屬性(你也可以刪除原有的自己創(chuàng)建,具體步驟參考本章第二節(jié)“二 創(chuàng)建第一個頁面”)。
選中Text組件,點擊右側(cè)屬性樣式欄中的屬性圖標(Properties),設(shè)置Text組件的Content屬性為 “ Hi,I'm always here. ”
點擊右側(cè)屬性樣式欄中的通用圖標(General),設(shè)置組件的寬(width)為100%,高為60px
點擊右側(cè)屬性樣式欄中的樣式圖標(Feature),設(shè)置組件的FontSize樣式為36px,TextAlign樣式為center
這樣我們的第二個頁面創(chuàng)建成功了
1 在Project窗口,打開工程中的“entry src main js default pages first first.js”, 導入router模塊,頁面路由router根據(jù)頁面的uri來找到目標頁面,從而實現(xiàn)跳轉(zhuǎn)。示例代碼如下:
2 打開或者切換到first.visual頁面,選中畫布上的Button組件,點擊右側(cè)屬性樣式欄中的事件圖標(Events),鼠標點擊Click事件的輸入框,選擇launch事件
3 在預覽窗口中查看項目效果,點擊Next按鈕后發(fā)現(xiàn)我們的頁面成功跳轉(zhuǎn)了。
到此,本章的目標就完成了。