整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          打工人最愛技能:JavaScript的未來會走向何方?

          文共5432字,預計學習時長14分鐘


          圖源:unsplash


          作為一個見證了過去17年編程語言發展的軟件開發者,筆者試圖在本文中對JavaScript進行一些預測。


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


          但為何會如此呢?這對JavaScript的未來又意味著什么?JavaScript的發展是否會順風順水?未來會不會有一個更新更好的語言誕生,從而推翻JavaScript無所不能的地位?本文將探討一下這些可能性。


          是什么讓JavaScript如此受歡迎?


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


          根據 StackOverflow的2020年開發者調查,最受歡迎的編程語言正是Java:


          這些不是隨機數字或有偏見的民意調查,這些數據可以分析出我們的市場,對全球數以百萬計的開發者進行調查,一切都在表明JavaScript是2020年的熱門語言之一,對此你怎么看?


          當然,這個問題可能有很多不同的答案,主要取決于你在挑選編程語言時看重什么,這是我的看法:


          · 背后有一個龐大的社區。


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


          當筆者不得不使用其他語言時,非常懷念的一件事是,人們可以從原社區中獲得大量的支持和幫助。這絕對是一個進步的標志,此舉還有待完善,并有望在未來取得更多的成就。


          · 適當的發展方式。


          撇開框架和庫不談,語言本身也在不斷發展。不過值得慶幸的是,這種改變并不是由一個實體控制的。


          要澄清一下:雖然JavaScript本身(這個術語)是由Oracle所擁有的,但這門語言是要遵循ECMAScript的規范。而這些規范其實是由社區本身間接控制的,并由TC39委員會來監管和組織。


          通過考慮所有不同的建議以發展語言,并不斷運行直到語言足夠成熟。之后,如果想保持兼容的話,就由例行程序來實現這些更新,而且此后瀏覽器之間還存在紛爭。


          作為一個開發者,必須努力保持在兼容性和標準的范圍內,因為你更希望你的代碼能跨瀏覽器兼容。現在情況已經不是這樣了,所有的例行程序都在努力跟上ECMAScript的最新版本。


          · 一個生機勃勃的生態系統。


          這與第一點很像。有更多的前端框架可以嘗試,沒必要去學習所有的框架。每天僅NPM中分享的模塊就數以百萬計。


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


          那么,綜合幾年前的情況以及它的發展歷程,你如何看待JavaScript的未來?

          這絕對是一個很難回答的問題,先看看筆者的想法。


          近期變化


          在過去的幾年里,這門語言正在不斷發展。如果你是JavaScript的新手,也許還沒有注意到,從ECMAScript 第5版到第6版有一個質的飛躍,在未來的版本中應該也會發生許多改動。如果它繼續保持現在的路徑和發展速度的話,筆者認為不久之后它可能會這樣……


          圖源:unsplash


          作為目標語言的JavaScript


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


          是的,沒看錯,確實有人討厭它,或者至少不喜歡它的大塊頭,認為自己可以把它做得更好。于是,就有了CoffeeScript和后來的Dart以及現在的TypeScript這樣的項目。


          這并不是壞事,事實上,這是一個非常好的機會,讓JavaScript不僅可以直接被全世界的開發者廣泛使用,還可以成為很多transpiler創造者的目標語言,試圖給開發者提供其他選擇。


          本質上,這場運動將為JavaScript打開大門,通向一個不同的浩瀚宇宙。自從Node.js進入市場并流行以來,JavaScript不再是 “前端語言”,允許公司簡化他們的技術堆棧去形成一個跨領域的單一語言。


          想一想,如果你也能用Python或Ruby做到這一點,會發生什么?這并不是多么瘋狂的想法,過去已經有項目試圖實現它,我們可能只是需要更多的時間。


          前端開發的問題(筆者認為這是唯一的問題)是,你需要學習JavaScript才能進行工作。這與后端世界完全相反。目前,瀏覽器只允許一種語言為王,那就是JavaScript,如果想要更多的語言,就必須把你的代碼編譯(或者說是移植)成JavaScript。


          當然,還有WebAssembly,如果他們有更多的能力去訪問其他領域,如DOM,它很可能會取代JavaScript。但現在它只能在一個非常狹窄的領域發揮作用:前端的大量計算。這是一個性能工具,而不是一個完全獨立的前端開發環境。


          演變的例子


          JavaScript發展到現在的另一個方式是通過社區開發的框架看到社區的需求。如果你已經使用JavaScript有一段時間了,特別是從ECMAScript 5開始,你可能會記得lodash和underscore等庫。


          對項目來講,這些庫都是必要的,因為它們為語言增加了額外的功能,如map、some、find、reduce、get、set、merge等方法。雖然在最近的更新中,有些功能已經滲透進語言本身,但這些庫依舊有存在的必要性。


          比如ECMAScript 6,增加了很多數組方法,給編程算法帶來了相當大的提升。可選鏈使得 get 方法被淘汰,或者說幾乎被淘汰。傳播操作符也幾乎淘汰了merge 方法,而這個列表還在繼續更新。一個功能越是流行,TC39委員會就越會嘗試將其納入到語言中。


          另一個明顯的例子是如何引入類。JavaScript試圖在一個面向使用者的世界中保持初心,但它失敗了。要么是因為沒有足夠的擁護者,要么是因為沒有正確的文檔化。但是有那么多的開發者試圖強行在上層建立一個OOP模型,于是最終在上層添加了一個薄薄的OOP層。


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


          最后一個新增的框架是Svelte框架,它試圖將反應性的概念帶入語言本身,不像其他框架,比如React,它反而試圖為開發者提供工作方法,將JavaScript還沒有準備好的概念強加給他們。


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


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


          有一個按鈕,點它標簽值就會更新。當然,目前這需要編譯成實際的JavaScript,你估計需要多長時間才能將類似的例子吸收到合適的ECMAScript規范中?


          留言點贊關注

          我們一起分享AI學習與發展的干貨

          如轉載,請后臺留言,遵守轉載規范

          年來,web前端的發展越來越迅速,而HTML5則是讓web前端更上一層樓,對于web前端的開發人員來說,學習HTML5成為了他們進入web前端開發行業的首選,目前互聯網的用戶達到6億,而HTML5的人才缺口也達到了300多萬,這就使得HTML的就業前景非常的廣闊。那么,HTML5語言有什么優勢呢?薪資前景怎么樣?

          HTML5語言優勢

          1、多設備跨平臺

          HTML5是可以跨平臺使用的,當你開發了一款HTML5游戲時,你可以很輕松的把這個游戲移植到其他的平臺使用,所以他的跨度非常大,非常的受開發者的歡迎。

          2、自適應頁面設計

          以往開發者在研發過程中需要針對不同的設備,提供不同的頁面設計,這樣做不僅增加了架構設計的復雜程度,同時成本也會相對的提高,而HTML5的出現解決了這一難題,自適應網頁設計,可以讓同一張網頁自動適應不同的屏幕設備,根據屏幕的大小做出相應的調整。

          3、更容易推廣

          HTML5應用導流更加的方便快捷,不管是搜索引擎,應用市場還是瀏覽器導出都是HTML5的;流量入口,所以html擁有更加強大的優勢,同時,HTML5還有流量大,以及導流效率高等優勢。

          薪資前景

          想要了解HTML5的薪資前景,那么咱們就靠數據說話,從職友集上我們就可以看到HTML5開發的薪資情況,我們先來看一下一線城市的薪資情況

          北京

          上海

          深圳

          通過上面的數據可以看出,現在在IT行業中,HTML5開發的薪資位居前列,現在工作1-2年的HTML5開發工程師工資水平也會相應的提高一大截。這更加說明了現在HTML5的發展前景。

          HTML5各種需求迭代非常頻繁,所以對技術人員的需求不斷的增加,再加上現在IT互聯網行業的盛行,在這樣的大環境下,各類的APP、網站網頁的更新速度也在不斷的加快,這也使得前端開發更加的頻繁,對于HTML5開發人員的需求也在進一步的增加。

          市場的需求,推動了技術的進步,同時也讓更多的技術人員有了高薪就業的機會。所以,前端開發不僅有前景,更加的有“錢景”。

          JavaScript的未來很光明,該語言確實正在打破瀏覽器的壁壘,許多開發人員看到JavaScript的服務器端實現,入node.js,從而可以使用一種語言編寫web應用程序。有趣的是這一看起來是新生的JavaScript應用根本不是新的,Netscape引入的最初的服務器端開發環境成為LiveWire,就是使用服務器端JavaScript,并且使用Microsoft的經典的活動服務器頁面的頁面通常使用JScript編寫。

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

          不管JavaScript的發展歷程如何,有一件事情很明確,JavaScript不會再降級為簡單的,平凡的翻轉效果以及表單檢查任務,它是一門強大的并且廣泛使用的語言,因此,嚴格地研究JavaScript的語法,就像其他編程語言一樣。


          主站蜘蛛池模板: 国产一区二区三区影院| 精品久久国产一区二区三区香蕉| 日韩免费视频一区| 一区二区三区国模大胆| 色狠狠一区二区三区香蕉| 天堂Av无码Av一区二区三区| 国产精品自在拍一区二区不卡| 国产午夜福利精品一区二区三区| 日韩成人无码一区二区三区| 成人免费区一区二区三区| 麻豆视传媒一区二区三区| 日本免费一区二区在线观看| 国产色情一区二区三区在线播放| 海角国精产品一区一区三区糖心 | 精品一区二区三区视频| 亚洲欧美日韩国产精品一区| 亚洲一区二区三区91| 无码国产伦一区二区三区视频| 精品国产一区二区三区在线观看| 精品一区二区三区无码免费直播| 中文字幕精品一区二区| 亚洲福利一区二区| 亚洲一区在线观看视频| 精品国产乱码一区二区三区| 无码av免费一区二区三区试看| 日韩免费视频一区二区| 中文字幕乱码一区二区免费 | 东京热无码av一区二区| 国产激情一区二区三区 | 卡通动漫中文字幕第一区 | 一区二区不卡视频在线观看| 亚洲AV无码一区二区三区久久精品| 无码人妻少妇色欲AV一区二区 | 国产一区二区草草影院| 无码少妇一区二区三区芒果| 在线精品自拍亚洲第一区| 日韩在线一区高清在线| 精品人妻一区二区三区四区| 国产精品小黄鸭一区二区三区| 国产亚洲日韩一区二区三区| 国产精品一区二区四区|