最近接手了一個和報表有關的項目。項目後端的大部分工做都是在操做數據庫,做爲一個後端新手談不上有什麼感受。但對於看了前端的寫法以後,仍是有一點點感想。html
項目前端主要使用jQuery及其插件,也許這就是大部分後端開發寫前端的方式。比較讓我驚訝的是,前端竟然是單頁面的,實現單頁面的方法也很簡單,$.load。前端除了有少許使用underscore template以外,沒有大規模使用模版引擎,但有使用JSP渲染菜單,用來控制用戶的訪問權限。前端
之前專作前端的時候,前端模板引擎是必不可少的,三大前端MVVM框架也全都提供了模板引擎功能。如今開始寫後端以後,手上又多了後端模板引擎這一選擇。數據庫
關於頁面是前端渲染仍是後端渲染這個問題網上有不少討論,好比[轉]談談前端渲染 VS 後端渲染。不過做爲一個懶惰的開發,在先後端都寫的狀況下,後端模板引擎用順手了,每每就懶得寫JS了,因而就有了我以前「爭取不寫一句JS」的愚蠢想法。我以爲正常的狀況下,對於多頁面應用來講,仍是首次輸出頁面後端渲染,以後頁面的改變前端渲染比較好,這樣作實現起來也更方便。後端
若是是單頁面應用,大量的頁面渲染應該是放在前端的,僅僅爲了一個首頁讓後端去渲染頁面,我以爲會顯得比較囉嗦,倒不如所有給RESTful的接口來得乾淨直白。至於拿NodeJS來專門輸出頁面的作法,我暫時尚未機會體驗。想來想去,也許,前端的事情所有交給瀏覽器去作纔是大勢所趨?無論怎麼說,我以爲接手的項目在模板引擎的使用上有點扭扭捏捏的,即沒有徹底拋棄,也沒有充分利用。瀏覽器
至於單頁面應用的實現方式,我以爲使用三大框架比本身拿jQuery搭一套不成熟的更好。之前有過本身拿jQuery和RequireJS搭單頁面框架的經驗,在這個過程當中我本身學到了很多,但實際用起來,我以爲並很差用。與其讓項目組同事學習使用個人這套爛框架,不如你們都去學學三大框架對我的和項目組更好。ruby
手頭項目上的這套框架用起來我以爲有這麼幾點很差:首先,它沒有路由管理,跳到了哪一個頁面在代碼裏面是徹底沒有辦法知道的。若是僅僅是展現數據還好,一旦須要上傳數據,還須要經過頁面來區分上傳數據來源就比較麻煩了。個人解決方法仍是使用url的hash來記錄。其次,這套框架沒有使用模塊化的寫法,這種狀況下我最大的感覺就是在開發過程當中不知道代碼的邊界在哪,爲了解決某些問題,把本屬於不一樣的JS文件,應該拆開的邏輯混雜在一塊兒了,這也是以前經歷過的事情。框架
因此,我以爲,即便是做爲一個後端開發(也許應該說是須要操做數據庫的前端開發),也應該擁抱前端開發框架,如今已經不是10年之前了。模塊化