新聞中心
鴻蒙系統(tǒng)好寫嗎?為什么?
單從技術(shù)上講,開發(fā)一個單獨(dú)的操作系統(tǒng)內(nèi)核并沒有想象中的那么困難。網(wǎng)上搜一下 至少能找到幾十個甚至上百個OS內(nèi)核實(shí)現(xiàn),雖然絕大多數(shù)只是玩具級別的,但很多都是麻雀雖小,五臟俱全,基本的功能都有實(shí)現(xiàn)。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、孝南ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的孝南網(wǎng)站制作公司
先說下自己的一些經(jīng)歷吧。
我在幾年前曾經(jīng)從零開始寫過一個簡單的操作系統(tǒng)內(nèi)核,實(shí)現(xiàn)了基本的boot, 內(nèi)存管理,進(jìn)程管理,中斷管理,IPC,簡單的文件系統(tǒng),簡單的磁盤驅(qū)動,鍵盤驅(qū)動,簡單的終端等基本功能,還實(shí)現(xiàn)了一個簡單的調(diào)試器,支持?jǐn)帱c(diǎn)等基本功能。當(dāng)時對操作系統(tǒng)簡直達(dá)到了癡迷的程度,只要工作上的事情一做完就去看操作系統(tǒng)方面的書籍資料,晚上下班和周末更是幾乎宅在家里不出門,真的可謂是廢寢忘食。
終于在參考了Linux, VxWorks還有國外一些大牛寫的OS內(nèi)核之后,最后搞出來了一個玩具級的OS內(nèi)核,前后大概持續(xù)了半年左右。當(dāng)時也純粹是為了學(xué)習(xí)的目的,也是覺得比較好玩,基本功能實(shí)現(xiàn)后,就慢慢遺忘在在磁盤的角落里積灰了。。。
所以,從技術(shù)上說,開發(fā)一個OS內(nèi)核并沒有想象中的那么困難,很多大公司其實(shí)技術(shù)上都完全有能力開發(fā)一個具備基本功能的OS內(nèi)核。當(dāng)然,功能完備性、安全性、性能等方面能不能搞好就另說了。
我現(xiàn)在所在的公司,就有完全自主開發(fā)的微內(nèi)核OS,并且在公司上百萬臺的電信級的分布式集群服務(wù)器產(chǎn)品上已經(jīng)穩(wěn)定運(yùn)行了二十多年。并且,還圍繞這個OS建立了一系列配套生態(tài),比如基礎(chǔ)開發(fā)庫,一系列配套的開發(fā)調(diào)試工具,甚至還有專門為這個系統(tǒng)開發(fā)的編程語言和編譯器等。我曾經(jīng)有幾年的主要工作,就是在維護(hù)這個OS內(nèi)核??上У氖?,這幾年公司已經(jīng)在慢慢用Linux替換這個OS了,估計(jì)幾年之后就要徹底退役了。
開發(fā)一個操作系統(tǒng)的真正難點(diǎn)在于創(chuàng)建圍繞在這個內(nèi)核周邊的生態(tài)系統(tǒng)。一個單獨(dú)的內(nèi)核遠(yuǎn)遠(yuǎn)不能構(gòu)成一個完整的系統(tǒng),它需要大量的支持環(huán)境,如系統(tǒng)支持庫,應(yīng)用程序,開發(fā)調(diào)試工具等等,此外還要能夠推廣出去,要有其他上下游的公司愿意使用,能夠被廣大開發(fā)者認(rèn)可并愿意為其開發(fā)新的應(yīng)用等等,這才是真正的難點(diǎn)所在,是需要投入大量人力物力財(cái)力才有可能完成的。
很多公司也正是從技術(shù)積累上,時間上,成本上,風(fēng)險(xiǎn)上來考慮,不愿意花大力氣在這上面。所以才有了如今Windows,Linux,Apple三分天下的局面。
咱們國家雖然急切渴望能有一個自研的OS,但現(xiàn)狀是,有實(shí)力的廠商更愿意投資一些能看得到摸得著的實(shí)實(shí)在在的應(yīng)用產(chǎn)品上,這樣來錢快,才能在最短的時間內(nèi)看到收益回報(bào),也就是更高的投入回報(bào)比。
對于像操作系統(tǒng),編譯器之類的基礎(chǔ)軟件,除了需要雄厚的技術(shù)實(shí)力外,還需要耗費(fèi)大量的人力財(cái)力物力,而且失敗的風(fēng)險(xiǎn)較大。即便開發(fā)成功,還要花大力氣進(jìn)行推廣,建立周邊生態(tài),這更是需要更大投資,時間成本也更大,往往需要幾年甚至十幾年時間才能看得到收益。
這對于習(xí)慣吃快餐、賺快錢的國內(nèi)企業(yè)來說,根本無法接受。這也需要企業(yè)決策層領(lǐng)導(dǎo)具有很大的魄力和戰(zhàn)略眼光,但現(xiàn)實(shí)中,這樣的領(lǐng)導(dǎo)簡直是鳳毛麟角。
這也正是國內(nèi)廠商大都不愿觸碰自研OS的主要原因,也造成了我國至今仍沒有自己的操作系統(tǒng)編譯器的局面。
此外,現(xiàn)在市場上對一個新的OS的需求其實(shí)也沒有那么急迫,沒有需求,就沒有利益,自然就沒有動力。尤其在快餐文化盛行的今天,更是很少有公司愿意去觸碰這吃力不討好的事情。
當(dāng)然也無須太過悲觀,任何東西,只要有需求,就會有利益吸引力,就會給企業(yè)研究機(jī)構(gòu)足夠的動力。相信將來某一天,一旦Windows, Linux, Apple三巨頭不再適用市場需求,馬上就會有新的操作系統(tǒng)出現(xiàn)。
或許也用不了等很久吧,畢竟微軟已經(jīng)宣布Win10之后將不會再有大的Windows更新版本,而Linux雖然現(xiàn)在社區(qū)的開發(fā)仍然很活躍,新的功能仍在被源源不斷的添加進(jìn)去,但也正是由于這個原因,它現(xiàn)在變成了一個大而全的通用操作系統(tǒng),已經(jīng)變得越來越臃腫,很多場景其實(shí)已經(jīng)不是很適用了,只是沒有更好的替代品,很多公司又不愿意投入自研OS,所以只能選擇相對成熟并且生態(tài)資源豐富的Linux。
Google不是幾年前就已經(jīng)開始開發(fā)Fuchsia了嗎? 咱們拭目以待吧。也希望國內(nèi)有實(shí)力的企業(yè)和科研機(jī)構(gòu)能夠迎頭趕上,早日實(shí)現(xiàn)自研OS夢。
github上放出來的只是一個迷你的嵌入式OS內(nèi)核LiteOS,翻看過代碼,本身并沒有很大的難度。至于鴻蒙OS,源碼還沒開放,目前為止還只是在PPT上出現(xiàn)過,所以不好評價(jià),但愿能夠不負(fù)眾望吧。
Hongmeng OS是基于Linux內(nèi)核源代碼的開發(fā)。 OS實(shí)現(xiàn)代碼主要是C語言,內(nèi)核提供的本機(jī)系統(tǒng)調(diào)用接口肯定也是C語言接口。上層APP應(yīng)用程序與現(xiàn)有的Android JAVA程序兼容,可能需要重新編譯JAVA應(yīng)用程序。程序代碼將運(yùn)行。至于應(yīng)用程序編程SDK不支持JAVA以外的編程語言,還需要等待系統(tǒng)正式發(fā)布后才能發(fā)布,但是你可以先了解下面的編譯器,據(jù)說這是一個業(yè)界開源編譯器,用于編譯APP程序。 。但是,我仍然希望鴻蒙操作系統(tǒng)的應(yīng)用程序編程接口支持更多的編程語言(如CC等),這樣程序可以有更多的選擇。
操作系統(tǒng)從運(yùn)行效率 和 可控性來看是要用C語言。 解釋性語言,比如python、PHP就不大可能的。Java 也不太可能,一方面運(yùn)行效率不如C語言,另外不可控:在內(nèi)存方面,C語言內(nèi)存申請和釋放都很實(shí)時,不像Java 語言內(nèi)存釋放 要等GC。在操作系統(tǒng)層面,內(nèi)存申請和釋放是很頻繁的,不能用GC定時釋放,萬一來不及釋放 就OOM了,另外的萬一發(fā)生full GC 那就更糟糕了,操作系統(tǒng)底層指令運(yùn)行稍微一抖動,應(yīng)用程序的執(zhí)行性能就震了三震。
希望對你有所幫助!
從技術(shù)上講,操作系統(tǒng)是一個沒有多少技術(shù)含量的事情。一個明白操作系統(tǒng)原理的人用幾個月就可以寫出一個操作系統(tǒng)。
這個世界上的操作系統(tǒng)成千上萬,到處都是,任何一個自動設(shè)備中都可以認(rèn)為里面有一個操作系統(tǒng),電話、門禁、共享自行車中都有。
鴻蒙系統(tǒng)是否好寫要看他的目標(biāo)是什么,只是簡單使用當(dāng)然簡單,但要成為一個流行的系統(tǒng)則難度非常的高。
個人看法是鴻蒙系統(tǒng)有天生的缺陷,他是對抗美國產(chǎn)生的,華為一家獨(dú)大,包括國內(nèi)的其它廠商都不能干涉,同時他并非開源,他想怎么辦就怎么辦。這樣就造成開發(fā)者特別是國外的開發(fā)者面臨的風(fēng)險(xiǎn)非常的大。要是和誰鬧翻了給禁用那怎么辦?
安卓有一個最大的優(yōu)勢在于開源,世界上的開發(fā)者都可以使用,共同推進(jìn)發(fā)展。當(dāng)然本次事件更多的來源于政府的制裁,作為google當(dāng)然要遵守政府的規(guī)定。但鴻蒙同時要遵守政府及企業(yè)的雙層管制。
因此鴻蒙更多的是國內(nèi)華為的系統(tǒng),無論是阿里、小米還是誰想用都面臨具體的風(fēng)險(xiǎn),國外的開發(fā)者更是這樣,要是他的國家一不小心辱華了,華為就給他們禁用,他們就死定了。
操作系統(tǒng)沒有一個可以用好寫來形容。
首先從代碼量上來講,操作系統(tǒng)作為一個系統(tǒng),其代碼量工作是非常龐大的,如果由單個開發(fā)者來完成,會是一項(xiàng)非常艱巨的任務(wù)。比如Windows內(nèi)核的代碼在5000萬行以上,Linux目前在2500萬行左右。如果題主從事開發(fā)工作的話,可以大概估計(jì)一下代碼量的多少。
作為操作系統(tǒng)來說,兼容不同設(shè)備以及不同代的設(shè)備是必須的,向上和向下兼容保證了操作系統(tǒng)可以運(yùn)行在不同的平臺上,而向后兼容則保證了開發(fā)者的產(chǎn)品不會由于系統(tǒng)升級而出現(xiàn)不能使用的情況。
鴻蒙是分布式系統(tǒng),顯然需要支持不止一種類型的設(shè)備,這意味著操作系統(tǒng)本身需要考慮大量的底層硬件區(qū)別并給予支持。
操作系統(tǒng)最主要的一個功能是調(diào)度,即使在微內(nèi)核架構(gòu)里,調(diào)度依然被保留為內(nèi)核的功能之一。
而調(diào)度在不同的負(fù)載下面,不同的設(shè)備上面以及不同的使用場景下面,都應(yīng)該表現(xiàn)出不同的性能,那么開發(fā)者需要考慮到這其中最優(yōu)并且最穩(wěn)定的方案,最簡單的方法不夠智能,最智能的方法又可能引入一些問題。
所以總體來講,不論操作系統(tǒng)本身性能優(yōu)劣,從頭開發(fā)一套系統(tǒng)就是一件工程量極其龐大的工作。
對于像華為這種公司來說,寫出一個基于Linux的類似于安卓的系統(tǒng)應(yīng)該是沒有什么難度。但為什么鴻蒙系統(tǒng)到現(xiàn)在還沒有正式退出使用?
其次一個系統(tǒng)主要是的就是它的生態(tài)系統(tǒng),就是我們使用的各種app,就像當(dāng)初微軟的手機(jī)系統(tǒng),就是死在軟件生態(tài)不全,而形成生態(tài)就需要比較長時間和財(cái)力的投入,要吸引開發(fā)者去適配新的系統(tǒng),而華為目前正在做這件事,通過高于其他系統(tǒng)的收益分成或者收益全部讓利開發(fā)者的方式慢慢完善自己的生態(tài)。目前國內(nèi)外已經(jīng)有很多軟件及 游戲 廠商已經(jīng)開始適配HMS服務(wù)了,相信不久我們就能看到生態(tài)完善的華為新的系統(tǒng)了[贊]
聽到鴻蒙,華為都不知道是誰家系統(tǒng),也許根本就不存在
湊合吧,筆畫有點(diǎn)多[捂臉]
難!
但對任何一家世界級體量的公司,都寫得出!連黑莓手機(jī)都能寫得出!
但生態(tài)很難!收費(fèi)沒人用,開源也沒人用[捂臉]
不好寫
鴻蒙3.0系統(tǒng)與華為倉頡編程語言,從系統(tǒng)級6層架構(gòu)上深入分析
華為的鴻蒙系統(tǒng)3.0開始對9款手機(jī)的公測,這其中就包括p50系列的3款手機(jī),mate40系列的5款手機(jī),和一款12.6英寸的matepad pro。這讓咱手里拿著的mate30備受冷落。但我自己心里就更加期待華為的倉頡編程語言。這么屈指一算,倉頡編程語言從4月2號開始內(nèi)測以來已經(jīng)兩個多月了。因此,我預(yù)判,鴻蒙系統(tǒng)3.0會跟倉頡編程語言一起來到咱們的身邊。
那么在準(zhǔn)備迎接鴻蒙系統(tǒng)3.0和倉頡編程語言之前,我這一期幫大家打一個堅(jiān)實(shí)的基礎(chǔ)。我相信許多朋友當(dāng)說起來操作系統(tǒng)或者是編程語言的時候,腦子里其實(shí)是有點(diǎn)支離破碎,或者是一頭霧水。我?guī)椭蠹覐囊粋€宏觀的角度去鳥瞰,去把握和理解計(jì)算機(jī)科學(xué)體系中的坐標(biāo),讓你獨(dú)具一雙慧眼,單單靠著你的直覺就能獲得專業(yè)的視角。計(jì)算機(jī)科學(xué)包括六層架構(gòu),操作系統(tǒng)在第四層上,華為倉頡編程語言這樣的應(yīng)用級編程語言則處在第五層上。
咱們先從底部開始,所謂萬丈高樓平地起嘛。咱們來先看基礎(chǔ):信息理論。任何學(xué)科的基礎(chǔ)都是數(shù)學(xué),當(dāng)然計(jì)算機(jī)科學(xué)也不例外。這第一層就是關(guān)于數(shù)學(xué)理論的。咱們?nèi)粘S玫氖鞘M(jìn)制,計(jì)算機(jī)則是由0和1構(gòu)建起來的是二進(jìn)制。那數(shù)學(xué)也很簡單,就是關(guān)于0和1的加法。比如1加1,在十進(jìn)制中是等于2,而在二進(jìn)制1加1等于10,這就是所有的數(shù)學(xué)基礎(chǔ),也就是這么簡單。
但是還有更加往上抽象的一個層面的基礎(chǔ),就是咱們在高中時候?qū)W習(xí)的“布爾代數(shù)”??此撇黄鹧鄣摹安紶柎鷶?shù)”研究的是機(jī)器如何思考,如何讓機(jī)器來獲得智能這樣的問題。
布爾在1854年就解決發(fā)表一篇“研究人類的思考規(guī)律”的論文,提出了“布爾代數(shù)”,為機(jī)器如何思考打下了理論基礎(chǔ)。
布爾當(dāng)時的想法很簡單。他認(rèn)為人是理性的,那么人是按照理性邏輯來思考問題的。于是,如果他能把大腦思考問題的邏輯,提煉抽象出來的話,那么是不是就能用這邏輯在大腦之外去思考呢?布爾的這項(xiàng)雄心勃勃的構(gòu)思就是人工智能的雛形。你想呀,如果把這個邏輯提煉出來用在機(jī)器機(jī)械零件上,機(jī)械零件就會開始思考。如果用在電路上,這個電路是不是也就開始思考了呢。布爾代數(shù)咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來講述了這個機(jī)器來如何用布爾代數(shù)來思考,大家感興趣可以看下那一期,我在這不展開浪費(fèi)時間。
再往上第二層就是硬件,布爾他把理論抽象出來,將布爾代數(shù)應(yīng)用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農(nóng)就首次把布爾代數(shù)應(yīng)用到了電路上,于是這個電路就開始思考了。從最早的真空管到半導(dǎo)體晶體管(我前面那一期也專門講過“機(jī)器如何用晶體管來思考”)然后到集成電路,再到現(xiàn)在這個大型的集成電路芯片。我們知道麒麟9000芯片用的Arm架構(gòu)的指令集,指揮CPU工作的指令又叫機(jī)器碼。比如“加法”就是用一串?dāng)?shù)字機(jī)器碼00000011來表示。
然而你會發(fā)現(xiàn),用機(jī)器碼來指揮這個cpu或者電腦工作太麻煩了。一般人哪里能記住像前面的6個0和后面兩個1來表示加減乘除的加呢。
正是困擾于此,科學(xué)家就此提出來編程語言。最早編程語言是匯編語言。比如前面表示加法的機(jī)器碼00000011,匯編語言中將其抽象為add。然而,匯編語言也需要大量的記憶,一個指令一個指令的對應(yīng),也是太機(jī)械了。再往前一步,往上一層抽象就是系統(tǒng)級的編程語言:面向過程的C語言。
一門編程語言所要做的一個主要工作就是在機(jī)器和我們?nèi)祟愃伎贾g建立一座橋梁。我們是人類的思考邏輯,機(jī)器是機(jī)械 式邏輯思考問題。越高級的編程語言越符合我們?nèi)祟惖乃伎歼壿?,越初級的編程語言則越貼近機(jī)器的邏輯。因此,我們用高級的編程語言比如C語言,將想做的事情表達(dá)出來,它會自動轉(zhuǎn)換成機(jī)器碼。
我喜歡的編程發(fā)展史上的第二大古老的語言:Lisp語言。
就是直接使用我們的抽象思考的語言。比如重復(fù)地來做一件事,重復(fù)說五遍“Hello”這個單詞。Lisp將重復(fù)抽象為dotimes,do是做, times是多次,dotimes反復(fù)多次做。看見沒,編程語言成了我們抽象的思考工具。
當(dāng)然,華為倉頡語言也是在編程語言這里,但不是系統(tǒng)級的編程語言,咱們后面再說
當(dāng)在第二層硬件之上發(fā)展出來高級的編程語言,有了系統(tǒng)級的編程語言比如C語言之后。大家就發(fā)現(xiàn),我需要一個操作系統(tǒng)來處理日常的基本任務(wù),比如文件管理,進(jìn)程管理,內(nèi)存管理,設(shè)備管理和用戶管理等等。于是科學(xué)家著手用編程語言寫操作系統(tǒng)。而事實(shí)上C語言在1969年的發(fā)明,也正是為了移植與開發(fā)UNIX操作系統(tǒng)。C語言的設(shè)計(jì)者丹尼斯·里奇同時也是Unix操作系統(tǒng)的發(fā)明人。到了1991年Linus用C語言寫了Linux內(nèi)核,也是目前安卓和鴻蒙系統(tǒng)的內(nèi)核。
華為的EROFS超級文件系統(tǒng)并入Linux內(nèi)核之后,無論是Linux還是安卓都打上了20%的華為烙印。
操作系統(tǒng)再往上一層就是我們?nèi)粘5膽?yīng)用。比如聽歌、看視頻等apps就是在操作系統(tǒng)之上。這也好理解,先有了操作系統(tǒng),才有我們的各種應(yīng)用。由此也能理解,為什么像鴻蒙系統(tǒng)3.0如此重要,因?yàn)閼?yīng)用程序要運(yùn)行在上面。這些應(yīng)用程序就是用華為倉頡編程語言等應(yīng)用級編程語言開發(fā)的。不過,目前咱們手機(jī)上的應(yīng)用程序都是用Java開發(fā)。未來鴻蒙系統(tǒng)將會使用自研的倉頡語言開發(fā)鴻蒙應(yīng)用。
應(yīng)用程序的主要功能之一是溝通和交流。我們用Email發(fā)郵件,用通訊視頻聊天,而Web應(yīng)用技術(shù)構(gòu)建起來當(dāng)前的互聯(lián)網(wǎng)信息大廈。
好了,我們總結(jié)一下。計(jì)算機(jī)科學(xué)的六層架構(gòu)。
第1層是信息理論,研究如何在大腦之外實(shí)現(xiàn)思考,布爾代數(shù)是人工智能的雛形。第2層是硬件,布爾代數(shù)應(yīng)用到電路上,晶體管開始思考,將數(shù)以億計(jì)的晶體管雕刻到集成電路CPU中,CPU的機(jī)器碼指揮計(jì)算機(jī)工作。第3層編程語言,從枯燥難記的機(jī)器碼里發(fā)展出來匯編語言,再到系統(tǒng)級的C語言,構(gòu)建起來人類思考與機(jī)器邏輯之間橋梁。第4層操作系統(tǒng),C語言不是憑空而來,是為了開發(fā)Unix操作系統(tǒng)而發(fā)明,而操作系統(tǒng)是計(jì)算機(jī)里最大的軟件。第5層應(yīng)用軟件,日常所有的apps都運(yùn)行在操作系統(tǒng)之上。倉頡編程語言是給鴻蒙系統(tǒng)開發(fā)應(yīng)用程序的專屬開發(fā)語言。第六層溝通互聯(lián),就是我們目前的互聯(lián)網(wǎng)技術(shù),在網(wǎng)絡(luò)里看書、聽音樂,點(diǎn)一份外賣等等。
這就是計(jì)算機(jī)科學(xué)六層架構(gòu),鴻蒙操作系統(tǒng)與倉頡編程語言各就各位。用架構(gòu)去思考和看問題,不僅能心中有數(shù),還能獨(dú)具一雙慧眼。
鴻蒙要出來了,Android開發(fā)工程師是不是要失業(yè)啦?
一、在華為如日中天的時候,華為都沒敢推鴻蒙系統(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)。現(xiàn)在是因?yàn)橹撇玫脑?,趕鴨子上架成為了手機(jī)系統(tǒng)。這種臨時改變用途的系統(tǒng)需要大動干戈才能完善對手機(jī)的應(yīng)用支持。可以想象,如果鴻蒙系統(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同宗,安卓工程師可以極短的時間迅速上手鴻蒙應(yīng)用程序的開發(fā)。當(dāng)然,一些做前端開發(fā)的小伙伴也會進(jìn)入鴻蒙平臺進(jìn)行開發(fā),但這部分小伙伴往往是會用一套代碼、同時適配多個應(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ā)完成并且隨時可用!他一直在忍,在等一個機(jī)會……
作為一名android開發(fā)工程師,我想說,失業(yè)是不可能的,這輩子都不可能失業(yè)!
也許身為移動端開發(fā)人員的我們,正處于一段亂流之中!
首先,來談?wù)刟ndroid的碎片化問題。
僅僅2014年,全球支持Android的機(jī)型為18796種,再來看看國內(nèi),華為、小米、oppo、vivo...,android手機(jī)廠商也很多,每個品牌都是基于android開源系統(tǒng)改造,android開發(fā)人員要在完成軟件功能的同時,對不同品牌的手機(jī)做功能適配,非常麻煩。
除了手機(jī)品牌數(shù)量多,手機(jī)屏幕的尺寸適配問題也很麻煩,往往一個軟件的開發(fā),有60%的時間在適配工作上。
是的,現(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è),路,還很長!
開發(fā)鴻蒙只能在華為支持的鴻蒙設(shè)備上運(yùn)行,開發(fā)android,可以在所有安卓設(shè)備包括鴻蒙設(shè)備上也兼容運(yùn)行,何來失業(yè)
做安卓的一天不用就能寫鴻蒙??梢院鲇萍追郊渝X了[淚奔]
中國北斗早就出來了,GPS的工程師沒失業(yè)吧!
不會,可以學(xué)習(xí)一下華為鴻蒙開發(fā)教程。
是得我就是干這個 但是我都計(jì)劃改行了
不會失業(yè)的,他們可以轉(zhuǎn)鴻蒙開發(fā),非常簡單
如果華為的鴻蒙系統(tǒng)推出成功,那么程序員是不是也要重新學(xué)習(xí)適應(yīng)鴻蒙系統(tǒng)的開發(fā)語言
不用,因?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)之前另謀方法。
當(dāng)前文章:鴻蒙程序開發(fā),鴻蒙程序開發(fā)教程
文章來源:http://fisionsoft.com.cn/article/dscjesi.html