主頁 > 企業開發 > 我對前端技術更新的看法以及未來發展趨勢預測

我對前端技術更新的看法以及未來發展趨勢預測

2020-09-15 20:32:48 企業開發

前端開發如何看待“別更新了,學不動了”?Deno、TypeScript 等新輪子層出不窮,未來前端重點方向在哪?前端開發在大前端浪潮下如何持續學習、成長?

SpriteJS 3.0 的特性和規劃

SpriteJS 是由 360 奇舞團開源的跨平臺高性能圖形系統,它能夠支持 web、node、桌面應用和小程式的圖形繪制和實作各種影片效果,不久前剛發布了 3.0 版本,與 SpriteJS 2.0 相比,SpriteJS 3.0 是真正優先使用 WebGL2 和 WebGL 進行渲染的跨平臺圖形系統,3.0 版本針對可視化的 2D 渲染做了專門的優化,能夠自動合并大量的元素進行渲染,從而大大提升渲染效率,與 2.0 相比,3.0 是更加純粹的渲染引擎,榷訓了 2.0 提供的文字排版、Flex 布局等功能,專注于提升圖形渲染的性能,

SpriteJS 3.0 同樣保持了對 DOM API 極高的相似度,因此對 d3.js 這樣資料驅動檔案的可視化工具非常友好,而在圖形渲染方面,由于 3.0 使用 GPU 渲染并針對可視化做了大量優化,使得它的渲染性能要大大超過了 2.0,在極端情況下達到十倍甚至百倍的提升,在渲染大量元素的時候,3.0 基本上可以在普通的 PC 電腦上處理畫布上數以百萬計的元素節點,輕松實作酷炫的粒子影片視覺效果,

此外,SpriteJS 3.0 在現代瀏覽器中支持 Offscreen Canvas 和 WebWorker,能夠在 Worker 執行緒中渲染,不會阻塞主執行緒而影響用戶互動,

SpriteJS 3.0 通過擴展支持真正 3D 渲染,3D 擴展的底層是基于輕量級的 Ogl 框架,使用上簡潔高效,性能優良,整體功能上雖然不如 ThreeJS 這樣的老牌庫,但勝在 API 設計更簡單,尤其是配合 d3.js 使用,非常的方便,所以適合于大多數可視化開發的 3D 渲染場景,

在未來,SpriteJS 會考慮進一步壓榨渲染性能,比如使用 Web Assembly 重寫矩陣運算庫,讓底層運算的性能進一步提升,改良一些渲染的演算法,在記憶體方面盡量直接映射資料并操作 ArrayBuffer,以節約記憶體,在應用方面,考慮實作 Vue 3 的 runtime,直接支持 Vue 3 的應用,在 3D 方面,減少與 ThreeJS、BabylonJS 的能力上的差距,讓 3D 渲染能力變得更強大,

如何看待 Deno、TS 和未來的前端重點方向?

最近幾年流行的編程語言很多都號稱是 JavaScript 的替代語言,比如 TypeScript,前端三大框架現在也基本都增加了對 TypeScript 的支持,這背后的本質原因是什么?

我認為,近幾年 JavaScript 的語言標準發展很快,這背后依托的依然是 Web 應用領域的高速發展,JavaScript 是 Web 領域事實上的“原生語言”和技術標準,很多編程語言都是 JS 的衍生語言,在他看來,TypeScript 是一個很優秀的編程語言,其靜態型別對一些規模較大的專案提高代碼的可維護性很有幫助,因此現在寫 TS 的開發者越來越多,三大框架增加對其支持是順其自然的事,

奇舞團很多專案也有采用 TS,內部也鼓勵大家嘗試和使用 TS 技術,SpriteJS 也提供了 TypeScript 的 typings,方便 TS 開發者使用,

近期,Deno 也發布了正式的 1.0 版本,我認為它是一個很好的 Runtime,在 Node.js 之后走了另外一條道路,規避了 Node.js 設計上的不足之處,我認為未來 Deno 不見得會取代 Node,很有可能出現一種兩者并存共同發展的態勢,但是 Deno 的設計本身就是建立在對 Node 的思考和改進之上的,所以學習它,對于理解 Node.js 的精髓也非常有幫助,他表示個人對 Deno 的接觸不多,但是有機會會去深入地學習和使用它,

有趣的是,日前 Deno 官方公布的一份檔案指出,出于對當前環境的實際考慮,Deno 將停止在內部代碼中繼續使用 TypeScript,檔案中提到的問題涉及 TypeScript 編譯時間、結構以及代碼組織方式等,未來,Deno 專案將使用純 JavaScript 撰寫內部代碼,

Deno 將停止使用 TypeScript,并公布五項具體理由

表示自己這兩年的主要精力放在可視化領域,主要是可視化渲染方面,我認為可視化是值得前端工程師重視的一個領域,隨著 Web 技術的發展,視覺特別是 WebGL/GPU 相關的應用場景會越來越豐富,對技術要求也會越來越高,與前端其他大部分技術不同,WebGL 的上手門檻比較高,需要對數學、圖形學有比較扎實的基礎,而圖形學和視覺呈現技術本身的天花板非常高,未來這塊一定會有非常大的發展空間,

AI 以及 VR/AR 也是未來前端的發展方向,對于 VR/AR,主流瀏覽器也開始支持 webXR 技術,應當予以關注,而且無論 AI 還是 XR 這些領域,其實也和 GPU 息息相關,所以它們和可視化技術也是有關聯的,

跨端技術,從 RN 到 Flutter,經過了很多的發展,但是還遠未成熟,而跨端本來就有很多應用場景,未來依然有很大的成長空間,PC 端的 Electron 也不容忽視,作為跨平臺應用開發,它是一個非常好用的工具,

Web Assembly、JS Binding,一些跨界交叉的領域往往有些前沿的東西,同樣值得前端開發者關注,

別更新了,學不動了?

曾經有位前端技術專家表示,“前端十八個月難度翻一番”,此言道出了前端領域更新換代之快背后的前端開發血淚史,也因此,“別更新了,學不動了”這句話成為了不少前端開發玩梗的口頭禪,

我個人屬于技術發展的越多越快越興奮的型別,我喜歡研究技術,嘗試新東西,不怕學習,更沒有學不動這種感覺,

我一直覺得,如果一個行業的新東西層出不窮,說明這個行業一直在高速發展,這本身對于從業者來說是一個非常好的事情,因為這說明這個行業中有更多的機會和成長空間,

對于一些前端開發的擔憂,我也能夠理解,我認為,如果你 不盲目 地去追求所謂的“時髦”技術,不去刻意擔心自己是否落伍,而是去多觀察這個行業,找到技術發展內在的規律和脈絡,那么你就知道該如何前進,不會有任何恐慌,

在任何一個領域或方向,知識體系都可以大體上分為基礎知識和領域知識,而領域知識又可以分為通用領域知識和專用領域知識,二者的變化是不一樣的,基礎知識的變化最慢,其次是通用領域知識,然后是專用領域知識,

用可視化這個方向來舉例,基礎知識是數學和圖形學知識,比如向量、矩陣運算、三角剖分這些知識屬于基礎知識,它們基本上不會隨著時間發生很大變化,JavaScript、WebGL 這種屬于通用領域知識,它們會改變,會慢慢發展,比如從 WebGL1.0 發展到 WebGL2.0,從 ES2019 發展到 ES2020,但不會變化、發展得那么快,而類似 ThreeJS、BabylonJS、SpriteJS、d3.js,這些屬于專用領域知識,很有可能一個大版本升級,就會有很大的變化,

學習這些知識,也是有不同的方法的,一般來說,如果是基礎知識,隨便什么時候都可以學,而且越早學習越好,基礎知識就像是你的內功,學好它們,融會貫通之后,學習其他的知識都是事半功倍的,如果是通用的領域知識,一旦你下決心從事這個領域,也是能夠盡早學習它比較好,不過由于這些知識是領域相關的,如果能一邊學習,一邊通過實踐來打磨,就會掌握得更快,專用領域知識,不一定要很早去學,有一個技巧是,當你用到的時候再去學習它們,如果你沒有用到,你可以知道有這門技術,能做什么就行了,不用花大量時間和精力去鉆研它們,

有些同學覺得技術更新太快,學不過來,通常是被這些專用領域知識給“迷惑”了,比如大家都說前端工程化里的代碼打包很重要,于是今天學習了 webpack,明天又去學習 rollup,而實際上這種專用領域知識,只需要知道它們能做什么,在用到的時候再去詳細學習就好了,

給前端開發的一些真誠建議

我作為前端領域的多年從業者,技術管理者,也為 讀者朋友給出了自己的經驗總結和真誠建議,

首先,確定你自己真正喜歡和熱愛前端開發這門職業,大多數同學成為前端工程師,內心是真正喜歡這個職業的,但是,之前也聽到過有同學,因為覺得在程式員中前端比較“簡單”,或者覺得自己數學或演算法基礎不好,做前端對這些要求不高,再或者就是覺得前端工程師算是份體面的職業,所以選擇它,內心中并沒有真正熱愛這個職業,如果你心中沒有真正熱愛前端,僅僅把它當做一份謀生的作業的話,那么你可能在這個職業道路上走不了多遠,也無法達到很高的高度,所以如果有這種情況,你需要反思一下自己是否真的適合前端開發這個職業,

如果你確實熱愛這份職業,考慮長遠的發展,最好選擇一個好的平臺,一個技術氛圍好的團隊,一份節奏合適的作業,這里的節奏合適指的是忙閑交替,既不會長時間持續特別忙,又不會特別閑,在這樣的節奏下,專案積累再加上自己的學習沉淀,可以比較快速地成長,而技術氛圍好的團隊,可以讓自己的學習沉淀速度更快,

要在專業上達到一定的高度,每個人的情況是不一樣的,要根據自己的情況來規劃,不過有一些共通點,一般來說,自我的成長需要能夠找到并突破前端領域的“邊界”,這個邊界可以是某個有深度的領域,深入到其中的技術前沿,也可以是某個交叉領域比如與服務端的交界,與移動客戶端的交界等等,在這些邊界上做出突破,就可以步入前端專家的行列,

前端專家除了技術能力,也需要打造自己的個人影響力,鍛煉自己的領導力,要讓自己心態開放、眼界開闊,不排斥新技術,擁抱開源,多參與社區,這樣的話,在職業之路上就可以到達一個比較高的高度,

最后,希望各位都能成為優秀的前端專家,讓我們一起將前端行業變得更好,

總結

對了,小編為大家準備了一套2020最新的web前端資料,需要點擊下方鏈接獲取方式

學習前端,你掌握這些,二線也能輕松拿8K以上

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/49995.html

標籤:JavaScript

上一篇:vue解決跨域問題

下一篇:開發人員都應該了解的 7 種 JavaScript 設計模式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more