華為鴻蒙系統(tǒng)與安卓在系統(tǒng)架構(gòu)上有著本質(zhì)的區(qū)別。
在祁門(mén)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,祁門(mén)網(wǎng)站建設(shè)費(fèi)用合理。
鴻蒙與安卓一樣,基于Linux內(nèi)核研發(fā)鴻蒙操作系統(tǒng),鴻蒙系統(tǒng)與安卓系統(tǒng)能夠最大程度地兼容,初衷是對(duì)標(biāo)安卓系統(tǒng),補(bǔ)齊華為缺失的生態(tài),不是超越、顛覆安卓,而是與安卓長(zhǎng)期并存,由于兼容,兩者的生態(tài)具有高度相似性。
華為鴻蒙系統(tǒng)是一款全新的面向全場(chǎng)景的分布式操作系統(tǒng),創(chuàng)造一個(gè)超級(jí)虛擬終端互聯(lián)的世界,將人、設(shè)備、場(chǎng)景有機(jī)地聯(lián)系在一起,將消費(fèi)者在全場(chǎng)景生活中接觸的多種智能終端實(shí)現(xiàn)極速發(fā)現(xiàn)、極速連接、硬件互助、資源共享,用最合適的設(shè)備提供最佳的場(chǎng)景體驗(yàn)。鴻蒙OS是一款基于微內(nèi)核面向全場(chǎng)景的分布式操作系統(tǒng)。
微內(nèi)核
華為鴻蒙系統(tǒng)與安卓在系統(tǒng)架構(gòu)上有著本質(zhì)的區(qū)別,其中安卓是基于宏內(nèi)核而鴻蒙則是基于微內(nèi)核開(kāi)發(fā)的。
在宏內(nèi)核模式的架構(gòu)中,它把很多的東西都集成進(jìn)內(nèi)核里面了,使得系統(tǒng)在運(yùn)行的過(guò)程中內(nèi)核與各個(gè)進(jìn)程的聯(lián)系非常緊密。雖然在這種架構(gòu)下,系統(tǒng)運(yùn)行的效率較高,但是卻存在致命的Bug。在運(yùn)行過(guò)程中,開(kāi)發(fā)進(jìn)程一旦發(fā)生故障將會(huì)導(dǎo)致整個(gè)操作系統(tǒng)出現(xiàn)問(wèn)題,甚至直接掛掉,所以它的穩(wěn)定性差。
在微內(nèi)核模式的架構(gòu)中,操作系統(tǒng)提供的是最核心、最必要、最精簡(jiǎn)的功能。在系統(tǒng)運(yùn)行的過(guò)程中,所有的進(jìn)程都擁有自己的獨(dú)立地址空間,彼此之間互不干擾,由內(nèi)核進(jìn)行最基本的調(diào)度和內(nèi)存管理。如果某個(gè)進(jìn)程出現(xiàn)錯(cuò)誤時(shí),只需要相應(yīng)地修正某個(gè)錯(cuò)誤就行了,極大程度地保證了系統(tǒng)的穩(wěn)定性。
技術(shù)架構(gòu)
安卓系統(tǒng)架構(gòu)
Android是用Java語(yǔ)言編寫(xiě)的,很容易學(xué)習(xí)。但它有一個(gè)缺點(diǎn):不能與系統(tǒng)底層直接進(jìn)行通信活動(dòng),必須通過(guò)虛擬機(jī)來(lái)運(yùn)行。說(shuō)直接點(diǎn)就是虛擬機(jī)相當(dāng)于傳遞者:首先Android應(yīng)用程序安裝在虛擬機(jī)上,然后從虛擬機(jī)傳輸?shù)綑C(jī)器的底部,如果虛擬機(jī)出了問(wèn)題話的那系統(tǒng)就是卡住。
Android系統(tǒng)架構(gòu)分為四層架構(gòu),從高到低分別是應(yīng)用層,應(yīng)用框架層,系統(tǒng)運(yùn)行層和Linux內(nèi)核層。
鴻蒙系統(tǒng)架構(gòu)
鴻蒙操作系統(tǒng)是微內(nèi)核設(shè)計(jì):微內(nèi)核僅包括了操作系統(tǒng)必要的功能模塊(任務(wù)管理、內(nèi)存分配等)處在核心地位具有最高權(quán)限,其他模塊不具有最高權(quán)限,也就是說(shuō)其他模塊出現(xiàn)問(wèn)題,對(duì)于整個(gè)系統(tǒng)的運(yùn)行是沒(méi)有阻礙的。微內(nèi)核的開(kāi)發(fā)難度很大,但是系統(tǒng)的穩(wěn)定性很高。
根據(jù)目前華為公布的一些資料信息,我們可以推斷出鴻蒙系統(tǒng)是用C、C++語(yǔ)言編寫(xiě)即直接使用機(jī)器語(yǔ)言編寫(xiě)app,取消安卓系統(tǒng)的ART虛擬機(jī),直接編譯為二進(jìn)制機(jī)器碼,這樣做的好處就是不需要中轉(zhuǎn),執(zhí)行速度快;但這樣的操作也有一些缺點(diǎn)就是必須要有大量的靜態(tài)方案且內(nèi)存空間要求更高。
鴻蒙系統(tǒng)架構(gòu)也分為4層分別為:應(yīng)用層,程序框架層,基礎(chǔ)服務(wù)層和微內(nèi)核層。
架構(gòu)上的主要區(qū)別
一、谷歌的安卓系統(tǒng)是基于Linux開(kāi)發(fā),華為的“鴻蒙”系統(tǒng)也是基于Linux開(kāi)發(fā),但底層對(duì)Linux進(jìn)行大量?jī)?yōu)化。
二、安卓系統(tǒng)程序員寫(xiě)APP使用的是JAVA高級(jí)語(yǔ)言,打包成APK到安卓系統(tǒng)。方舟編譯器,則是讓APK打包之前,統(tǒng)一把指令換成安卓系統(tǒng)能讀懂的機(jī)器語(yǔ)言,省去了"翻譯"這個(gè)過(guò)程。
三、安卓的主要開(kāi)發(fā)語(yǔ)言是基于java,而在鴻蒙系統(tǒng)上可以使用java和js。
應(yīng)用層面
安卓系統(tǒng)
安卓系統(tǒng)適用于手機(jī),雖然當(dāng)前有好多設(shè)備都是基于安卓開(kāi)發(fā)的,例如車(chē)載屏幕等。但實(shí)際上都是針對(duì)于安卓手機(jī)應(yīng)用的簡(jiǎn)單擴(kuò)展。
鴻蒙系統(tǒng)
華為帶來(lái)全場(chǎng)景?1+8+N?智慧生活,鴻蒙系統(tǒng)?2.0?帶來(lái)統(tǒng)一控制中心。將會(huì)涵蓋五大場(chǎng)景,包括智慧出行、智能家居、運(yùn)動(dòng)健康、智慧辦公以及影音娛樂(lè)。這里提的“1”?指的是手機(jī),手機(jī)是未來(lái)智慧生活的入口,因此顯得額外重要?!?“指的是平板、PC、穿戴、HD、AI音箱、耳機(jī)、VR、車(chē)機(jī)?!癗”指的是泛IOT設(shè)備。
在應(yīng)用上,鴻蒙系統(tǒng)顯然更強(qiáng)大,并且兼容所有安卓系統(tǒng)的應(yīng)用。
在安全等級(jí)上,鴻蒙采用更高級(jí)別的隱私保護(hù)功能,開(kāi)啟了多設(shè)備的協(xié)同認(rèn)證,全面保護(hù)用戶的隱私安全。
缺陷與不足
在適配性上,因?yàn)轼櫭上到y(tǒng)目前來(lái)看只能在華為的手機(jī)上使用,但是安卓系統(tǒng)可以在目前所有的安卓手機(jī)上使用。
在生態(tài)系統(tǒng)上,安卓系統(tǒng)經(jīng)過(guò)多年發(fā)展,軟件生態(tài)非常完善,整體生態(tài)系統(tǒng)也變得逐漸的成熟起來(lái),在功能性與實(shí)用性上已做得相當(dāng)出色;而鴻蒙還處在新生階段,有發(fā)展的潛力。
一、在華為如日中天的時(shí)候,華為都沒(méi)敢推鴻蒙系統(tǒng),而是把鴻蒙系統(tǒng)當(dāng)作“備胎”慢慢發(fā)展?,F(xiàn)在,華為被制裁了,只能把鴻蒙系統(tǒng)緊急推出來(lái)了。至少,鴻蒙是倉(cāng)促上馬的系統(tǒng),卻要和一個(gè)已經(jīng)發(fā)展許多年,非常成熟的安卓系統(tǒng)競(jìng)爭(zhēng),還能輕而易舉地贏了!三星真要哭死在廁所里了。昔日三星聯(lián)合了英特爾搞出來(lái)的Tizen系統(tǒng),還是按部就班進(jìn)行的研發(fā),依舊是無(wú)法弄出自己的生態(tài)圈,最后只能淪落成家電的系統(tǒng)了。從這個(gè)角度來(lái)看,安卓工程師不用太擔(dān)心安卓的生態(tài)系統(tǒng)被威脅,鴻蒙的生態(tài)圈很難發(fā)展到能夠與安卓比較。
二、華為自己都說(shuō)了,鴻蒙系統(tǒng)當(dāng)初設(shè)計(jì)就是想做家電的系統(tǒng),是與三星Tizen類(lèi)似的東西,主要應(yīng)用方向是家電和物聯(lián)網(wǎng)?,F(xiàn)在是因?yàn)橹撇玫脑颍s鴨子上架成為了手機(jī)系統(tǒng)。這種臨時(shí)改變用途的系統(tǒng)需要大動(dòng)干戈才能完善對(duì)手機(jī)的應(yīng)用支持??梢韵胂?,如果鴻蒙系統(tǒng)對(duì)手機(jī)的支持有缺陷的話,做手機(jī)應(yīng)用就會(huì)非常困難。也因此有理由相信,現(xiàn)在鴻蒙手機(jī)如果對(duì)安卓應(yīng)用的支持特別完美,就更說(shuō)明鴻蒙的“拉皮”可能性了。如此一來(lái),安卓工程師就安心開(kāi)發(fā)安卓應(yīng)用就好了,因?yàn)轼櫭梢欢梢酝昝肋\(yùn)行你的應(yīng)用,這就沒(méi)有放棄安卓開(kāi)發(fā)的必要了嘛!
至此,我想現(xiàn)在考慮鴻蒙把安卓的陣地攻破了實(shí)在是太早了。所以,大概率,沒(méi)有哪個(gè)安卓工程師會(huì)放棄安卓去弄鴻蒙,頂多是測(cè)試一下應(yīng)用能不能在鴻蒙環(huán)境下運(yùn)行罷了。還是把兼容性這件事兒交給鴻蒙去搞吧。
鴻蒙出來(lái)的話,安卓工程師并不會(huì)失業(yè),取決于自己想不想在鴻蒙上開(kāi)發(fā)軟件。
鴻蒙的應(yīng)用程序開(kāi)發(fā),主要是基于Java和NodeJS,基于Java的整體框架結(jié)構(gòu)與安卓極其相似,加上其開(kāi)發(fā)環(huán)境DevEco Studio與Android Studio同宗,安卓工程師可以極短的時(shí)間迅速上手鴻蒙應(yīng)用程序的開(kāi)發(fā)。當(dāng)然,一些做前端開(kāi)發(fā)的小伙伴也會(huì)進(jìn)入鴻蒙平臺(tái)進(jìn)行開(kāi)發(fā),但這部分小伙伴往往是會(huì)用一套代碼、同時(shí)適配多個(gè)應(yīng)用平臺(tái)(類(lèi)似國(guó)產(chǎn)的uni-app),這些本身就在和安卓開(kāi)發(fā)有一種競(jìng)爭(zhēng)關(guān)系,并不會(huì)因?yàn)轼櫭傻纳a(chǎn)而發(fā)生多大變化。
另外鴻蒙的開(kāi)發(fā)平臺(tái),也可以很輕松在智能屏、智能手表、車(chē)載智能設(shè)備等設(shè)備上調(diào)試開(kāi)發(fā),總體來(lái)說(shuō),如果鴻蒙火起來(lái),就會(huì)有更多的軟件開(kāi)發(fā)需求了,安卓開(kāi)發(fā)工程師會(huì)更吃香。建議大家多多接觸鴻蒙生態(tài),多學(xué)一點(diǎn)知識(shí)對(duì)自己是一個(gè)積累儲(chǔ)備,總不會(huì)是壞事。
錯(cuò),是谷歌、微軟和蘋(píng)果要倒閉了!
鴻蒙系統(tǒng)配備方舟編譯器,兼容安卓應(yīng)用,但運(yùn)行效率……(此處省略1000字,翻2019年文章)……鴻蒙系統(tǒng)能在所有設(shè)備運(yùn)行,支持手機(jī)、電腦、平板、物聯(lián)網(wǎng)……(此處省略1000字,翻2019年文章)……
我想說(shuō)的是你們太不懂華為了,其實(shí)鴻蒙早已開(kāi)發(fā)完成并且隨時(shí)可用!他一直在忍,在等一個(gè)機(jī)會(huì)……
非??隙ǖ恼f(shuō)不會(huì)失業(yè)。我們知道鴻蒙OS有很多地方借鑒了Android,甚至是說(shuō)底層有很多Android的代碼,開(kāi)發(fā)思維很多都跟Android相似。比如寫(xiě)UI有Java方式和JS方式,而Java方式的UI和Android如出一轍,在Xml里面寫(xiě)界面,在Java里面獲取控件設(shè)置數(shù)據(jù),處理邏輯等等。鴻蒙里面也有Intent來(lái)處理跳轉(zhuǎn)傳數(shù)據(jù),而鴻蒙的Ability更是和Android里面的Context,Activity這一套很相似,分前臺(tái)界面顯示,后臺(tái)不可以的服務(wù),以及用來(lái)傳數(shù)據(jù)的Ability,就像Android里的Content Provider。當(dāng)然它們之前也有不同,但你在方方面面都能看見(jiàn)Android的影子,所以Android開(kāi)發(fā)者轉(zhuǎn)鴻蒙平臺(tái)開(kāi)發(fā),相比于其它平臺(tái)的開(kāi)發(fā)者,是天然有優(yōu)勢(shì)的,只要企業(yè)有需要,幾乎所有Android開(kāi)發(fā)在適應(yīng)一段時(shí)間后都能上手做項(xiàng)目了。
相反的是鴻蒙生態(tài)能不能發(fā)展起來(lái),能不能解決Android,iOS生態(tài)的一些痛點(diǎn)。能否吸引企業(yè)去開(kāi)發(fā)鴻蒙應(yīng)用,開(kāi)發(fā)時(shí),能否降低成本。當(dāng)企業(yè)花大量的人力,物力開(kāi)發(fā)出來(lái)的應(yīng)用,沒(méi)用戶使用,或者收益甚微,企業(yè)是不愿意去嘗試的。要想發(fā)展鴻蒙生態(tài),這方面不僅華為自己要努力,一些國(guó)企,知名大企些帶頭作用,像央視影音,新華網(wǎng),京東等等已經(jīng)發(fā)布鴻蒙平臺(tái)的APP了。
如果鴻蒙生態(tài)發(fā)展的很好,有大量的用戶大量的應(yīng)用,擠占了Android和iOS的市場(chǎng)占有量,Android開(kāi)發(fā)者能迅速轉(zhuǎn)到鴻蒙平臺(tái)上,iOS的開(kāi)發(fā)者要怎么辦呢。也許你會(huì)說(shuō)iOS根本不需要考慮,Android的市場(chǎng)占有率這么高iOS還不是活的好好的,當(dāng)年諾基亞也沒(méi)想到自己會(huì)倒的這么快。
作為一名android開(kāi)發(fā)工程師,我想說(shuō),失業(yè)是不可能的,這輩子都不可能失業(yè)!
也許身為移動(dòng)端開(kāi)發(fā)人員的我們,正處于一段亂流之中!
首先,來(lái)談?wù)刟ndroid的碎片化問(wèn)題。
僅僅2014年,全球支持Android的機(jī)型為18796種,再來(lái)看看國(guó)內(nèi),華為、小米、oppo、vivo...,android手機(jī)廠商也很多,每個(gè)品牌都是基于android開(kāi)源系統(tǒng)改造,android開(kāi)發(fā)人員要在完成軟件功能的同時(shí),對(duì)不同品牌的手機(jī)做功能適配,非常麻煩。
除了手機(jī)品牌數(shù)量多,手機(jī)屏幕的尺寸適配問(wèn)題也很麻煩,往往一個(gè)軟件的開(kāi)發(fā),有60%的時(shí)間在適配工作上。
是的,現(xiàn)在鴻蒙來(lái)了,意味著什么?意味著android開(kāi)發(fā)人員有必要或者就必須去學(xué)習(xí)一門(mén)新語(yǔ)言、一個(gè)新系統(tǒng)的開(kāi)發(fā)、適配,對(duì)于一個(gè)企業(yè)來(lái)說(shuō),要么就增加人工成本請(qǐng)一個(gè)鴻蒙系統(tǒng)開(kāi)發(fā)人員,要么就強(qiáng)制在職android開(kāi)發(fā)人員重新開(kāi)發(fā)一遍軟件適配鴻蒙系統(tǒng)。
基于此,不知道有多少android開(kāi)發(fā)人員會(huì)買(mǎi)賬,不知道多少企業(yè)會(huì)加個(gè)鴻蒙系統(tǒng)平臺(tái),不知道鴻蒙系統(tǒng)能不能站住腳推廣開(kāi)來(lái)。
雖然現(xiàn)在鴻蒙系統(tǒng)可以兼容android應(yīng)用,但以后必然會(huì)兩級(jí)分化。
如果鴻蒙系統(tǒng)沒(méi)有革命性的突破,如果美國(guó)不再卡脖子,如果沒(méi)有國(guó)家的干預(yù)措施,只靠平民大眾自覺(jué)愛(ài)國(guó)的方式支持鴻蒙系統(tǒng),我看很懸啊,畢竟,蘋(píng)果手機(jī)在國(guó)內(nèi)的銷(xiāo)量一如既往!??!
再者,在手機(jī)行業(yè),小米、oppo等手機(jī)廠商和華為本是競(jìng)爭(zhēng)關(guān)系,會(huì)放棄自己的系統(tǒng)換成鴻蒙系統(tǒng)嗎?這樣的話,其他手機(jī)廠商的生存空間會(huì)一天不如一天,就算鴻蒙開(kāi)源使用,也只不過(guò)走android碎片化的老路!
系統(tǒng)之爭(zhēng)本就不是一朝一夕,不用擔(dān)心會(huì)不會(huì)失業(yè),路,還很長(zhǎng)!
實(shí)際上安卓系統(tǒng)的成功起初很大得益于中國(guó)市場(chǎng),可以說(shuō)中國(guó)市場(chǎng)選擇誰(shuí),成功的幾率非常大, 鴻蒙系統(tǒng)出世以后,安卓開(kāi)發(fā)工程師會(huì)失業(yè)嗎? 暫時(shí)不會(huì)的,畢竟有一個(gè)過(guò)程,也是一種博弈過(guò)程,實(shí)際上安卓系統(tǒng)與鴻蒙系統(tǒng)現(xiàn)在沒(méi)必要刻意追求細(xì)小細(xì)節(jié)的優(yōu)劣,前提是由于美國(guó)對(duì)中國(guó)的打壓,谷歌斷供服務(wù)華為,別看只是說(shuō)切斷了華為的服務(wù),但是這種破壞性本身就是讓各國(guó)包括中國(guó)對(duì)美國(guó)不可能再信任,今天是華為,明天有可能是另一家企業(yè),無(wú)論美國(guó)怎么說(shuō),谷歌再會(huì)解釋?zhuān)瑢?shí)際上這種行為已經(jīng)打破了行業(yè)規(guī)則,后期效應(yīng)就是不可能再一味的依靠美國(guó),各國(guó)發(fā)展自己的系統(tǒng),中國(guó)也必須的推出自己的系統(tǒng),大勢(shì)所趨,安卓體系以后會(huì)慢慢萎縮,安卓開(kāi)發(fā)工程師失業(yè)不失業(yè)就憑他們個(gè)人能力了,肯定減員,估計(jì)未來(lái)的鴻蒙系統(tǒng)會(huì)越來(lái)越強(qiáng)大,市場(chǎng)份額是固定的,就看誰(shuí)的市場(chǎng)大了,也不排除安卓開(kāi)發(fā)工程師跳槽來(lái)鴻蒙。
開(kāi)發(fā)鴻蒙只能在華為支持的鴻蒙設(shè)備上運(yùn)行,開(kāi)發(fā)android,可以在所有安卓設(shè)備包括鴻蒙設(shè)備上也兼容運(yùn)行,何來(lái)失業(yè)
做安卓的一天不用就能寫(xiě)鴻蒙??梢院鲇萍追郊渝X(qián)了[淚奔]
不會(huì),確切的說(shuō)鴻蒙的出世,給Android工程師提供了更多的機(jī)會(huì)。鴻蒙生態(tài)的建設(shè),安卓工程師會(huì)貢獻(xiàn)絕對(duì)的力量。
另外,從技術(shù)上講,安卓開(kāi)發(fā)的應(yīng)用完全兼容鴻蒙,安卓工程師開(kāi)發(fā)安卓應(yīng)用的時(shí)候,可能會(huì)針對(duì)鴻蒙系統(tǒng)做適配工作,工作量的增加,工程師的價(jià)值也會(huì)增長(zhǎng)。
是得我就是干這個(gè) 但是我都計(jì)劃改行了
根據(jù)華為公布的方舟編譯器資料,可以得知鴻蒙系統(tǒng)是用C、C++語(yǔ)言編寫(xiě)。
鴻蒙系統(tǒng)和方舟編譯器的思路是一樣:直接使用機(jī)器語(yǔ)言編寫(xiě)app,取消安卓系統(tǒng)的ART虛擬機(jī),直接編譯為二進(jìn)制機(jī)器碼;
這樣的好處是:不需要中轉(zhuǎn),執(zhí)行速度快;劣勢(shì)是:必須要有大量的靜態(tài)方案、內(nèi)存空間要求更高。
擴(kuò)展資料
系統(tǒng)簡(jiǎn)介
鴻蒙微內(nèi)核是基于微內(nèi)核的全場(chǎng)景分布式OS,可按需擴(kuò)展,實(shí)現(xiàn)更廣泛的系統(tǒng)安全,主要用于物聯(lián)網(wǎng),特點(diǎn)是低時(shí)延,甚至可到毫秒級(jí)乃至亞毫秒級(jí)。
鴻蒙OS實(shí)現(xiàn)模塊化耦合,對(duì)應(yīng)不同設(shè)備可彈性部署,鴻蒙OS有三層架構(gòu),第一層是內(nèi)核,第二層是基礎(chǔ)服務(wù),第三層是程序框架 。
可用于手機(jī)、平板、PC、汽車(chē)等各種不同的設(shè)備上。還可以隨時(shí)用在手機(jī)上,但暫時(shí)華為手機(jī)端依然優(yōu)先使用安卓、華為電腦端依然優(yōu)先使用windows和Linux。
參考資料來(lái)源:百度百科-華為鴻蒙系統(tǒng)
開(kāi)發(fā)前可以了解下鴻蒙: [鴻蒙開(kāi)發(fā) 序]華為鴻蒙操作系統(tǒng)(HarmonyOS)簡(jiǎn)介及開(kāi)發(fā)環(huán)境搭建
開(kāi)發(fā)前的準(zhǔn)備:「鴻蒙開(kāi)發(fā) 1」華為鴻蒙應(yīng)用集成開(kāi)發(fā)環(huán)境DevEco Studio安裝和設(shè)置
了解鴻蒙應(yīng)用開(kāi)發(fā)的基本開(kāi)發(fā)流程:「鴻蒙開(kāi)發(fā) 2」第一個(gè)華為鴻蒙(HarmonyOS)應(yīng)用程序(App)
本章目標(biāo):
1 了解華為鴻蒙應(yīng)用開(kāi)發(fā)的可視化(低代碼)方式
2 通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的具有頁(yè)面跳轉(zhuǎn)功能的應(yīng)用
低代碼開(kāi)發(fā)方式,即通過(guò)可視化界面開(kāi)發(fā)方式快速構(gòu)建布局、編輯UI界面,可有效降低用戶的上手成本并提升用戶構(gòu)建UI界面的效率。
1 打開(kāi)DevEco Studio,創(chuàng)建一個(gè)新工程,選擇支持Phone / Tablet / Wearable(手機(jī) / 平板 / s可穿戴)的模板,我們?cè)诖酥苯舆x擇Empty Ability
Project name工程名稱(chēng)填SuperVisual
Development mode開(kāi)發(fā)方式選擇Super Visual
其它的可以使用默認(rèn)設(shè)置,點(diǎn)擊完成,進(jìn)入編輯界面
1 在Project(項(xiàng)目)窗口,刪除工程運(yùn)行默認(rèn)的入口文件夾:“entry src main js default pages index”文件夾
2 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
JS visual name填first,點(diǎn)擊完成,進(jìn)入編輯界面
創(chuàng)建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目錄結(jié)構(gòu)
3 第一個(gè)頁(yè)面內(nèi)有一個(gè)容器、文本和一個(gè)按鈕,通過(guò)Div、Text和Button組件來(lái)實(shí)現(xiàn)
(1)分別選中first.visual畫(huà)面中的Text、Div組件,單擊鼠標(biāo)右鍵,選擇Delete刪除
(2)選中UI Control中的Div組件,將其拖至畫(huà)布
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Div組件的高度Height為100%,使其占滿屏幕
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Flex),設(shè)置Div組件的FlexDirection樣式為column,使Div的主軸垂直;設(shè)置Div組件的JustifyContent樣式為center,使得其子組件在主軸上居中顯示;設(shè)置Div組件的AlignItems樣式為center,使得其子組件在交叉軸上居中顯示
(3)選中UI Control中的Text組件,將其拖至Div組件的中央?yún)^(qū)域
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hello World ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Text組件的寬(width)為100%,高(height)為100px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為60px,使得其文字放大;設(shè)置組件的TextAlign樣式為center,使得組件文字居中顯示
(4)選中UI Control中的Button組件,將其拖至Text組件下面
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Button組件的Value屬性為 “ Next ”,
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置按的寬(width)為40%,高(height)為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為40px
至此,第一個(gè)頁(yè)面創(chuàng)建完成
我們可以在預(yù)覽窗口中看效果,點(diǎn)擊右側(cè)邊欄的Preview打開(kāi)預(yù)覽窗口
1 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
Visual配置界面,JS visual name填second,回車(chē)(Enter鍵)或者點(diǎn)擊完成,進(jìn)入編輯界面
2 第二個(gè)頁(yè)面中有一個(gè)容器和文本,通過(guò)Div、Text組件實(shí)現(xiàn),現(xiàn)在編輯器已經(jīng)為我們創(chuàng)建好了,我們就來(lái)修改下它們的屬性(你也可以刪除原有的自己創(chuàng)建,具體步驟參考本章第二節(jié)“二 創(chuàng)建第一個(gè)頁(yè)面”)。
選中Text組件,點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hi,I'm always here. ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用圖標(biāo)(General),設(shè)置組件的寬(width)為100%,高為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為36px,TextAlign樣式為center
這樣我們的第二個(gè)頁(yè)面創(chuàng)建成功了
1 在Project窗口,打開(kāi)工程中的“entry src main js default pages first first.js”, 導(dǎo)入router模塊,頁(yè)面路由router根據(jù)頁(yè)面的uri來(lái)找到目標(biāo)頁(yè)面,從而實(shí)現(xiàn)跳轉(zhuǎn)。示例代碼如下:
2 打開(kāi)或者切換到first.visual頁(yè)面,選中畫(huà)布上的Button組件,點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),鼠標(biāo)點(diǎn)擊Click事件的輸入框,選擇launch事件
3 在預(yù)覽窗口中查看項(xiàng)目效果,點(diǎn)擊Next按鈕后發(fā)現(xiàn)我們的頁(yè)面成功跳轉(zhuǎn)了。
到此,本章的目標(biāo)就完成了。
鴻蒙os所用的語(yǔ)言開(kāi)發(fā)APP軟件,這個(gè)只有是內(nèi)部人員才能夠知道的,應(yīng)該是一些計(jì)算機(jī)方面的c語(yǔ)言之類(lèi)的或者是更高級(jí)的語(yǔ)言。
DevEco Studio
目前已更新到2.1版本
可以用Java來(lái)進(jìn)行開(kāi)發(fā),如果不了解Java編程,可以看看我下面這個(gè)專(zhuān)欄: