2017前端技術規劃該包含什麼?

拋磚引玉,希望大家不吝賜教,分享分享自己團隊的2017技術規劃


17年過半,補充一條:帶好團隊節奏。

不想惹麻煩,分享團隊規劃就算了,不過可以聊聊自己的規劃。

去年玩膩了技術上花活,今年計劃腳踏實地的做一些事情,改善某雲控制台前端的代碼質量和交付速度,以及產品交互的流程體驗。

工作相關的三類事

  • 拾掇舊世界的碼農日常
    • 沒啥好展開的:線上bug,歷史代碼潛在缺陷,新需求迭代,優雅的撕什麼的。
    • 哦,還有收集簡歷,什麼的...(歡迎私信簡歷,阿里雲-體驗技術部,歡迎你的到來...=, -
  • 踏實的活在當下
    • 改善項目質量,該重構的重構,該重寫的重寫,不留炸彈給後人,安心上下班,踏實睡懶覺。
    • 改善項目質量,該補單元測試的補單元測試,該補自動化界面測試的補自動化界面測試,核心功能不能有故障。
    • 改善工程效率,還有哪些項目的工具鏈掉鏈子,幹掉。
    • 改善工程效率,還有哪些項目的發布流程冗餘/不足,優化。
    • 改善產品體驗,再多充值幾個業務,作為用戶繼續深度體驗一下,和產品童鞋勾搭一下,把體驗優化掉。
      • 沒錯,我就是某雲產品的氪金用戶....Orz, 錢包好疼
    • 降低維護成本,把項目的依賴全部歸集,然後用容器做好CICD,隔壁兄弟團隊專註容器,這個大腿不抱太可惜。
  • 擁抱不怎麼新時代(yubo基本都命中了,哈哈)
    • HTTP2的利好沒使用上呢,可以佔個便宜。
    • 「重型」toB的控制台,有一堆比較重的渲染計算操作,可以嘗嘗WebAssembly Components的肌肉。
    • 項目分散式構建,去年開源屆就玩剩下了,沒啥好說的。
    • Change Report,每一次變動帶來的功能影響的報告,讓做回歸的時候更有目的性。
    • 更好的開發時的mock。

先寫到這裡,去做活在當下的事情玩了。


所謂今年的規劃,不就是前年制定的拖到去年沒完成的任務么。

---

好吧,上面是同事的一句玩笑話。

技術方向規劃可以粗糙地劃分為三類,質量、效率和創新。質量和效率可以圍繞整個開發鏈路和產品鏈路去精耕新作,不同團隊的情況不一樣。我就不多說了,下面簡單聊下創新這塊。

  1. 3D、AR、VR(互動、圖形學)、人機交互,目前硬體和軟體已經跟上了發展,一旦產品、運營規劃新模式,開始對焦這個領域,那麼前端再去學習就有點晚了,17/18 年,這個方向需要前端走進去看看。
  2. 數據可視化,不論是產品的數據還是生產環境中每個環節、每個系統的數據,都是需要關注的點,數據可視化,包括可視化的組件建設,需要考慮。
  3. IoT、協議生態,互聯網主要鏈接各種有屏幕的端,而往後前端會面臨更多無 UI 場景,其中一塊就是 IoT,其實前端已經開始慢慢入侵這個領域了。有大的市場在,那麼前端還有什麼理由不進去看一看?
  4. 機器學習、大數據、人工智慧,阿里現在已經有了等級大約為 P4 的智能美工,往後指不定也會出現等級為 P4 的前端工程師,這個方向是個大趨勢,前端不在行,但是要考慮如何與其他團隊相互合作,比如演算法團隊。
  5. 微服務,前端的領域分支越來越多,有安全、運維、Node、Native、圖形學等等,一個前端團隊具備的能力越越來越豐富,如何將團隊能力整合起來,微服務可能是個方向。

所謂的創新,我的理解就是不斷地突破自己的邊界。前端的內涵在不斷增加,找到前端的邊界,與之建立鏈接,才有突破。

我們可能走在重新定義前端的路上。


去年的東西繼續,比如什麼ES6、7,React,Vue.js,HTTP/2,哈哈

今年有幾個值得期待的東西:PWA,WebAssembly

這是我的感受哈。


作為最底層的搬磚工,表示要好好學學VSCode 和 Chrome Dev Tools 了,最近這兩貨動作很大。

只有把工具用好了才能提高效率,只有提高效率了才能在招不到人的情況下搬更多的磚,從而實現技術團隊提升工作效率,降低投入產出比的偉大目標!(逃)

另外,好好學習下Vue2,多貢獻點組件啥的,昨天發現尤大居然關注了aliqin/atui ,嗨森。如果想跟我們一起玩vue2的話請找我老闆 @英布


前端方面我會繼續關注工程效率上,尤其是在 React + Redux 架構上作文章。今年團隊會開源這方面的作品,請關注專欄文章,盡情期待。

現在每年造的工具輪子太多了,往純技術方向的規劃不是我的目標。前端面對的情況很特殊,要做普適性的東西比較困難,除了框架組件以外以及非常基本的平台以後都是業務相關的。對於我們來說,有界面和數據兩大因素,不像後端沒有界面,前端做抽象要困難多。

對於我來說,前端技術規劃都是圍繞產品規劃來的,基礎架構與產品的形態相關,要做什麼樣的工具。沒有什麼比做好產品更重要的,因此會引入更健壯的設計與演進。


一些更底層更古老的技術體系。

縱觀前端新技術、框架,除了前端領域自己獨特的(HTTP協議等)工程和代碼相關的內容(React、Vue、Redux、Babel 等)基本都是基於其他領域成熟技術,結合前端特性整合出來的。你可以跟風快速學習熟練使用這些技術,也可以探索更古老的技術,等這批人老了折騰不動了,開發下一代框架。


問的好!2017年的前端規劃將和2016年的規劃一樣,既然是規劃,就不該有原則上的變化,依然是滿足業務需求,生產高質量可維護的代碼。

如果要說具體一點,那既然2016年具體實施的React策略沒有大問題,那就繼續加強這方面投入。

是不是覺得有點枯燥?規劃這玩意,就應該很枯燥,而且不要有大的方向變化。

個人的規劃有一點點變化,我會花些時間來維護這個知乎專欄 進擊的React - 知乎專欄


IT浪人 - 組織大家看我的視頻 :) 能提升你團隊技術品味一個小台階。


瀉藥

規劃?不知道啊

對我自己來說能做好當下業務上的事兒就不錯了。

新不新的玩意能用到時候再說吧

============= 吐槽分割線 ==============

今年不是滿世界都討論怎麼規劃買房上車問題么?

前端規劃是什麼?

規了能上車么?


規劃就是......

計劃永遠趕不上變化

當你以為你前端學的差不多的時候,說明你已經處於停滯不前的狀態了

要知道前端是個需要持續奔跑的行業

底層技術永遠不過時,操作系統、演算法、計算機網路、數據結構......


kamranahmedse/developer-roadmap

bmorelli25/Become-A-Full-Stack-Web-Developer


結合自己的業務來做計劃吧。比如做to B的,或者偏內部的系統,可以考慮antd來做一些事情。偏無線的,可以考慮weex react的三端融合。不管做哪塊業務,前端的工程化始終是一個值得關注和研究的領域,另外一個值得所以人始終關注的就是單元測試和自動化測試。語言層面,我越來越看好type script,隨著前端業務越來越複雜,ts的優勢也更加明顯。


就前端技術而言 無非wasm PWA vue 等

脫離純技術 講點業務上的 同樣是某雲控制台 新的一年自己會更著重於基礎工具的研發 工具鏈的補齊 前後的交付效率

不賣關子 騰訊雲收簡歷 歡迎砸給我吧

@顏海鏡 借個地哈


底層搬磚工表示,今年要學這些:

Linux Shell Scripting

前端打包構建原理與實踐

計算機操作系統

JavaScript 函數式編程等高級主題

每部分都要讀點書、寫點代碼、寫篇博客出來。


難道不是「做出好產品」「升職加薪」嗎?

盡特么推翻以前的框架和工具有價值嗎?

給用戶帶來價值,給自己帶來價值,才是重點。

https://news.ycombinator.com/

看看 Hacker News 的源碼還是 table 布局,但是影響它在程序員界的位置嗎?

酷 殼 - CoolShell

酷殼用的還是 WordPress,比一幫天天換靜態博客生成器的程序員強多了。

不要被「新技術」迷惑,到頭來,一場空。


踏踏實實把TypeScript學好, 然後用起來, 因為它能治好前端的核心(JavaScript)先天發育不良的毛病, 在這個基礎上再去學習應用各類前端框架才能體現出非凡的意義。 否則, 框架功能越強大,學習和使用的難度上升趨勢就會越來越陡峭, 在實際項目中應用會讓人無法得心應手,也就味意著做出來的東西穩定差或者BUG多,另外開發效率還低。 這並不是框架的錯, 而是JavaScript的錯, 一個爛地基能造的出好房子么?

所以,對於前端技術的規劃的步驟我認為是

首先把TypeScript玩溜了, 如果英文不行那看這個中文網 https://tslang.cn/, 它帶來的編碼效率和代碼質量上的提升會讓你很感動的, 不要因為它是微軟家的技術就仇視它, 請客觀的正視那些真正能帶來好處的技術。

然後再去學習和使用比較契合自己工作場景的框架, 什麼 react、vue的, 其實如果不涉及界面的, 我覺得jquery也足夠了。 不過話說回來, 這些個框架我覺得壓根不用專門花時間去學, 找份文檔大概看下, 一覽其全貌後, 然後直接開始使用,細節上的東西在應用的時候再各個突破就行了, 框架設計背後的原理和思想一定要搞清楚,這樣以後開發項目才能不被框架所束縛,境界所至草木皆兵。

至於ES6, 比原來的ES5實在要好用的太多, 但是因為瀏覽器的限制和語言本質等因素, 它就算再怎麼進化也趕不上TypeScript的。 我在把TypeScript玩透以後, 只花了2小時翻閱一下阮一峰的那本ES6的書籍,一切關於ES6六的特性就都瞭然於胸了, 因為ES6本身就是TypeScript的子集罷了。

我就感覺現在前端各種框架泛濫的著實厲害,而且害人不淺,現在很多前端從業者都會去學一大堆這樣那樣的框架, 但是對於一些真正能對自己和別人帶來好處的雖然不那麼華麗的技術卻是視而不見的。 假如這種現狀能反轉過來, 那說不定整個前端技術行業的發展會健康許多。


做技術規劃,必須考量的點包括:質量、效率、性能,建議覆蓋的面包括:前端框架、後端框架、APP 開發框架、預編譯、打包、部署、用戶體驗(離線支持)、開發體驗(IDE)等方面,要結合技術演化、業務現狀、技術現狀、團隊技能水平來做,技術和業務現狀只有題主自己最清楚了,而技術演化方面通過 2016 年崛起的 JS 項目 的分析,對 2017 年的技術脈絡大致如下,供參考:

2016 年快速崛起,並且目測 2017 年會繼續保持增長的項目或創意:

  • Vue.JS:還在快速增長階段;
  • Electron:桌面 APP 開發;
  • Create React App:開發效率類,腳手架;
  • React Native:移動 APP 開發,近期 Facebook 開源了 Create React Native App;
  • Gatsby:靜態網站生成,不少前端項目可以考慮這個;
  • Yarn:快速、可靠並且安全的依賴管理工具,可以直接替代 npm,建議閱讀文章 yarn vs npm;
  • PWA(Progressive Web Applications)漸進式 WEB 應用概念的崛起;
  • Node.js 部署分發效率,已有一站式部署和運行解決方案,比如 Now,國內目前貌似缺位;
  • Node.js 版本升級跟進:最新版本對 ES6 語法的支持已經非常好了;
  • 最後是 GraphQL:介面和文檔不再是痛點;

2016 年崛起的 JS 項目 - 知乎專欄


如果你想達到一定高度的話,建議選Angular,入門門檻稍高,不過天花板更高,很多設計思想是無關框架的,用用才能體會出來


前端變化太快了,除了基礎內容,其他的可以看看招聘的需求進行學習


大概回答一下

1 react 或 vue 全家桶的實踐

2 redux rxjs cyclejs 這些數據管理要懂

3 es6 es7

4 https http2

5 node webpack2 koa2

6 函數式編程

7 學點客戶端開發 要不 rn weex 都玩不轉


推薦閱讀:

mongodb與mysql的應用場景?
react許可證的問題是否意味著要轉技術棧了?
vue-router無法實現按需載入動態組件,有什麼替代方案可以解決這一需求呢?
在什麼場景下,選擇 AngularJS 比其他前端框架更好?
關於redux在項目運用中的一些問題?

TAG:前端開發 | 前端框架 |