十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
開發(fā)前可以了解下鴻蒙: [鴻蒙開發(fā) 序]華為鴻蒙操作系統(tǒng)(HarmonyOS)簡介及開發(fā)環(huán)境搭建
成都創(chuàng)新互聯(lián)是一家成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,提供網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,按需網(wǎng)站開發(fā),網(wǎng)站開發(fā)公司,公司2013年成立是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開發(fā),后臺程序制作以及后期項(xiàng)目運(yùn)營并提出專業(yè)建議和思路。
開發(fā)前的準(zhǔn)備:「鴻蒙開發(fā) 1」華為鴻蒙應(yīng)用集成開發(fā)環(huán)境DevEco Studio安裝和設(shè)置
了解鴻蒙應(yīng)用開發(fā)的基本開發(fā)流程:「鴻蒙開發(fā) 2」第一個華為鴻蒙(HarmonyOS)應(yīng)用程序(App)
本章目標(biāo):
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(手機(jī) / 平板 / s可穿戴)的模板,我們在此直接選擇Empty Ability
Project name工程名稱填SuperVisual
Development mode開發(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 第一個頁面內(nèi)有一個容器、文本和一個按鈕,通過Div、Text和Button組件來實(shí)現(xiàn)
(1)分別選中first.visual畫面中的Text、Div組件,單擊鼠標(biāo)右鍵,選擇Delete刪除
(2)選中UI Control中的Div組件,將其拖至畫布
點(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
至此,第一個頁面創(chuàng)建完成
我們可以在預(yù)覽窗口中看效果,點(diǎn)擊右側(cè)邊欄的Preview打開預(yù)覽窗口
1 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
Visual配置界面,JS visual name填second,回車(Enter鍵)或者點(diǎn)擊完成,進(jìn)入編輯界面
2 第二個頁面中有一個容器和文本,通過Div、Text組件實(shí)現(xiàn),現(xiàn)在編輯器已經(jīng)為我們創(chuàng)建好了,我們就來修改下它們的屬性(你也可以刪除原有的自己創(chuàng)建,具體步驟參考本章第二節(jié)“二 創(chuàng)建第一個頁面”)。
選中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
這樣我們的第二個頁面創(chuàng)建成功了
1 在Project窗口,打開工程中的“entry src main js default pages first first.js”, 導(dǎo)入router模塊,頁面路由router根據(jù)頁面的uri來找到目標(biāo)頁面,從而實(shí)現(xiàn)跳轉(zhuǎn)。示例代碼如下:
2 打開或者切換到first.visual頁面,選中畫布上的Button組件,點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),鼠標(biāo)點(diǎn)擊Click事件的輸入框,選擇launch事件
3 在預(yù)覽窗口中查看項(xiàng)目效果,點(diǎn)擊Next按鈕后發(fā)現(xiàn)我們的頁面成功跳轉(zhuǎn)了。
到此,本章的目標(biāo)就完成了。
一、在華為如日中天的時(shí)候,華為都沒敢推鴻蒙系統(tǒng),而是把鴻蒙系統(tǒng)當(dāng)作“備胎”慢慢發(fā)展?,F(xiàn)在,華為被制裁了,只能把鴻蒙系統(tǒng)緊急推出來了。至少,鴻蒙是倉促上馬的系統(tǒng),卻要和一個已經(jīng)發(fā)展許多年,非常成熟的安卓系統(tǒng)競爭,還能輕而易舉地贏了!三星真要哭死在廁所里了。昔日三星聯(lián)合了英特爾搞出來的Tizen系統(tǒng),還是按部就班進(jìn)行的研發(fā),依舊是無法弄出自己的生態(tài)圈,最后只能淪落成家電的系統(tǒng)了。從這個角度來看,安卓工程師不用太擔(dān)心安卓的生態(tài)系統(tǒng)被威脅,鴻蒙的生態(tài)圈很難發(fā)展到能夠與安卓比較。
二、華為自己都說了,鴻蒙系統(tǒng)當(dāng)初設(shè)計(jì)就是想做家電的系統(tǒng),是與三星Tizen類似的東西,主要應(yīng)用方向是家電和物聯(lián)網(wǎng)?,F(xiàn)在是因?yàn)橹撇玫脑颍s鴨子上架成為了手機(jī)系統(tǒng)。這種臨時(shí)改變用途的系統(tǒng)需要大動干戈才能完善對手機(jī)的應(yīng)用支持??梢韵胂螅绻櫭上到y(tǒng)對手機(jī)的支持有缺陷的話,做手機(jī)應(yīng)用就會非常困難。也因此有理由相信,現(xiàn)在鴻蒙手機(jī)如果對安卓應(yīng)用的支持特別完美,就更說明鴻蒙的“拉皮”可能性了。如此一來,安卓工程師就安心開發(fā)安卓應(yīng)用就好了,因?yàn)轼櫭梢欢梢酝昝肋\(yùn)行你的應(yīng)用,這就沒有放棄安卓開發(fā)的必要了嘛!
至此,我想現(xiàn)在考慮鴻蒙把安卓的陣地攻破了實(shí)在是太早了。所以,大概率,沒有哪個安卓工程師會放棄安卓去弄鴻蒙,頂多是測試一下應(yīng)用能不能在鴻蒙環(huán)境下運(yùn)行罷了。還是把兼容性這件事兒交給鴻蒙去搞吧。
鴻蒙出來的話,安卓工程師并不會失業(yè),取決于自己想不想在鴻蒙上開發(fā)軟件。
鴻蒙的應(yīng)用程序開發(fā),主要是基于Java和NodeJS,基于Java的整體框架結(jié)構(gòu)與安卓極其相似,加上其開發(fā)環(huán)境DevEco Studio與Android Studio同宗,安卓工程師可以極短的時(shí)間迅速上手鴻蒙應(yīng)用程序的開發(fā)。當(dāng)然,一些做前端開發(fā)的小伙伴也會進(jìn)入鴻蒙平臺進(jìn)行開發(fā),但這部分小伙伴往往是會用一套代碼、同時(shí)適配多個應(yīng)用平臺(類似國產(chǎn)的uni-app),這些本身就在和安卓開發(fā)有一種競爭關(guān)系,并不會因?yàn)轼櫭傻纳a(chǎn)而發(fā)生多大變化。
另外鴻蒙的開發(fā)平臺,也可以很輕松在智能屏、智能手表、車載智能設(shè)備等設(shè)備上調(diào)試開發(fā),總體來說,如果鴻蒙火起來,就會有更多的軟件開發(fā)需求了,安卓開發(fā)工程師會更吃香。建議大家多多接觸鴻蒙生態(tài),多學(xué)一點(diǎn)知識對自己是一個積累儲備,總不會是壞事。
錯,是谷歌、微軟和蘋果要倒閉了!
鴻蒙系統(tǒng)配備方舟編譯器,兼容安卓應(yīng)用,但運(yùn)行效率……(此處省略1000字,翻2019年文章)……鴻蒙系統(tǒng)能在所有設(shè)備運(yùn)行,支持手機(jī)、電腦、平板、物聯(lián)網(wǎng)……(此處省略1000字,翻2019年文章)……
我想說的是你們太不懂華為了,其實(shí)鴻蒙早已開發(fā)完成并且隨時(shí)可用!他一直在忍,在等一個機(jī)會……
非??隙ǖ恼f不會失業(yè)。我們知道鴻蒙OS有很多地方借鑒了Android,甚至是說底層有很多Android的代碼,開發(fā)思維很多都跟Android相似。比如寫UI有Java方式和JS方式,而Java方式的UI和Android如出一轍,在Xml里面寫界面,在Java里面獲取控件設(shè)置數(shù)據(jù),處理邏輯等等。鴻蒙里面也有Intent來處理跳轉(zhuǎn)傳數(shù)據(jù),而鴻蒙的Ability更是和Android里面的Context,Activity這一套很相似,分前臺界面顯示,后臺不可以的服務(wù),以及用來傳數(shù)據(jù)的Ability,就像Android里的Content Provider。當(dāng)然它們之前也有不同,但你在方方面面都能看見Android的影子,所以Android開發(fā)者轉(zhuǎn)鴻蒙平臺開發(fā),相比于其它平臺的開發(fā)者,是天然有優(yōu)勢的,只要企業(yè)有需要,幾乎所有Android開發(fā)在適應(yīng)一段時(shí)間后都能上手做項(xiàng)目了。
相反的是鴻蒙生態(tài)能不能發(fā)展起來,能不能解決Android,iOS生態(tài)的一些痛點(diǎn)。能否吸引企業(yè)去開發(fā)鴻蒙應(yīng)用,開發(fā)時(shí),能否降低成本。當(dāng)企業(yè)花大量的人力,物力開發(fā)出來的應(yīng)用,沒用戶使用,或者收益甚微,企業(yè)是不愿意去嘗試的。要想發(fā)展鴻蒙生態(tài),這方面不僅華為自己要努力,一些國企,知名大企些帶頭作用,像央視影音,新華網(wǎng),京東等等已經(jīng)發(fā)布鴻蒙平臺的APP了。
如果鴻蒙生態(tài)發(fā)展的很好,有大量的用戶大量的應(yīng)用,擠占了Android和iOS的市場占有量,Android開發(fā)者能迅速轉(zhuǎn)到鴻蒙平臺上,iOS的開發(fā)者要怎么辦呢。也許你會說iOS根本不需要考慮,Android的市場占有率這么高iOS還不是活的好好的,當(dāng)年諾基亞也沒想到自己會倒的這么快。
作為一名android開發(fā)工程師,我想說,失業(yè)是不可能的,這輩子都不可能失業(yè)!
也許身為移動端開發(fā)人員的我們,正處于一段亂流之中!
首先,來談?wù)刟ndroid的碎片化問題。
僅僅2014年,全球支持Android的機(jī)型為18796種,再來看看國內(nèi),華為、小米、oppo、vivo...,android手機(jī)廠商也很多,每個品牌都是基于android開源系統(tǒng)改造,android開發(fā)人員要在完成軟件功能的同時(shí),對不同品牌的手機(jī)做功能適配,非常麻煩。
除了手機(jī)品牌數(shù)量多,手機(jī)屏幕的尺寸適配問題也很麻煩,往往一個軟件的開發(fā),有60%的時(shí)間在適配工作上。
是的,現(xiàn)在鴻蒙來了,意味著什么?意味著android開發(fā)人員有必要或者就必須去學(xué)習(xí)一門新語言、一個新系統(tǒng)的開發(fā)、適配,對于一個企業(yè)來說,要么就增加人工成本請一個鴻蒙系統(tǒng)開發(fā)人員,要么就強(qiáng)制在職android開發(fā)人員重新開發(fā)一遍軟件適配鴻蒙系統(tǒng)。
基于此,不知道有多少android開發(fā)人員會買賬,不知道多少企業(yè)會加個鴻蒙系統(tǒng)平臺,不知道鴻蒙系統(tǒng)能不能站住腳推廣開來。
雖然現(xiàn)在鴻蒙系統(tǒng)可以兼容android應(yīng)用,但以后必然會兩級分化。
如果鴻蒙系統(tǒng)沒有革命性的突破,如果美國不再卡脖子,如果沒有國家的干預(yù)措施,只靠平民大眾自覺愛國的方式支持鴻蒙系統(tǒng),我看很懸啊,畢竟,蘋果手機(jī)在國內(nèi)的銷量一如既往?。?!
再者,在手機(jī)行業(yè),小米、oppo等手機(jī)廠商和華為本是競爭關(guān)系,會放棄自己的系統(tǒng)換成鴻蒙系統(tǒng)嗎?這樣的話,其他手機(jī)廠商的生存空間會一天不如一天,就算鴻蒙開源使用,也只不過走android碎片化的老路!
系統(tǒng)之爭本就不是一朝一夕,不用擔(dān)心會不會失業(yè),路,還很長!
實(shí)際上安卓系統(tǒng)的成功起初很大得益于中國市場,可以說中國市場選擇誰,成功的幾率非常大, 鴻蒙系統(tǒng)出世以后,安卓開發(fā)工程師會失業(yè)嗎? 暫時(shí)不會的,畢竟有一個過程,也是一種博弈過程,實(shí)際上安卓系統(tǒng)與鴻蒙系統(tǒng)現(xiàn)在沒必要刻意追求細(xì)小細(xì)節(jié)的優(yōu)劣,前提是由于美國對中國的打壓,谷歌斷供服務(wù)華為,別看只是說切斷了華為的服務(wù),但是這種破壞性本身就是讓各國包括中國對美國不可能再信任,今天是華為,明天有可能是另一家企業(yè),無論美國怎么說,谷歌再會解釋,實(shí)際上這種行為已經(jīng)打破了行業(yè)規(guī)則,后期效應(yīng)就是不可能再一味的依靠美國,各國發(fā)展自己的系統(tǒng),中國也必須的推出自己的系統(tǒng),大勢所趨,安卓體系以后會慢慢萎縮,安卓開發(fā)工程師失業(yè)不失業(yè)就憑他們個人能力了,肯定減員,估計(jì)未來的鴻蒙系統(tǒng)會越來越強(qiáng)大,市場份額是固定的,就看誰的市場大了,也不排除安卓開發(fā)工程師跳槽來鴻蒙。
開發(fā)鴻蒙只能在華為支持的鴻蒙設(shè)備上運(yùn)行,開發(fā)android,可以在所有安卓設(shè)備包括鴻蒙設(shè)備上也兼容運(yùn)行,何來失業(yè)
做安卓的一天不用就能寫鴻蒙。可以忽悠甲方加錢了[淚奔]
不會,確切的說鴻蒙的出世,給Android工程師提供了更多的機(jī)會。鴻蒙生態(tài)的建設(shè),安卓工程師會貢獻(xiàn)絕對的力量。
另外,從技術(shù)上講,安卓開發(fā)的應(yīng)用完全兼容鴻蒙,安卓工程師開發(fā)安卓應(yīng)用的時(shí)候,可能會針對鴻蒙系統(tǒng)做適配工作,工作量的增加,工程師的價(jià)值也會增長。
是得我就是干這個 但是我都計(jì)劃改行了
不用,因?yàn)閷τ诖蠖鄶?shù)的程序員來講都是屬于應(yīng)用開發(fā),根據(jù)的介紹,華為即將推出的鴻蒙操作系統(tǒng)兼容了安卓所有應(yīng)用,所以對于目前市面上主要的應(yīng)用開發(fā)人員來講,其實(shí)是沒有特別大的影響的,更不用說去學(xué)習(xí)新的開發(fā)預(yù)言了。
不過也有另外一種情況,那就是對于系統(tǒng)安全領(lǐng)域的應(yīng)用,比如各種安全衛(wèi)士、殺毒類的應(yīng)用來講,那是必然需要對華為的鴻蒙操心系統(tǒng)進(jìn)行適配的,5月25日360就宣布會積極適配華為的鴻蒙操作系統(tǒng),不過整合中適配的難度應(yīng)該也不會太大,畢竟鴻蒙系統(tǒng)跟IOS不一樣,它不是拋開安卓系統(tǒng)外另起了一套,而是跟安卓系統(tǒng)一樣都是基于Linux開發(fā)而言,因此在應(yīng)用適配方面,估計(jì)跟當(dāng)前的安卓應(yīng)用開發(fā)也有一定的相似性。
安卓是基于Linux的,是宏內(nèi)核,由一堆底層特權(quán)模式的核心代碼緊密組合在一起。這個架構(gòu)的靈活性是不夠的。面對各種硬件配置的手機(jī),或者平板、電視之類的系統(tǒng),它都是這一個架構(gòu),怎么適應(yīng)?于是就搞出一個叫“虛擬機(jī)”的東西,假設(shè)大家都是在虛擬機(jī)上運(yùn)行,代碼是跨平臺的。每一個安卓應(yīng)用,都在操作系統(tǒng)底層對應(yīng)著一個虛擬機(jī)實(shí)例,由這個虛擬機(jī)來伺候運(yùn)行應(yīng)用程序的代碼。
而且對于操作系統(tǒng)生態(tài)的搭建來講,其實(shí)系統(tǒng)開發(fā)一家企業(yè)都能搞定,但是應(yīng)用生態(tài)開發(fā)確是需要整合產(chǎn)業(yè)鏈上的很多參與者才行,這也是非??简?yàn)企業(yè)的資源整合能力的,而華為目前選擇兼容安卓應(yīng)用,也是考慮到疾風(fēng)驟雨的打擊的前提下,所做出的決定,因?yàn)樽园讶A為列入"實(shí)體名單"之后,谷歌很快就宣布暫停了跟華為在硬件、軟件及技術(shù)服務(wù)方面的合作,因此華為就不得不在安卓系統(tǒng)之前另謀方法。