前端是個最近幾年火起來的工種,並且持續火熱中,有個詞叫水漲船高,來的人多了,競爭多了,標準也就提升了。如今對前端工程師的要求跟當年前已經不能同日而語了。javascript
大前端,包括 Android、iOS、web 前端、小程序開發等。html
固然了,所謂的趨勢,不是一天兩天就到來的,它是將來的一個技術方向,咱們之因此關注趨勢,是要關注變化,技術的發展與普及不是一日之功,必定是慢慢過渡的,可是你可以比其餘人提早看到方向,真正的市場到來的時候,你就能夠提早作好準備,提早發掘機會。前端
首先,咱們從基礎來看,在對2019前端開發如何進階,提高本身,再作更深一層講解。java
1 基礎技術node
前端的三大基礎毫無疑問就是HTML、CSS和JS。我稱之爲前端的骨、肉和魂。jquery
先說「骨」——HTML。HTML,翻譯過來就是超文本標記語言,而不是江湖上的HOW TO ML。方向不能搞錯了,咱們整的東西但是老小咸宜的。HTML學習最重要的標籤的學習,div、h1-h六、p、ul-li、strong、圖片、字體等,什麼內容用什麼框.程序員
再說「肉」——CSS。CSS定義了HTML標籤的顯示外觀,氣質。主要掌握浮動,寬高設置、顯示屬性等web
最後「魂」——Javascript。這是運行在瀏覽器上的腳本,可是如今javascript已經遠遠不是當年的那個js了,尤爲Ecmascript6標準出來後,nodeJS 橫空出世,JS暴露出一統天下的野心,JS讓網頁變得靈活,其實現的每個明裏暗裏的交互,實際上是爲了觸及您的靈魂,這也是其成爲魂的緣由。chrome
而如今,CSS3和HTML5的發展,又將web推向下一個時代,一個更爲豐富多彩的時代。小程序
2 環境基礎
設備、瀏覽器以及工做原理
必須指出的是,html CSS JS都是運行在瀏覽器的,是由瀏覽器負責編譯和呈現的。因此必須瞭解瀏覽器的工做原理。可是瀏覽器千千萬萬,也不是每一個都要去解剖,主要的有Chrome, Firefox, IE,Safari,Opera,國內的主瀏瀏覽器基本是基於chrome內核開發,作了一些更爲接地氣的功能,瞭解下就能夠了,主要有QQ瀏覽器,UC,百度瀏覽器,360瀏覽器,搜狗瀏覽器,獵豹瀏覽器等。
3 計算機基礎
計算機網絡,http協議。既然是web必不可少須要知道計算機網絡的知識,這對於網頁的加載和速度優化有很大的幫助,而且,咱們作的不是靜態的頁面,而是動態的,因此必然涉及到與後臺之間的數據的傳輸和存儲,這個是要掌握的。
必須懂:Ajax,必須會的工具:fiddler
4 流行框架
流行的前端UI框架:
Bootstrap、jQuery UI、Amaze UI
流行的前端框架:
Node.Js
jquery mobile
angular.Js
Vue.js
React.js
5 可視化組件
Echarts
tableau(收費)
6 新應用
針對移動化以及物聯網方向發展
7 錦上添花—
UI、 UX 、交互設計、 SEO(包括SEM) 、產品,更主要一個同理心。好的設計和交互才能帶來的好的體驗,贏得用戶。
SEO則在推廣層面,好的SEO讓咱們以最低的成本,借力搜索引擎,得到更加跟多的曝光機會,畢竟這是個酒香也怕巷子深的時代。
最後是產品,站在產品角度,融合(先後端)技術和商業,讓產品產生價值,實現價值。
做爲一個新興的技術領域範圍,大前端在不一樣的語義環境下,有着不一樣的解釋和含義,咱們以幾個視角去對大前端並作逐一的分析。
Node.js 與先後端分離
在絕大多數的前端開發者口中,大前端有時與 Node.js 一塊兒講,有時與先後端分離一同講,事實上,大前端概念也正是由廣大前端開發者提出的。
過去幾年,前端技術經歷了爆發式的發展,這種發展最重要的推進者之一就是 Node.js。Node.js 爲前端創建了與系統之間溝通的橋樑,今後前端技術不只能在服務端大放異彩,而且在本地的前端開發工具與工做流上大展身手,前端今後被解放,JavaScript 統治世界的論調一度甚囂塵上。
不過,當人們冷靜以後,發現 Node.js 在服務端並無太多的優點,再加上 Node.js 自己技術發展的一些波折,致使它在服務端的應用並不理想。但儘管如此,廣大的前端開發者仍是取得了一些階段性勝利,其結果就是先後端分離。
在傳統 Web 開發時代,前端頁面模板是由後端生成的,致使在頁面須要頻繁修改的時候,效率極低。先後端分離指的是後端只提供接口,前端對頁面有完整控制,同時經過中間層將先後端隔開,在這裏對數據進行抽取、聚合、分發等操做。這個中間層,一般也是由前端開發工程師負責。
從這種意義上講,大前端的原始定義能夠稱爲前端技術的擴大化,包括 Node.js,同時對 Web 頁面有更強的控制權,開發也將承載更多功能的頁面。
此處劃重點:基於 Node.js 的先後段分離是大前端的重要技術。
從 Facebook 的 Reactive Native,再到 Google 的 Flutter,足以看出,起碼對這些科技巨頭們來講,他們是認定這個方向,而且在投入的,只是當下技術還不夠成熟,因此這類前端跨平臺開發框架都還不夠普及,可是大家得相信,這些巨頭的判斷與實力。
再說到國內各類平臺的小程序,微信小程序、支付寶小程序等等,其實都是屬於真正意義的大前端,因此前端開發人員,之後的要求會愈來愈全面,你別以爲不信,等着將來的發展就知道了,之後極可能一個前端開發必須是全棧前端。
因此,每個大前端開發,最好都懂點前端開發知識,而基本的 web 前端開發基礎就顯得很重要了。
我常遇到一些工做多年的前端工程師,在看到一些我認爲很基礎的用法時,發出驚呼:「怎麼還能夠這樣」。
由於不少同窗學前端的方式是「土法學前端」,他們對於知識的理解基本都停留在點上,歷來沒有對前端的知識體系和底層原理造成真正地理解。
加上前端標準的快速更新,前端工程師的學習壓力變得愈來愈大了。就拿 JavaScript 標準來講,ES6 中引入的新特性超過了過去十年的總和,新特性帶來的實踐就更多了,僅僅是一個 Proxy 特性的引入,就支持了 VueJS 從 2.0 到 3.0 的內核原理徹底升級。
許多前端程序員都有感觸:學習速度跟不上技術發展速度,而手忙腳亂、力不從心。
這個現象,在一些小公司的前端工程師身上尤其明顯,一些有技術追求的工程師,技術敏感度和主觀能動性都不錯,工做了五六年以後,逐步走上技術管理的崗位。但因他們所在公司的業務並不複雜,缺乏框架知識積累,我的技術仍處於比較初級的階段。作了管理,技術沒跟上,還錯過了最佳的學習時間,境遇可想而知。
工做壓力大,技術更迭快,讓不少前端開發者高呼「學不動了」。其實不是你學不動了,而是你的知識體系底層構建出現了問題。
目前在國內,很多一線互聯網公司好比美團點評、餓了麼、網易杭研都有叫大前端的團隊或者在對外時使用該稱謂,不過,因爲以前大前端並無明確的定義,這些團隊的人員構成並不相同,它們都是各個公司在本身對大前端的理解,以及對公司業務的支持需求下設立的。具體狀況以下(可能有誤差):
美團點評大前端團隊:包括 FE、iOS、Android 開發,以及一些工程化工做。餓了麼大前端團隊:以 FE 爲主,包括 Node.js,以及 Weex 等。
網易杭研大前端團隊:包含 Web 前端、PC 客戶端和移動端。
從這些一線互聯網公司團隊組建方式的演進,咱們不難發現,大前端已是將來發展的潮流。
大前端技術開發者的晉級之路怎麼走?
做爲一位在大前端時代的前端技術開發者,咱們應該作怎樣的準備來及時跟上技術發展的浪潮?綜上所述,咱們不可貴出如下結論:
基於 Node.js 的先後段分離設計模式是大前端架構演變的必由之路
基於 React Native 的新一代移動 App 開發技術憑藉其優點已然有超越原生的趨勢
新型大前端團隊的組建已成現代互聯網公司技術團隊的標配
若是你是一位工做1年左右的前端開發者,你須要提高本身,給你一些建議:
1.深刻理解先後端分離理論與實踐:
2.Node.js技術進階與實戰
3.深度掌握 React Native 技術
若是你是一個小白,想從0開始學習前端,你能夠根據如下學習路線來學習web前端開發,最後祝全部程序員都可以走上人生巔峯,讓代碼將夢想照進現實