目錄
回覆內容:
首頁 後端開發 php教程 javascript - 現在開發網站一般都會用什麼方式?什麼是前後端分離?

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

Aug 04, 2016 am 09:21 AM
java javascript jquery php web

因為自己一直以來都是自學,不是很清楚大公司是怎麼寫網站的。以前寫網站很多都是讓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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

See all articles