介紹完 MVC 架構,並實作一些程式碼後,大家可能會稍微感覺到,View 部分所要寫的程式碼主要會是 HTML、CSS、javascript,和 Model、Controller 寫的 Ruby 差異很大。
在 MVC 架構下,我們一般會將 View 稱作前端,主要負責的是介面的呈現;而 Model 及 Controller 稱為後端,負責資料的儲存和商業邏輯。早期由於前端介面比較簡單,可能只有 HTML、CSS 負責呈現介面,開發人員通常是從後端寫到前端的一條龍開發。這樣子的作法下,前端要從後端拿資料時,往往都會重新發送請求,刷新整個網頁。但是其實前端顯示介面的 HTML、CSS 程式碼,在同一個網站中,經常會有許多可以重複使用的部分,實在不需要每一次拿新資料時都重新向後端要一次,加重 Server 的負擔。
所以後來逐漸發展出 AJAX 的概念,前端可以向後端 Server 發送請求拿資料而不是整份 HTML,在拿到資料後,透過瀏覽器中的程式(通常是 javascript)運算後修改部分的 HTML,達到更新網頁的目的。就這樣許多程式碼逐漸轉移到前端,慢慢地前端不只是純粹顯示而已。也因為後來網站開始重視使用者操作的易用性,而且電腦、手機效能進步飛速,一般消費者使用的設備效能提升,網站也就能在前端加入更多的動畫等功能,希望能增進使用者體驗,就這樣前端和後端所使用的技術差異越來越大,網站開發逐漸往前後端分離的方向發展。