Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品三级久久久久电影网1,亚洲国产成人久久午夜,在线免费观看日本视频

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          打工人最愛(ài)技能:JavaScript的未來(lái)會(huì)走向何方?

          文共5432字,預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng)14分鐘


          圖源:unsplash


          作為一個(gè)見(jiàn)證了過(guò)去17年編程語(yǔ)言發(fā)展的軟件開(kāi)發(fā)者,筆者試圖在本文中對(duì)JavaScript進(jìn)行一些預(yù)測(cè)。


          如今,JavaScript無(wú)處不在,不僅僅應(yīng)用在前端(瀏覽器)和后端(Node和Deno),也包括手機(jī)、電腦桌面軟件,甚至兩者的混合應(yīng)用。它已經(jīng)成為2020年求職人最想擁有的工作技能之一(根據(jù)StackOverflow的開(kāi)發(fā)者調(diào)查)。


          但為何會(huì)如此呢?這對(duì)JavaScript的未來(lái)又意味著什么?JavaScript的發(fā)展是否會(huì)順風(fēng)順?biāo)课磥?lái)會(huì)不會(huì)有一個(gè)更新更好的語(yǔ)言誕生,從而推翻JavaScript無(wú)所不能的地位?本文將探討一下這些可能性。


          是什么讓JavaScript如此受歡迎?


          不管你是喜歡還是討厭,JavaScript的流行都是毋庸置疑的。根據(jù)TIOBE的流行指數(shù),在排名前十的語(yǔ)言中,JavaScript目前排在第七位。


          根據(jù) StackOverflow的2020年開(kāi)發(fā)者調(diào)查,最受歡迎的編程語(yǔ)言正是Java:


          這些不是隨機(jī)數(shù)字或有偏見(jiàn)的民意調(diào)查,這些數(shù)據(jù)可以分析出我們的市場(chǎng),對(duì)全球數(shù)以百萬(wàn)計(jì)的開(kāi)發(fā)者進(jìn)行調(diào)查,一切都在表明JavaScript是2020年的熱門語(yǔ)言之一,對(duì)此你怎么看?


          當(dāng)然,這個(gè)問(wèn)題可能有很多不同的答案,主要取決于你在挑選編程語(yǔ)言時(shí)看重什么,這是我的看法:


          · 背后有一個(gè)龐大的社區(qū)。


          圍繞著這樣一個(gè)事實(shí),發(fā)生了許多有趣的故事:JavaScript外部框架可能比實(shí)際開(kāi)發(fā)者使用的更多。雖然這可能是一個(gè)夸張的說(shuō)法(注意筆者這里說(shuō)的是 "可能"),但這源于一個(gè)事實(shí),那就是我們有這么多的人,試圖讓這門語(yǔ)言成為我們自己的語(yǔ)言,此舉貢獻(xiàn)巨大。這并不是一件壞事,證明了這是一個(gè)充滿生命力并不斷嘗試發(fā)展的社區(qū)。


          當(dāng)筆者不得不使用其他語(yǔ)言時(shí),非常懷念的一件事是,人們可以從原社區(qū)中獲得大量的支持和幫助。這絕對(duì)是一個(gè)進(jìn)步的標(biāo)志,此舉還有待完善,并有望在未來(lái)取得更多的成就。


          · 適當(dāng)?shù)陌l(fā)展方式。


          撇開(kāi)框架和庫(kù)不談,語(yǔ)言本身也在不斷發(fā)展。不過(guò)值得慶幸的是,這種改變并不是由一個(gè)實(shí)體控制的。


          要澄清一下:雖然JavaScript本身(這個(gè)術(shù)語(yǔ))是由Oracle所擁有的,但這門語(yǔ)言是要遵循ECMAScript的規(guī)范。而這些規(guī)范其實(shí)是由社區(qū)本身間接控制的,并由TC39委員會(huì)來(lái)監(jiān)管和組織。


          通過(guò)考慮所有不同的建議以發(fā)展語(yǔ)言,并不斷運(yùn)行直到語(yǔ)言足夠成熟。之后,如果想保持兼容的話,就由例行程序來(lái)實(shí)現(xiàn)這些更新,而且此后瀏覽器之間還存在紛爭(zhēng)。


          作為一個(gè)開(kāi)發(fā)者,必須努力保持在兼容性和標(biāo)準(zhǔn)的范圍內(nèi),因?yàn)槟愀M愕拇a能跨瀏覽器兼容。現(xiàn)在情況已經(jīng)不是這樣了,所有的例行程序都在努力跟上ECMAScript的最新版本。


          · 一個(gè)生機(jī)勃勃的生態(tài)系統(tǒng)。


          這與第一點(diǎn)很像。有更多的前端框架可以嘗試,沒(méi)必要去學(xué)習(xí)所有的框架。每天僅NPM中分享的模塊就數(shù)以百萬(wàn)計(jì)。


          這給剛開(kāi)始嘗試該編程語(yǔ)言的人制造了很多麻煩,但同時(shí)也吸引了更多的人加入,不同的框架和模塊最終都會(huì)達(dá)成同一件事,只是方式不同而已。而這些不同的方式有助于引起更多個(gè)人開(kāi)發(fā)者的共鳴。畢竟,React、Vue和Angular都能幫助開(kāi)發(fā)者創(chuàng)建同樣的APP,只需要選擇自己喜歡的那一款即可。


          那么,綜合幾年前的情況以及它的發(fā)展歷程,你如何看待JavaScript的未來(lái)?

          這絕對(duì)是一個(gè)很難回答的問(wèn)題,先看看筆者的想法。


          近期變化


          在過(guò)去的幾年里,這門語(yǔ)言正在不斷發(fā)展。如果你是JavaScript的新手,也許還沒(méi)有注意到,從ECMAScript 第5版到第6版有一個(gè)質(zhì)的飛躍,在未來(lái)的版本中應(yīng)該也會(huì)發(fā)生許多改動(dòng)。如果它繼續(xù)保持現(xiàn)在的路徑和發(fā)展速度的話,筆者認(rèn)為不久之后它可能會(huì)這樣……


          圖源:unsplash


          作為目標(biāo)語(yǔ)言的JavaScript


          即使JavaScript擁有令人驚嘆的社區(qū),為開(kāi)發(fā)者提供工具和框架做了大量工作,卻仍然有很大一部分人沒(méi)有理由地討厭JavaScript。


          是的,沒(méi)看錯(cuò),確實(shí)有人討厭它,或者至少不喜歡它的大塊頭,認(rèn)為自己可以把它做得更好。于是,就有了CoffeeScript和后來(lái)的Dart以及現(xiàn)在的TypeScript這樣的項(xiàng)目。


          這并不是壞事,事實(shí)上,這是一個(gè)非常好的機(jī)會(huì),讓JavaScript不僅可以直接被全世界的開(kāi)發(fā)者廣泛使用,還可以成為很多transpiler創(chuàng)造者的目標(biāo)語(yǔ)言,試圖給開(kāi)發(fā)者提供其他選擇。


          本質(zhì)上,這場(chǎng)運(yùn)動(dòng)將為JavaScript打開(kāi)大門,通向一個(gè)不同的浩瀚宇宙。自從Node.js進(jìn)入市場(chǎng)并流行以來(lái),JavaScript不再是 “前端語(yǔ)言”,允許公司簡(jiǎn)化他們的技術(shù)堆棧去形成一個(gè)跨領(lǐng)域的單一語(yǔ)言。


          想一想,如果你也能用Python或Ruby做到這一點(diǎn),會(huì)發(fā)生什么?這并不是多么瘋狂的想法,過(guò)去已經(jīng)有項(xiàng)目試圖實(shí)現(xiàn)它,我們可能只是需要更多的時(shí)間。


          前端開(kāi)發(fā)的問(wèn)題(筆者認(rèn)為這是唯一的問(wèn)題)是,你需要學(xué)習(xí)JavaScript才能進(jìn)行工作。這與后端世界完全相反。目前,瀏覽器只允許一種語(yǔ)言為王,那就是JavaScript,如果想要更多的語(yǔ)言,就必須把你的代碼編譯(或者說(shuō)是移植)成JavaScript。


          當(dāng)然,還有WebAssembly,如果他們有更多的能力去訪問(wèn)其他領(lǐng)域,如DOM,它很可能會(huì)取代JavaScript。但現(xiàn)在它只能在一個(gè)非常狹窄的領(lǐng)域發(fā)揮作用:前端的大量計(jì)算。這是一個(gè)性能工具,而不是一個(gè)完全獨(dú)立的前端開(kāi)發(fā)環(huán)境。


          演變的例子


          JavaScript發(fā)展到現(xiàn)在的另一個(gè)方式是通過(guò)社區(qū)開(kāi)發(fā)的框架看到社區(qū)的需求。如果你已經(jīng)使用JavaScript有一段時(shí)間了,特別是從ECMAScript 5開(kāi)始,你可能會(huì)記得lodash和underscore等庫(kù)。


          對(duì)項(xiàng)目來(lái)講,這些庫(kù)都是必要的,因?yàn)樗鼈優(yōu)檎Z(yǔ)言增加了額外的功能,如map、some、find、reduce、get、set、merge等方法。雖然在最近的更新中,有些功能已經(jīng)滲透進(jìn)語(yǔ)言本身,但這些庫(kù)依舊有存在的必要性。


          比如ECMAScript 6,增加了很多數(shù)組方法,給編程算法帶來(lái)了相當(dāng)大的提升。可選鏈?zhǔn)沟?get 方法被淘汰,或者說(shuō)幾乎被淘汰。傳播操作符也幾乎淘汰了merge 方法,而這個(gè)列表還在繼續(xù)更新。一個(gè)功能越是流行,TC39委員會(huì)就越會(huì)嘗試將其納入到語(yǔ)言中。


          另一個(gè)明顯的例子是如何引入類。JavaScript試圖在一個(gè)面向使用者的世界中保持初心,但它失敗了。要么是因?yàn)闆](méi)有足夠的擁護(hù)者,要么是因?yàn)闆](méi)有正確的文檔化。但是有那么多的開(kāi)發(fā)者試圖強(qiáng)行在上層建立一個(gè)OOP模型,于是最終在上層添加了一個(gè)薄薄的OOP層。


          起初這很浮于表面,但隨著不久之后私有字段的加入,它正在慢慢演變成一個(gè)更成熟的模型。道阻且長(zhǎng),這只是語(yǔ)言演變的一個(gè)例子,說(shuō)明這門語(yǔ)言是如何發(fā)展的,盡管違背了它的初衷,但開(kāi)發(fā)者社區(qū)的力量在支持它。


          最后一個(gè)新增的框架是Svelte框架,它試圖將反應(yīng)性的概念帶入語(yǔ)言本身,不像其他框架,比如React,它反而試圖為開(kāi)發(fā)者提供工作方法,將JavaScript還沒(méi)有準(zhǔn)備好的概念強(qiáng)加給他們。


          使用Svelte框架,可以編寫(xiě)這樣的代碼:


          <script>
                   let count =0;
                      functionhandleClick() {
                       count +=1;
                   }
          </script>
                       <buttonon:click={handleClick}>
                   Clicked {count} {count ===1?'time':'times'}
              </button>


          有一個(gè)按鈕,點(diǎn)它標(biāo)簽值就會(huì)更新。當(dāng)然,目前這需要編譯成實(shí)際的JavaScript,你估計(jì)需要多長(zhǎng)時(shí)間才能將類似的例子吸收到合適的ECMAScript規(guī)范中?


          留言點(diǎn)贊關(guān)注

          我們一起分享AI學(xué)習(xí)與發(fā)展的干貨

          如轉(zhuǎn)載,請(qǐng)后臺(tái)留言,遵守轉(zhuǎn)載規(guī)范

          年來(lái),web前端的發(fā)展越來(lái)越迅速,而HTML5則是讓web前端更上一層樓,對(duì)于web前端的開(kāi)發(fā)人員來(lái)說(shuō),學(xué)習(xí)HTML5成為了他們進(jìn)入web前端開(kāi)發(fā)行業(yè)的首選,目前互聯(lián)網(wǎng)的用戶達(dá)到6億,而HTML5的人才缺口也達(dá)到了300多萬(wàn),這就使得HTML的就業(yè)前景非常的廣闊。那么,HTML5語(yǔ)言有什么優(yōu)勢(shì)呢?薪資前景怎么樣?

          HTML5語(yǔ)言優(yōu)勢(shì)

          1、多設(shè)備跨平臺(tái)

          HTML5是可以跨平臺(tái)使用的,當(dāng)你開(kāi)發(fā)了一款HTML5游戲時(shí),你可以很輕松的把這個(gè)游戲移植到其他的平臺(tái)使用,所以他的跨度非常大,非常的受開(kāi)發(fā)者的歡迎。

          2、自適應(yīng)頁(yè)面設(shè)計(jì)

          以往開(kāi)發(fā)者在研發(fā)過(guò)程中需要針對(duì)不同的設(shè)備,提供不同的頁(yè)面設(shè)計(jì),這樣做不僅增加了架構(gòu)設(shè)計(jì)的復(fù)雜程度,同時(shí)成本也會(huì)相對(duì)的提高,而HTML5的出現(xiàn)解決了這一難題,自適應(yīng)網(wǎng)頁(yè)設(shè)計(jì),可以讓同一張網(wǎng)頁(yè)自動(dòng)適應(yīng)不同的屏幕設(shè)備,根據(jù)屏幕的大小做出相應(yīng)的調(diào)整。

          3、更容易推廣

          HTML5應(yīng)用導(dǎo)流更加的方便快捷,不管是搜索引擎,應(yīng)用市場(chǎng)還是瀏覽器導(dǎo)出都是HTML5的;流量入口,所以html擁有更加強(qiáng)大的優(yōu)勢(shì),同時(shí),HTML5還有流量大,以及導(dǎo)流效率高等優(yōu)勢(shì)。

          薪資前景

          想要了解HTML5的薪資前景,那么咱們就靠數(shù)據(jù)說(shuō)話,從職友集上我們就可以看到HTML5開(kāi)發(fā)的薪資情況,我們先來(lái)看一下一線城市的薪資情況

          北京

          上海

          深圳

          通過(guò)上面的數(shù)據(jù)可以看出,現(xiàn)在在IT行業(yè)中,HTML5開(kāi)發(fā)的薪資位居前列,現(xiàn)在工作1-2年的HTML5開(kāi)發(fā)工程師工資水平也會(huì)相應(yīng)的提高一大截。這更加說(shuō)明了現(xiàn)在HTML5的發(fā)展前景。

          HTML5各種需求迭代非常頻繁,所以對(duì)技術(shù)人員的需求不斷的增加,再加上現(xiàn)在IT互聯(lián)網(wǎng)行業(yè)的盛行,在這樣的大環(huán)境下,各類的APP、網(wǎng)站網(wǎng)頁(yè)的更新速度也在不斷的加快,這也使得前端開(kāi)發(fā)更加的頻繁,對(duì)于HTML5開(kāi)發(fā)人員的需求也在進(jìn)一步的增加。

          市場(chǎng)的需求,推動(dòng)了技術(shù)的進(jìn)步,同時(shí)也讓更多的技術(shù)人員有了高薪就業(yè)的機(jī)會(huì)。所以,前端開(kāi)發(fā)不僅有前景,更加的有“錢景”。

          JavaScript的未來(lái)很光明,該語(yǔ)言確實(shí)正在打破瀏覽器的壁壘,許多開(kāi)發(fā)人員看到JavaScript的服務(wù)器端實(shí)現(xiàn),入node.js,從而可以使用一種語(yǔ)言編寫(xiě)web應(yīng)用程序。有趣的是這一看起來(lái)是新生的JavaScript應(yīng)用根本不是新的,Netscape引入的最初的服務(wù)器端開(kāi)發(fā)環(huán)境成為L(zhǎng)iveWire,就是使用服務(wù)器端JavaScript,并且使用Microsoft的經(jīng)典的活動(dòng)服務(wù)器頁(yè)面的頁(yè)面通常使用JScript編寫(xiě)。

          不管是否清楚JavaScript的離世,他的未來(lái)近在咫尺,并且該語(yǔ)言正在超越瀏覽器,走向如武器,桌面小組件,以及所有的程序和設(shè)備。為了完成擁抱其未來(lái),JavaScript需要發(fā)展它的新角色。該語(yǔ)言,需要構(gòu)建大規(guī)模系統(tǒng)的更多功能。其類型和對(duì)象處理的某些方面需要進(jìn)行修改,可能最重要的是,該語(yǔ)言需要一個(gè)公共庫(kù)。引入這些特征以及其他建議的大量“修復(fù)”需要一些時(shí)間。希望這些修復(fù)不會(huì)使該語(yǔ)言支離破碎,也不會(huì)減緩新特性的引入,就像過(guò)去發(fā)生于其他語(yǔ)言身上一樣。

          不管JavaScript的發(fā)展歷程如何,有一件事情很明確,JavaScript不會(huì)再降級(jí)為簡(jiǎn)單的,平凡的翻轉(zhuǎn)效果以及表單檢查任務(wù),它是一門強(qiáng)大的并且廣泛使用的語(yǔ)言,因此,嚴(yán)格地研究JavaScript的語(yǔ)法,就像其他編程語(yǔ)言一樣。


          主站蜘蛛池模板: 精品无码人妻一区二区三区| 不卡无码人妻一区三区音频 | 精品一区二区在线观看| 一区国产传媒国产精品| 久久久久人妻精品一区二区三区| 日韩免费无码一区二区视频| 亚洲av无码一区二区乱子伦as| 国产一区二区三区美女| 国产乱码精品一区二区三区四川人 | 免费播放一区二区三区| 91精品一区国产高清在线| 天天爽夜夜爽人人爽一区二区 | 无码一区二区三区亚洲人妻| 一区二区无码免费视频网站| 亚洲日本乱码一区二区在线二产线| 一区二区三区午夜| 精品视频在线观看一区二区| | 久久亚洲国产精品一区二区| www一区二区www免费| 国产一区二区三区在线观看免费| 亚洲欧美日韩一区二区三区| 97久久精品无码一区二区天美| 精品日韩亚洲AV无码一区二区三区| 久久久精品一区二区三区| 亚洲国产综合精品中文第一区| 99国产精品一区二区| 国产一区二区精品| 末成年女AV片一区二区| 99久久精品午夜一区二区| 精产国品一区二区三产区| 色婷婷亚洲一区二区三区| 免费视频精品一区二区| 国产午夜精品一区二区三区小说| 国产一区二区高清在线播放| 性色AV一区二区三区| 无码国产精品一区二区免费| 相泽南亚洲一区二区在线播放| 一区二区在线免费视频| 嫩B人妻精品一区二区三区| 在线精品亚洲一区二区|