首頁  >  文章  >  後端開發  >  javascript - 現在開發網站一般都會用什麼方式?什麼是前後端分離?

javascript - 現在開發網站一般都會用什麼方式?什麼是前後端分離?

WBOY
WBOY原創
2016-08-04 09:21:351409瀏覽

因為自己一直以來都是自學,不是很清楚大公司是怎麼寫網站的。以前寫網站很多都是讓jsp或php程式碼嵌入html裡面。之前也使用過node+jade的方式,現在都是後台提供接口,然後ajax提交獲取數據後在backbone模板裡面展示出來。那麼通用的方式是什麼呢?問在百度的一個學長,他給我說smarty,我也不是很懂。請教一下大家,謝謝

回覆內容:

因為自己一直以來都是自學,不是很清楚大公司是怎麼寫網站的。以前寫網站很多都是讓jsp或php程式碼嵌入html裡面。之前也使用過node+jade的方式,現在都是後台提供接口,然後ajax提交獲取數據後在backbone模板裡面展示出來。那麼通用的方式是什麼呢?問在百度的一個學長,他給我說smarty,我也不是很懂。請教一下大家,謝謝

前後端分離的由來是:先前開發網站都是 jsp、asp 這類動態腳本。
jsp、asp這種參雜了後端語言、javascript、css、html 的混合腳本,讓程式碼開發和維護都極為不方便。
隨著前端互動越來越複雜,jsp、asp 這種腳本語法已經無法滿足開發的需求了。
於是前後端的概念就提出了:前端人員負責頁面展示和交互,然後透過 ajax 呼叫後端人員寫好的資料介面。
所以開發網站的核心現在基本上就是:

  1. html + css :頁面展示

  2. javascript + ajax(這個算是瀏覽器的一部分,可以透過 javascript 呼叫) : 頁面互動、邏輯處理

通常的開發框架選擇:

  1. 簡單網站: jquery + bootstrap

  2. 後台管理系統: angularjs + jquery + bootstrap + webpack

  3. 複雜的產品: react + redux + webpack

現在網站開發基本上都是前後端分離的模式,後端只寫接口,前端調取接口,用js的模板引擎去渲染數據,比如arttemplate.js。也會用到一些js模組開發的框架如sea.js。

嗯,我們現在不寫頁面,都是前端寫了頁面直接丟cdn上,然後調我們後端提供的介面取得資料來渲染。

smarty是一個模板引擎,用於將前後端分離,其核心內容就是MVC
M = 模型
V = 視圖
C = 控制器

這個問題很廣泛。網站從小到大,可以分很多類的。也就是都叫網站,三流城市小商店的主頁跟淘寶網都叫網站,但是整個的開發差的就太大了。

實際上,自學過來,多想想 怎麼更快速的實現需求,應對需求變化,方便後期維護,以這個標準來看到底哪個更好,你說的這些都對。也都有公司在用。目前直接在jsp或php裡面寫html應該不多了。前後端分離正在是正火。那麼要怎麼分離,誰佔的多點,誰佔的少點,根據各公司的技術水準來。前端開發工程師牛了,就想著前端的mvc,mvvm,直出。後端牛了,就想著,你把這個原型給後端,其他不用管了。

問題中,node+jade算是後端,backbone就是前端。 smarty是php的老牌模板。跟node的jade類似。

所以,定位一下,你到底是前端,後端,還是全端? 最好是先把一種語言用的更深一些,比如,java,或node,或php,不用啥都懂點,啥也不懂。等回頭確認好你的問題到底是什麼,在細聊。

這個有什麼關係嗎?基本上都差不多的套路,可能分了更多的層,但本質沒變啊,都練練,多點實際經驗就可以了,沒什麼區別,不用糾結

html + ajax

我不太清楚你想問的問題是不是我下面要說的.所以麻煩謹慎閱讀.
關於網站前後台分離,我讀了問題詳情裡的大概說明,可能就是比如之前的php程式碼寫在html程式碼裡,不存在純粹的php檔案(裡面只有php的程式碼)和html檔,這裡就是前後端不分離,大概意思就是php和html,你中我有,我中有你.
但是呢,後來開發的時候遇到很多問題,前端(html,css,js)工程師對php程式碼可能讀不懂,php工程師也不對css那些內容非常熟悉,所以後來人們想出一個辦法,把程式碼分離!這樣就能讓每個人在各自的領域更好的發揮,這樣雖然消耗了一定的效率,但是對於開發人員從某一角度來說是友好的.
smarty模板就是比較典型的例子吧.他把前台(給用戶看的)後台(實現使用者需求的功能)分開了,給不同的開發人員發揮.

smarty是針對你所說的後端程式碼在前端實現的一種模板引擎.ajax屬於非同步操作,來實現前後分離

前後端分離並沒有網路上說的那麼複雜。

  1. 首先要知道所有的程式都是一資料為基礎的,沒有資料的程式沒有實際意義,程式的本質就是對程式的增刪改查。

  2. 前後端分離就是把資料操作和顯示分開。前端專注做數據顯示,透過文字,圖片或圖示等方式讓數據形象直觀的顯示出來。後端專注做數據的操作。前端把資料發給後端,有後端對資料進行修改。

  3. 後端一般用java,c#等語言,現在的node屬於JavaScript也能進行後端操作,此處不意義裂解語言。後端來進行資料庫的鏈接,並對資料進行操作。

  4. 後端提供介面給前端調用,來觸發後端對資料的操作。

基本原理就是這樣,可能語言上不準確,思想是沒有問題的。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn