成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

 本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

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

[[353550]]

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

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

 

是什么讓JavaScript如此受歡迎?

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

 

打工人<span><span><span><i style=最愛技能:JavaScript的未來會走向何方?" src="https://p6-tt.byteimg.com/origin/pgc-image/6519126b4e644dda887649265c69a135?from=pc" width="1106" height="486">

 

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

 

打工人<span><span><span><i style=最愛技能:JavaScript的未來會走向何方?" src="https://p1-tt.byteimg.com/origin/pgc-image/ab46cf1418634b39b8b944cb87c13127?from=pc" width="1106" height="458">

 

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

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

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

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

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

  • 適當的發展方式。

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

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

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

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

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

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

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

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

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

 

近期變化

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

作為目標語言的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框架,可以編寫這樣的代碼:

 

 

 

  1. <script> 
  2.          let count =0; 
  3.             functionhandleClick() { 
  4.              count +=1; 
  5.          } 
  6. </script> 
  7.              <buttonon:click={handleClick}> 
  8.          Clicked {count} {count ===1?'time':'times'
  9.     </button> 

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

責任編輯:華軒 來源: 讀芯術
相關推薦

2021-02-25 15:47:08

IT

2018-03-05 16:07:38

智能攝像機

2020-11-03 21:11:39

IT

2015-11-12 11:01:11

數據中心數據中心發展

2019-01-07 05:01:37

2010-02-07 11:25:20

2013-07-12 12:37:53

云存儲云計算

2021-12-02 09:38:53

數字貨幣貨幣美元

2015-06-29 11:11:33

谷歌眼鏡未來可穿戴

2020-12-26 16:59:10

鯤鵬

2022-03-30 06:08:54

漏洞管理漏洞網絡攻擊

2018-12-06 09:55:38

區塊鏈數字貨幣互聯網

2013-07-29 17:28:22

移動應用市場亂象移動開發

2022-04-15 19:48:49

上海疫情居家辦公

2020-02-04 10:31:30

互聯網數據技術

2023-06-05 13:21:49

新華三

2023-07-18 10:13:39

2012-03-05 09:13:37

NFS服務器網絡文件系統

2022-04-18 16:27:54

語音助手智能助理機器學習

2023-03-07 11:18:22

語音助手人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美激情视频 | 欧美精品国产精品 | 久久伊人精品 | 一区二区三区四区在线 | 日韩不卡三区 | 国产精品一区二区三区久久久 | 国产精品久久久 | 久久久精品视频一区二区三区 | 中文字幕av亚洲精品一部二部 | www.亚洲一区 | 欧美日韩亚洲系列 | 在线天堂免费中文字幕视频 | 一级黄色录像毛片 | 伊人影院99 | 亚洲精品久久久久久一区二区 | 老司机久久 | 午夜在线视频 | 91视频大全 | 特黄小视频 | 在线看成人av| 伊人色综合久久久天天蜜桃 | 国产91av视频在线观看 | 婷婷色国产偷v国产偷v小说 | 黄色一级大片在线免费看产 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 一区二区三区韩国 | 免费一区二区三区 | 在线免费亚洲视频 | 爱爱小视频 | 韩国精品一区 | 午夜在线 | 久久午夜精品 | 中文字幕韩在线第一页 | 日韩有码一区 | 久久久久久国产 | 国产精品久久久久久久免费大片 | 五月婷婷激情网 | 在线视频一区二区三区 | 国产区在线观看 | 国产欧美日韩综合精品一 | 国产精品九九九 |