<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          Angular、Vue、React 和前端的未來

          時間:?2017-11-08閱讀:?1843標簽:?框架作者:?于江水
          最近社區針對框架的爭論,從發文互懟再到粉絲站隊再到大漠窮秋準備離職,令人唏噓不已。不知從何而起,前端圈已經逐步變成了前端娛樂圈。越來越多的人開始站隊 Angular、Vue、React,僅僅圍繞這些庫或者框架進行前端技術討論,這實在不是什么好的現象。其實我想基于我個人的經驗聊下前端的演進和未來,希望可以貢獻微薄的力量,消除一些我個人認為的前端社區不太好的風氣。

          注意:以下只是我個人對于前端和業務的理解和感悟,不代表任何其他人和我所在公司、團隊的觀點,意見不同歡迎一起討論。


          以史為鑒,想要知道前端的未來,必須知道前端的過去,抽象前端發展的規律。

          PC 端的興起

          2006 年左右國內互聯網公司開始有了前端工程師的概念,原因很簡單,是因為上網訪問網頁的人數增多,大型互聯網公司為了提升用戶體驗專門剝離了這樣一個崗位來解決相關問題。這是第一批專業前端工程師的起源。

          在這幾年中的發展,進行了很多輪的技術方案、框架、瀏覽器的演進。比如 jQuery 兼容性庫,再到 Require.js 異步加載,再到現在 React、Vue、Angular 等附帶編程思想的前端庫以及前后端分離、前端構建器、樣式預處理器等。這些演進都是隨著 PC 端的用戶量的增多和業務復雜度的提升,為了用戶體驗和開發者體驗而進化的。

          移動端的興起

          2009 年左右,智能手機的興起導致了移動端開發的熱潮。人人擁有智能手機,這種特殊的端的特性,也產生了新的業務形態。因此無線前端相關需求開始爆發,無線前端開發、iOS/Android 工程師等需求量非常大。

          這幾年中的發展,先從最初把 PC 端頁面放在手機上渲染,再到出來響應式設計的概念,再到專門做無線端頁面,再到獨立客戶端和 Weex、React Native 這些跨終端的方案。也是出現了非常多的技術演進,這些演進不難看出也是因為用戶量的增多和業務復雜度的提升,為了用戶體驗和開發者體驗而進行優化的。

          PC 端的衰落

          2014 年左右,其實 PC 端頹廢之勢早已顯現,但在雙十一下被放大。因此阿里系前端在這個時間點附近就開始弱化 PC 端前端的投入。 以前 PC 端業務,在無線端流量更大的情況下直接被下掉,核心鏈路的 PC 端業務能用就可以了,不再做效果、功能迭代優化。甚至很多業務直接不做 PC 端只做無線端。業務指標也從 PC 的 PV、UV 變成了客戶端的 DAU 等指標。

          在這個時間,只做 PC 端的前端,毫無無線端經驗的前端,將會慢慢喪失競爭力。PC 兼容庫 jQuery 之流也漸漸被替換廢棄,因為 PC 的業務很少花費精力做兼容性測試,甚至目前我們團隊的業務從來都只測試最新版 Chrome。可以看到,隨著端和業務形態的變化,很多前端演進的產物會逐步被替換廢掉。

          移動端的衰落

          移動端目前還沒有衰落,但一個端只要興起,就會有衰落的時候。總會有新的、更好的、更高效的端來替代老的端。但這個時機是難以預測的。

          前端的未來

          回顧前端的歷史,前端總是伴隨的端的變化而變化:

          端的出現 -> 業務場景的落地 -> 需要端的開發者 -> 端開發者學習、演進 -> 端的開發效率提升 -> 新的端出現 -> 端的沒落 -> 端開發者轉領域或者被淘汰

          這也就是為什么前端需要學習這么多東西,有這么龐大的體系的原因。每一個端都有它自己的特性。比如未來可能會火的 VR、AR 端,它們的特性就不同于二維平面的移動端,掌握 VR、AR 端的開發就需要新學習很多三維圖形圖像以及圖像識別領域的東西。

          因此如果你想要知道前端的未來,你需要預測端的發展。但端的發展是很難預測的,回到 2006 年,有誰會想到會有智能手機,并開創了移動端這個端?

          而現在火熱的 VR、AR 端,目前看下來并不具備普適性。你需要在特定地點或者佩戴比較大的設備才可以用,你可以帶著它給人做手術第一視角給學生做演示,但你上廁所蹲坑更愿意掏出手機看新聞而不是帶著 VR 眼鏡看。現有的技術很難將其很自然的融入到我們的生活中。

          沒有普適性和極大用戶量的端,不會有太大的開發需求量,主要是特定領域的端開發者。如果這個端死掉了,端的開發者將一無所有。但下一個干掉移動端的端到底是什么?我們可能很難預料,只能順應時代的發展快速學習頂上去。但人的精力有限,跟站在巨人肩膀上的每年出來活力四射的校招生,你又能競爭幾年?

          那么現在前端還可以做什么?

          除了移動端領域,既然無法預料到未來的端,那我們在當下和一段未來可以做什么?

          其實在上面這些前端的歷史發展中,其實暗藏了一條被忽略的前端的線。我們再來回顧一下前端技術的迭代規律:

          端的技術演進的原因,本質是因為業務的復雜度提升。比如一個資訊類業務,最初就展示一個信息列表和信息詳情頁面,那么簡單的 HTML 就可以完成。之后他們對列表和詳情頁增加了很多元素,比如有的詳情頁面增加了投票功能、有的詳情頁展示問答和評論功能等。業務邏輯的復雜就導致這個咨詢詳情頁需要 前后端分離、平臺化機制、前端組件化、異步加載模塊渲染 等技術演進。然而這只是消費者端的前端,運營者端的前端卻被忽略掉了。某類詳情頁顯示投票、某類詳情頁顯示問答和評論,都是業務規則,是需要運營者在運營后臺進行操作和配置;前端組件化是需要有組件化平臺來管理并推送相關組件等。

          暗藏的這條被忽略的前端的線,其實就是中后臺前端。簡單的說,就是整個業務鏈路中偏向于運營端后臺鏈路的前端。

          隨著前臺業務的復雜度提升,運營后臺的復雜度成倍提升。簡單的前端交互已經難以滿足運營的需求和效率。以前配置運營規則,只需要提交個表單即可,而現在則需要操作一個更復雜的表單,表單上面各種數據接口異步請求、聯動變化。運營平臺的建設和效率,在快速變化的互聯網環境,在某些情況下是關乎于公司業務發展的,可以預見的是這將成為前端需求的爆發點。

          相比面向消費者端的前端,中后臺的前端更加穩定,通常只需要面向 PC 端即可,但是需要基于復雜的業務場景進行抽象產出通用技術方案和產品,面臨的挑戰并不會很小。

          阿里系前端在做什么?

          阿里的業務體系很龐大,很多業務十分深入,因此阿里系前端也會提前針對業務發展的預期,做一些技術儲備。包括早期的 Node 前后端分離、前端工程化體系、Weex(weapp 等)在國內都是領跑的,而且有足夠的業務場景進行落地。所以通常可以作為前端領域的風向標。

          現在這個時間節點,整個阿里集團各個 BU 都有團隊在做中后臺產品。就我所知就有四五套組件體系、五六個可視化搭建體系。目前組件體系領跑的有 @玉伯[1] 下面的開源產品 ant-design 以及內部沒開源的跨 BU 聯合協作的后起之秀 Fusion。

          而在淘寶終端技術團隊,我們的暫未開源的 ICE 中后臺技術產品也是集團范圍內強有力的中后臺產品,經過我們一年的打拼已經基本站穩淘寶中后臺業務,開始逐步輻射到菜鳥、盒馬、搜索等 BU 的中后臺業務。我們團隊基于 Fusion 中后臺體系,針對業務封裝了大量技術解決方案,并布局可視化拖拽系統和前端人工智能領域,處于領先位置。同時我們有非常大的中后臺業務場景 淘寶商家后臺 和 淘寶達人平臺,這些都是面向百萬級用戶對外的中后臺業務。

          這些都可以說明中后臺前端領域可能是未來會爆發的一個領域,這個領域會立足業務、助力業務,快速產出(比如拖拽創建后臺頁面、特定領域解決方案)運營平臺頁面或者內部產品以響應復雜的業務邏輯變化。

          Angular、Vue、React 框架之爭

          上面內容全程沒有提 Angular、Vue、React,因為這些庫或者框架都是基于現有端的業務體系,基于用戶體驗和開發者體驗演進出來技術方案,并沒有什么優劣之分,各有各的長處。而在整個前端演進過程中,只是一塊很小的內容。

          Angular 約束多,擅長復雜中后臺場景和多人協作。Vue 靈活,適用于簡單業務快速迭代(當然也有 Vue 做中后臺的)。React 組件化設計的好,可以實現比較好的組件生態進行復用。對于這些框架,你只需要基于現有的業務體系和開發者經驗,做好最佳的技術方案選型即可。在某些場景下甚至 jQuery 反而是更好的技術選型。

          而隨著端的變化,一輪一輪的框架和技術方案會持續迭代,當新的端或者業務領域出現之后,更適合的庫或者框架將會出現。那么 Angular、Vue、React 很容易的就會像現在我們對待 jQuery 一樣,被我們更新換代掉。畢竟一個公司賺錢是因為業務賺錢,而不會因為你用了 Vue 或者 Angular 這些技術框架而賺錢。哪個庫或者框架適合你的業務形態,可以給你帶來穩定的系統和好的用戶體驗,讓你有高效的開發效率,當然就選哪個了。

          前端新手很容易會把框架當成前端的全部,比如我前幾年剛學會 jQuery ,可以用 jQuery 寫出任何特效的前端頁面,當時的我認為 jQuery 就是前端的全部,用熟了就可以一招走天下。但工作時間長了你才會發現 jQuery 只是滿足了當時的業務需求,技術框架是隨時會變的,不變的是特定業務的解決思想和方案。這個我認為才是非框架研發的前端需要探討研究的更有價值的內容,比如針對無線頁面跨頁面跳轉的狀態本地存儲方案、多頁面無刷新的單頁面路由方案等等。

          寫在最后

          再次重申,以上只是我個人的觀點。希望可以幫助大家看到更大的前端演進的全貌,避免在一個小節點死懟。

          轉載自:https://zhuanlan.zhihu.com/p/28357490 

          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/68

          常用的十大 NodeJS 框架

          Node.js 是基于 Chrome V8 javascript 引擎構建的開源、跨平臺運行時環境。事件驅動的非阻塞I/O 模型使,NodeJS 能開發極其輕便且高效的 Web 應用程序。客戶端 和 服務端 腳本中使用相同的語言

          React 還是 Vue:選哪個?

          毫無疑問,React 和 Vue 的目標市場非常相似:兩者都是基于組件的輕量級庫,都是用來構建僅關注視圖層的用戶界面。兩者都可以用在簡單的項目中,也可以使用頂尖的工具鏈擴展到復雜的應用程序上。于是乎,許多 Web 開發人員都在猶豫到底該用哪個框架。它們之間有明顯的差距嗎?

          vue和angular如何選擇?

          如今,已有許多開發人員開始使用Vue.js來取代Angular和React.js。那么對于Angular和Vue.js,開發者該如何選擇呢?下面本篇文章就來給大家介紹一下,希望對大家有所幫助。vue是一個漸進式的框架,是一個輕量級的框架,也不算是一個框架

          最受程序員歡迎的20 個CSS框架

          本文為大家搜羅了 20 款截至目前最受程序員歡迎的前端CSS框架,其中有的霸榜已久,也有不少后起之秀,有的是單純的 CSS 框架,也有的結合了 JavaScript 以提供更豐富的功能

          值得探索的 8 個機器學習 JavaScript 框架

          Deeplearn.js是Google發布的一個開源的機器學習JavaScript庫,可用于不同的目的,例如在瀏覽器中訓練神經網絡,理解ML模型,用于教育目的等。你可以在推理模式中運行預先訓練的模型

          前端常用框架優缺點總結

          JQuery是一個優秀的javascript框架 ,JQuery宗旨是Write Less Do More ,JQuery是輕量級的js庫;Zepto.js針對移動端瀏覽器;Bootstrap用于開發響應式布局、移動設備優先的web項目

          javascript有哪些常用框架?

          JavaScript在2017年被IBM評為最值得學習的編程語言之一,自然而然它的流行度快速上升,并一直持續。這也促使了一個活躍的生態系統的生成以及與之相關的技術和框架的發展。

          在Vue框架下使用Fullcalendar

          Fullcalendar是一個非常受歡迎的日歷日程處理的js組件,它功能強大,文檔齊全,可定制化高,可與你的項目無縫對接。本站之前有很多文章介紹了Fullcalendar(v3)的使用。今天我們來看看如何在Vue框架下使用Fullcalendar。

          前端哪些前端框架有前景?

          前端什么技術越來越重要?哪些前端框架有前景?近年來,Web前端市場前景火爆吸引了很多人加入其中,互聯網更迭迅速,未來前端有哪些技術會越來越重要呢?下面就給大家分享幾個比較有前景的前端框架。

          Ember.js和Vue.js對比,哪個框架更優秀?

          JavaScript最初是為Web應用程序創建的。但是隨著前端技術的發展,大多數開發人員更喜歡使用基于JavaScript的框架。它簡化了你的代碼以及使你能完成更多全棧工作,您幾乎可以在任何框架中使用JavaScript。

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网