2007年,我參與了企業級項目的開發。當時有些項目只有壹個包,沒有代碼規範,業務邏輯散落各處,甚至JSP直接訪問數據庫,做業務處理。
後來有了壹些規範,頁面就是頁面,代碼就是代碼,很多項目開始使用Ajax框架。
進壹步開發,後端代碼已經分層了,controller/service/,每個項目可能有不同的分層策略(多為三層和兩層),每壹層都有不同的調用(controller或action)。從頁面到最後訪問數據庫,數據需要到多個層。
但是現階段,在企業級項目的開發過程中,Java程序員還是要兼顧前後臺的開發,所以前端頁面並不漂亮,也就是可以用。
前後臺分離有很多好處:前端開發和後端開發可以各司其職,接口商定後可以並行開發;後端接口可以重用。如果項目有電腦網頁、手機網頁、APP等多個入口,後端只能有壹個。
在帶來好處的同時,也會有壹些壞處,比如:增加架構的復雜度,如果技術能力不足的團隊可以考慮半分離(比如我們部門都是企業級應用,沒有前端開發人員);如果是面向互聯網的應用,需要搜索引擎抓取,需要服務器端渲染;另外,前端交互的界面也需要時間和精力去設計。