一入前端深似海,今後紅塵是路人系列第四彈之將來前端路該何去何從

1、爲何學下此篇博客?

今天之因此會發這麼一篇博客,主要是由於最近橫空出世的微信小程序,固然本人也本身玩了一下小程序,發現的確是挺好玩的。但我今天要講的並非關於小程序的,而是想透過這個談談在這個技術不斷髮展的時代,咱們做爲一個IT從業者,一個前端開發該如何抉擇,又該何去何從。前端

2、自我觀點

從事前端這個行業一年了,算是一個剛剛入門的小菜鳥吧,如今的我天天的工做重心就是公司前端組件模塊的開發及管理。如今還依稀記得當初剛剛參加工做的時候,啥都不用考慮,由於那個時候的本身真的啥都不會,雖然如今會的東西也不多,可是最起碼是能夠去作選擇了。而當你能夠對技術,對框架作選擇的時候,你就會去想,該選擇哪種技術當成之後本身發展的重心。而伴隨着新技術不斷的更新換代,對於技術的選擇也開始朦朧起來。對於菜鳥,朦朧的多是選擇哪種技術,對於大神,朦朧的則多是該開發怎樣一種新技術或者新框架才能被這個時代所接受。vue

就拿我本身前端技能get點來講,學習了angularjQueryvuereactnode等等這些目前比較流行的前端框架,感覺仍是JavaScript最重要。但有時候真的沒有必要爲了學習框架而學習框架,JavaScript做爲開發這些前端框架的基礎語言(固然這裏node也依賴C/C++),只有將它的基礎打紮實了,那些框架學習起來會是如魚得水。固然這樣前推的話,咱們也能夠推到計算機原始語言,以及算法,但目前因爲本人如今水平比較通常,我就不在這具體詳談計算機原始語言和算法了,今天主要講的是前端這一塊。node

回到框架,相信確定有不少小夥伴和我是同樣的,對於新技術總會有一種選擇困難症。不少時候,選擇框架是爲了公司項目開發的需求,可是當公司開發的項目須要用到一個新技術的時候你再去學習,那個時候就有點晚了,所以咱們要時刻關注着新技術。但關注新技術的同時千萬不要忘了本身的本心,不要忘了本身最初的起點,千萬不能本末倒置。react

前段時間入手了一本MacPro,固然這只是爲了更好的辦公,更好的學習前端,或者說是爲了拓展本身的技能範圍。一段段黑客帝國裏面出現的那種代碼,一個個軟件的安裝,一切的一切都是爲了讓我更好的進行開發,進行學習(固然我最想學好的就是node了😝)。web

3、客觀評估前端發展路

OK,稍微有點偏題了,迴歸主題!首先這裏我先帶你們過一遍Web開發模式演變歷史
階段一:簡單明快的早期時代

可稱之爲 Web 1.0 時代,很是適合創業型小項目,不分先後端,常常 3-5 人搞定全部開發。頁面由 JSP、PHP 等工程師在服務端生成,瀏覽器負責展示。基本上是服務端給什麼瀏覽器就展示什麼,展示的控制在 Web Server 層。
階段二:後端爲主的 MVC 時代

代碼可維護性獲得明顯好轉,MVC 是個很是好的協做模式,從架構層面讓開發者懂得什麼代碼應該寫在什麼地方。爲了讓 View 層更簡單幹脆,還能夠選擇 Velocity、Freemaker 等模板,使得模板裏寫不了 Java 代碼。看起來是功能變弱了,但正是這種限制使得先後端分工更清晰。
階段三:Ajax 帶來的 SPA 時代

這種模式下,先後端的分工很是清晰,先後端的關鍵協做點是 Ajax 接口。看起來是如此美妙,但回過頭來看看的話,這與 JSP 時代區別不大。複雜度從服務端的 JSP 裏移到了瀏覽器的 JavaScript,瀏覽器端變得很複雜。
階段四:前端爲主的 MV* 時代

這種開發模式下,優勢也很明顯:
一、先後端職責很清晰。前端工做在瀏覽器端,後端工做在服務端。清晰的分工,可讓開發並行,測試數據的模擬不難,前端能夠本地開發。後端則能夠專一於業務邏輯的處理,輸出 RESTful 等接口。
二、前端開發的複雜度可控。前端代碼很重,但合理的分層,讓前端代碼能各司其職。這一塊蠻有意思的,簡單如模板特性的選擇,就有不少不少講究。並不是越強大越好,限制什麼,留下哪些自由,代碼應該如何組織,全部這一切設計,得花一本的厚度去說明。
三、部署相對獨立,產品體驗能夠快速改進。
階段五:Node 帶來的全棧時代
算法

在這種研發模式下,先後端的職責很清晰。對前端來講,兩個 UI 層各司其職:編程

一、Front-end UI layer 處理瀏覽器層的展示邏輯。經過 CSS 渲染樣式,經過 JavaScript 添加交互功能,HTML 的生成也能夠放在這層,具體看應用場景。
二、Back-end UI layer 處理路由、模板、數據獲取、cookie 等。經過路由,前端終於能夠自主把控 URL Design,這樣不管是單頁面應用仍是多頁面應用,前端均可以自由調控。後端也終於能夠擺脫對展示的強關注,轉而能夠專心於業務邏輯層的開發。
三、經過 Node,Web Server 層也是 JavaScript 代碼,這意味着部分代碼可先後複用,須要 SEO 的場景能夠在服務端同步渲染,因爲異步請求太多致使的性能問題也能夠經過服務端來緩解。前一種模式的不足,經過這種模式幾乎都能完美解決掉。
四、與 JSP 模式相比,全棧模式看起來是一種迴歸,也的確是一種向原始開發模式的迴歸,不過是一種螺旋上升式的迴歸。小程序

總結:上訴的全部web開發模式的演變,都證實了一點事實,那就是web前端愈來愈被外界重視。從給前端帶來第一次質的飛躍的Ajax,再到現在可能給其帶來第二次質變的NODE。種種現象代表,前端這條路仍是值得走下去的。至於怎麼走,咱們仍是應該將基礎打紮實,別去爲了那些新技術,新框架老讓本身如此迷茫。咱們應該抱着一種乾淨純粹的心去學習它,去擁有它,咱們該作的真的只是爲了避免讓本身的人生後悔,讓本身開開心心的過每一天。後端

4、制定本身的前端學習路線

這裏,我將分享一些前端須要get到的一些技能點。微信小程序

1.Web前端基礎語言,Html/Css/JavaScript等。
 JavaScript相關書籍以下:
  1)《JavaScript高級程序設計》
  2)《JavaScript高級程序設計》
  3)《JavaScript DOM編程藝術》
  4)《JavaScript設計模式》
  5)《JavaScript框架設計》

2.Web前端進階新技術
  1)jQuery、zepto
  2)angular(《angular權威指南》)
  3)node(《深刻淺出Node.js》)
  4)vue
  5)react

以上我說起到的書籍都是本人閱讀過的書籍,很不錯,強力推薦一波。相信你們看我分享出來須要掌握的技能點也能夠看出來,我最重視的仍是JavaScript。

好了,本博客到這也該結束了。如若哪裏說的不對頭,還請小夥伴們輕噴,固然也歡迎指出,我是灰常樂意接受的,共同進步共同窗習確定是好事的。最後祝各位小夥伴們前程似錦,天天都開開心心的(*^__^*) !

相關文章
相關標籤/搜索