我們?yōu)槭裁葱枰岸?/h2>

剛從杭州參加完SegmentFault大會回來,內(nèi)心有一些感悟不吐不快。

不得不說,SegmentFault舉行的這次開發(fā)者大會是成功的,成功了吸了一批粉,小編的內(nèi)心也是很激動的,除了見到了仰慕已久的高陽Sunny還有各位IT界大牛,另外還聽到了一場場精彩的演講。在這邊我不得不說一次謝謝,感謝SegmentFault舉行的這次開發(fā)者大會,另外還要感謝講師的辛苦演講,為我們帶來了一場場別開生面的技術(shù)盛宴。

首先早上的主會場,分別對前端,后端,移動,運維等方面的技術(shù)做了一些演講。當(dāng)然作為一個前端狗,我最關(guān)注的還是前端方面的技術(shù)知識,這次的前端演講由百姓網(wǎng)的前端工程師賀師俊,賀老師給我們帶來的《JS@2017》。

說到j(luò)s不得不說最近幾年掀起的前端熱,好多后端人員也轉(zhuǎn)來做前端了。除了因為前端入門簡單,還有是因為前端一直能夠跟上時代的潮流,每天都在變化,所以從事前端工作的人員一直都在學(xué)習(xí)中,這樣才不至于落后。

當(dāng)然說到j(luò)s我們不得不說ECMAScript 語法發(fā)展的一個歷史,從1999年出來的ES3開始ES得到一個長足的發(fā)展,人們也越來越重視前端的一個發(fā)展過程,直到2009年ES5的誕生,前端迎來了一次大爆發(fā),更加流暢的頁面和性能,使許多人趨之如騖。越來越多的人學(xué)習(xí)前端也是目前市場的一個需要,前端真正開始得到重視,不會再像以前一樣把前端歸類為設(shè)計。

自從ES5發(fā)布以來,es6就以新語法、新特性的優(yōu)越性吸引著眾多前端開發(fā)者,雖然目前好多瀏覽器還不支持ES6語法。但是,這些都不能阻擋前端開發(fā)者們的熱情,所以babel等編譯工具的出現(xiàn),它能將ES6語法轉(zhuǎn)換成ES5標(biāo)準(zhǔn)代碼,使得瀏覽器能夠支持 。隨著es6的發(fā)布,以后將會每年更新一個版本,雖然es6看起來和es4一樣的復(fù)雜,但是其向下兼容的特性還是被很多人接受,es6除了提供了許多語法糖之外也解決了困擾眾多前端工程師關(guān)于javascript模塊化的問題,據(jù)不完全統(tǒng)計,每天都會有無數(shù)的模塊包誕生,到目前為止,模塊包已經(jīng)達到36萬+,不得不說js的發(fā)展速度是驚人的。

由此很多公司都開始利用一些合適的框架去搭建自己的項目頁面。另外,不得不說講師的語言組織能力非常棒。從中,我學(xué)到了講師的很多學(xué)習(xí)方法,以及項目中的一些小技巧。不得不提上午的演講我最佩服的還是覃建祥老師,他用《云計算時代的DevOps走向》這個話題除了體現(xiàn)了他的超一流語速外,還體現(xiàn)了他敏捷的邏輯思維和語言表達能力著實令我驚訝,他一個人的演講抵得上其他講師演講的總和了,而且時間還控制在一個小時之內(nèi),不得不令人驚嘆,有同學(xué)開玩笑他比周杰倫的rap說的還好,而且吐詞清晰,干嘛不去做歌手,結(jié)果他笑著說唱歌不好聽,挺幽默的一個老師,不得不為他贊一個。

本來一直在為午飯的質(zhì)量擔(dān)憂,直到看見那么豐盛的午餐。不得不說,segmentfault的門票真是良心價。

好了,開始進入正題,下午的分會場才是重頭戲。下午有三個分會場分別是:前端分會場,服務(wù)端分會場,移動端分會場。當(dāng)然還是要數(shù)大前端分會場的人最多,小編也是吃完飯就早早來搶位子了,不然看著后面排著老長隊站著聽講座的也是夠心酸的。

既然提到前端我就不得不說一下現(xiàn)在我們?yōu)槭裁匆獓L試前后端分離。

前后端分離的歷史因素

隨著現(xiàn)在前端技術(shù)的不斷突破發(fā)展,前端越來越得到人們的重視,可能前后端分離早已經(jīng)深入開發(fā)者們的心,但是據(jù)我了解還有很多前后端開發(fā)人員還是分不清哪些是前端該做的哪些是后端該做的,對于分工問題,我想大多數(shù)開發(fā)人員都經(jīng)歷過,因為剛開始沒有前后端之分,所以好多人不明白怎么才叫做前后端分離。如果一個部門的后臺人員既能夠?qū)懞笈_語言又能夠?qū)懬岸耍此且粋€全棧工程師要么就是沒有將項目中的前后端分離,甚至在他們看來,前后端分離就是一片未知的領(lǐng)域。

我曾經(jīng)也親身體驗過,在我剛畢業(yè)呆過的一個部門,在那時候我也是剛?cè)肭岸诉@個行業(yè),在公司里面我只是寫一些html以及css和js,然后后端直接套用前端的html頁面,寫成jsp格式,這樣的情況也是司空見慣的,這樣的方法是在前端還沒有興起時候的一種傳統(tǒng)寫法,我也曾經(jīng)一度以為這些就是前端的工作,直到后來隨著經(jīng)驗的積累,和常常瀏覽各大社會,論壇。才漸漸明白什么是前后端分離。就我當(dāng)時的工作只能叫做前后端分工,并不能叫做前后端分離,所謂的前后端分離是將路由交給前端來掌控,后臺只要寫好api接口,然后關(guān)于所有的頁面呈現(xiàn)還有js邏輯判斷還有數(shù)據(jù)的填寫都是前端的任務(wù),因此,所有關(guān)于頁面和數(shù)據(jù)的呈現(xiàn)展示都是前端的工作。

據(jù)我熟知的目前的大多數(shù)應(yīng)用場景都適用前后端分離,當(dāng)然除了一些電商公司的活動頁面可能需要用到JQ的一些動效,讓頁面看起來更加的炫酷,在我看來JQ就是專門用來寫動效的。當(dāng)然可能有的時候因為公司的不重視,前端開發(fā)者又不去了解,因為前后端分離可能會帶來更多的工作量和學(xué)習(xí)成本。往往這個時候前端人員不能占據(jù)主動常常被后端牽著鼻子走,只能是后端說什么就是什么。

為什么要前后端分離

隨著前端技術(shù)的不斷完善和發(fā)展,前后端分離已經(jīng)成為大勢所趨,我們將項目里面的頁面做成單頁面應(yīng)用,然后通過路由來控制局部刷新。前后端分離不僅僅能夠提升網(wǎng)頁的加載性能,還能夠使得用戶有一個更好的體驗,開發(fā)和維護的成本也大大降低,同時效率還能夠得到提升,何樂而不為呢。

隨著angular,reat,vue三大框架的問世,我們將可以構(gòu)建一個無服務(wù)器端渲染就可以展示的頁面,通過將路由交給前端來控制,可以完全實現(xiàn)前后端分離。下面是一段前端控制路由的代碼:


通過上面的代碼,我們可以看到前后端分離給我們帶來的好處,通過局部更新加載自己所需的腳本樣式,比那些一次性將整個項目的腳本樣式加載完的頁面的性能提高很多。當(dāng)然我們可以嘗試著自己去寫一寫代碼,我始終覺得,只有在實際操作中才能真正體會到前后端分離帶來的便捷和友好。當(dāng)然前后端分離給我們前端開發(fā)人員帶了更多的學(xué)習(xí)成本,前端的工作內(nèi)容再也不是簡單的切切圖寫寫靜態(tài)頁面了。我們還要試著去處理各種交互,以及了解MVC思維,以及各種主流的框架體系。這也是為什么前端越來越得到重視。其實越往后你越會發(fā)現(xiàn),前端越來越接近后端,但是兩者卻又是兩個不同的東西,有著明確的界限。

前后端分離的優(yōu)勢

1、首先,前后端分離不再需要我們?nèi)ピ诤蠖舜a里面嵌套我們前端的代碼,這樣也不會傻傻分不清哪些是前端代碼,哪些是后端代碼,或者萬一報錯,到時候不知道是后臺代碼的問題還是前端的問題,這樣大大降低了開發(fā)的效率。此外前后端沒有分離我們還需要搭建后臺環(huán)境,往往搭建環(huán)境也是很令人頭疼的一個問題。這不得不逼我們?nèi)チ私夂笈_代碼,這樣增加了開發(fā)難度和浪費時間。前后端分離之后,前端和后端代碼完全分離,前端控制路由,后端負(fù)責(zé)接口,大大提升了開發(fā)效率,前端也能專注于自己的代碼。

2、前后端分離,使得前后端分工更加明確,大大的提升了開發(fā)效率,前端控制路由,實現(xiàn)頁面的跳轉(zhuǎn),后臺只要傳數(shù)據(jù)接口就可以了。

3、前后端的分離也使得項目的成本大大降低,我們對代碼的維護以及重構(gòu)有了更加清晰的結(jié)構(gòu)認(rèn)知,改起來也方便。

前后端分離的感悟與收獲

從學(xué)校畢業(yè)之后就進入前端這個行業(yè),算下來也有兩年了,從最初的切切圖寫寫靜態(tài)頁面,到后來的前后端分離,以及三大框架的問世,前端的前景是越來越好,也越來越受各大公司的器重。前后端的分離,使得互聯(lián)網(wǎng)公司真正重視起前端這個行業(yè),這也使得前端在IT行業(yè)占有一席之地。

前后端的分離,也使得我們不再需要求助后端來幫助我們搭建后臺環(huán)境,如果項目新增頁面也不需要后臺給我們添加,頁面的跳轉(zhuǎn)變得更加流暢,頁面的加載速度變得越來越快,局部渲染加載的速度非常快速,頁面的模板也可以重復(fù)使用。前后端分離真正給我們帶來了很大的方便。

隨著前端的快速發(fā)展,我們需要始終保持一顆學(xué)習(xí)的心態(tài),去追求更新的技術(shù),跟上時代潮流,雖然前端目前更新的速度很快,有精化也有糟粕,我們也一直在致力于對前端的一個整體優(yōu)化,使得用戶的體驗更加友好,頁面的渲染速度也越來越快。我們要始終處于不斷學(xué)習(xí)的狀態(tài)之中,不然就等著被淘汰。只有在互聯(lián)網(wǎng)的大潮之中,我們才能碰撞出思維的火花,讓我們擁抱未來,擁抱變化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評論 25 709
  • 前端 前后端分離 這不是一篇純技術(shù)文章,而是一篇分享我個人在前后端分離路上收獲的點點滴滴的文章,以此來為準(zhǔn)備嘗試前...
    寒劍飄零閱讀 1,922評論 0 22
  • 《從簡,從詩Ⅰ簡·詩》 竹林搖曳 閃動著刀耕火種 歲月散落 等待跨越的絲繩 竹影婆娑 日月穿門而過落地有聲 竹片染...
    一了0820閱讀 477評論 0 9

友情鏈接更多精彩內(nèi)容