成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

為什么現(xiàn)在又流行服務(wù)端渲染html?

網(wǎng)友解答: 作為一名多年經(jīng)驗的前端,路過,來回答一下。其實,這是一個前端技術(shù)發(fā)展與分工的一個過程。最開始的時候,是沒有前端這一角色的,你可以想象為從服務(wù)器端獲取一個文件,扔到瀏覽器端顯示

網(wǎng)友解答:

作為一名多年經(jīng)驗的前端,路過,來回答一下。

其實,這是一個前端技術(shù)發(fā)展與分工的一個過程。

最開始的時候,是沒有前端這一角色的,你可以想象為從服務(wù)器端獲取一個文件,扔到瀏覽器端顯示,因為要配合瀏覽器端解析,文件內(nèi)容格式就需要特殊約定,也即HTML。也就是所謂的Web 1.0時代,大概在95年之前,那時我還沒接觸互聯(lián)網(wǎng),所以沒有經(jīng)歷過。

然后瀏覽器端有了最原始的交互需求,常見的就是點擊一下,會看到一定的變化。很顯然,源文件已經(jīng)在用戶側(cè)瀏覽器端,服務(wù)端是做不到的,也就有了Javascript,當然微軟也為IE開發(fā)了對應(yīng)的JScript。于此同時,人們對顏值要求越來越高,這個可以理解,最開始僅僅幾個人玩(主要是科學(xué)家),后來隨著WWW的新起,更多的人參與進來,一看"真丑"。參與的人多了,也就有人商量著使用CSS來解決"丑"的問題。也就是1995到1999年這段時間,主要是伴隨著功能的完善,版本的迭代。那時,我還在讀書,可能還沒接觸互聯(lián)網(wǎng),所以也沒有經(jīng)歷過。

很顯然,隨著時間的推移,技術(shù)的發(fā)展,人們的需求越來越高,人們已經(jīng)不滿足這種"文件包"的方式,更希望今天看到的是這樣,明天看到的是那樣,我昨天操作過的記錄可以保存到今天甚至以后繼續(xù)操作,也就是對數(shù)據(jù)有了保存的需求。不在滿足你給我什么我看什么,而是希望看到自己想要的。也就需要數(shù)據(jù)庫操作,后端技術(shù)要求就高了,也就出現(xiàn)了以PHP,JSP,ASP為代表的"3P",實現(xiàn)了動態(tài)頁面。很顯然,這些技術(shù)除了處理數(shù)據(jù)庫,處理數(shù)據(jù),以及頁面邏輯也非常不錯。后端技術(shù)得到了重視,相反前端技術(shù)則被忽略,后端技術(shù)蓬勃發(fā)展,這種重后端,輕前端的狀態(tài)一直持續(xù)到2005年。此時我應(yīng)該已經(jīng)觸碰到了電腦,不過那個時候主要是用來玩,瀏覽瀏覽網(wǎng)頁啥的,沒有深入研究過底層技術(shù)與實現(xiàn)。

AJAX技術(shù)的新起,進入Web2.0時代。前端技術(shù)伴隨著瀏覽器大戰(zhàn),處于混亂不堪的局面,不論怎樣,前端技術(shù)同后端技術(shù)一樣得到了人們的重視,此時jQuery應(yīng)運而生。我也就是從2008-2009年的時候,開始接觸互聯(lián)網(wǎng)相關(guān)技術(shù),當時是ASP.net,主要以C#語言為主。也就是以后端為主,那時候才剛剛開始有了所謂的"前端",有了前后端分離的意識,那時候的前端分離,無非就是前端處理視圖呈現(xiàn)和頁面交互,通過AJAX調(diào)用后端提供的各種接口,返回相應(yīng)數(shù)據(jù)。殊不知,其實那個時候一些前端技術(shù)已經(jīng)在開始醞釀,HTML5,CSS3,ES5等等,都將推動后來Web的繁榮,可以說前端相關(guān)技術(shù)引起了人們非常高的重視。我從2010年開始工作,其實在學(xué)校沒怎么接觸前端,以為都是ASP.net那一套,拖拖拽拽就OK了,面試的給我說要考JS,不過還好讓我第二天去。于是那天晚上到網(wǎng)吧下載了一本Javascript相關(guān)的書籍啃了一晚上,第二天去筆試,得了個65分剛夠及格的分數(shù)。或許當時前端人員稀缺,給了我一個試用期的機會,后來順利轉(zhuǎn)正。一入前端深似海,于是開始系統(tǒng)的學(xué)習(xí)前端的相關(guān)技術(shù)。

前后端分離,是各自蓬勃發(fā)展,繁榮的表現(xiàn)。后端有自己的業(yè)務(wù)邏輯要處理,前端也有各自的呈現(xiàn)要處理,前端提供模板,后端負責(zé)渲染,你干你的,我干我的,分工明確。后端有成熟的MVC模式和架構(gòu),前端出于配合的地位。當時的網(wǎng)站主要以官網(wǎng)+后臺管理的形式存在,多以后端為重,因為后端有大量的業(yè)務(wù)邏輯需要處理,所以在MVC架構(gòu)下,有的前端也需要掌握一門后端語言,讓前端接手處理渲染。其實,這時候的前后端配合不像一開始那么"親密",開始"打架",前端說這里需要后端處理,后端說這里前端也可以處理,因為二者有相互滲透之嫌。比如,后端處理前端提供的靜態(tài)頁面模板,勢必需要對其做一些了解,如果前端處理渲染,勢必也要對后端是如何提供數(shù)據(jù)要有一定了解。程序猿本身作為一種物種,為了進化的需要,技多不壓身,想必也會有所涉獵。于是乎,前后端就在這種撕逼與配合中各自前行。

"Duang,Duang,Duang",NodeJS重磅來襲,其實JS運行在后端很早就有了,只是沒有NodeJS徹底,來得那么及時。為了應(yīng)對前后端的撕逼,有一些公司其實之前就嘗試過將PHP的模板渲染也納入前端,后端只處理業(yè)務(wù)邏輯,提供數(shù)據(jù)。這樣在前端和后端,出來了一個中間層由PHP來完成,以為添加了這道磨合劑就相安無事了。卻發(fā)現(xiàn)提高了人工成本的同時,不過是把撕逼提到了另一個層面。隨著NodeJS的完善,相關(guān)NPM模塊日趨增多,為何不讓Node接手PHP那一層呢?于是Node解脫了PHP的尷尬境地,又回歸到它的本質(zhì)。

一般業(yè)務(wù)復(fù)雜,大公司都會采取類似分離解藕的策略,前后端這種模糊的存在也還有其用武之地。

前后端分離之后,前后端得到相同的重視,前端有了更多的思考空間,也為了應(yīng)對人們?nèi)找嬖鲩L的個性化需求,同時前端相關(guān)技術(shù)也落地生根。前端開始有了獨立的架構(gòu)設(shè)計。隨著移動端的新起,前端交互開始變得尤為重要,為了更好的交互體驗,單頁面客戶端渲染開始流行,多頁面服務(wù)器端渲染一個很重要的原因就是網(wǎng)絡(luò)延時嚴重影響用戶體驗。隨著用戶訪問量的激增,客戶端渲染可以緩解服務(wù)器端的壓力。

題主所說的又開始后端渲染,其實跟最原始的后端渲染還是有區(qū)別的,更多的是引入Node這樣的中間層渲染。

至于很多人說的是因為SEO的緣故需要后端渲染,也是有的,其實當移動端新起的時候,SEO的因素已經(jīng)顯得不那么重要。主要的還是隨著技術(shù)的發(fā)展,業(yè)務(wù)的沉淀,系統(tǒng)化的思維本身就是"分離-合并"的過程。還有就是現(xiàn)在網(wǎng)絡(luò)帶寬,服務(wù)器集群等基礎(chǔ)設(shè)施的完善,也會對相應(yīng)的架構(gòu)設(shè)計有一定的影響。

以上是根據(jù)自己親身經(jīng)歷與實踐,在手機上一個字一個字敲擊而成,或有失偏頗,還望諒解,可留言評論交流。

網(wǎng)友解答:

榮榮榮榮ge'r'ge'r

標簽: