javascript
NodeJS学习笔记: RESTful —— 为本系列做个小结
前言
本人不是技術專家,該筆記只是從使用語言進行開發的層面上記錄一些體會,不包含也不想嘗試從源碼或者更深的層次去討論語言本身的優劣。文章內容是筆者的個人感悟,既不保證正確性,也不保證別人能看懂。
這是該筆記的第三篇,用來對最近的NodeJS學習做一個小結,短期內恐怕我不會再更新它了。
第一篇在這里 NodeJS學習筆記: require, exports 和 module.exports 的初印象
第二篇在這里 NodeJS學習筆記: 簡述Express的中間件multer的使用
先談一下本次學習的收獲:
1- 對于非阻塞模式的開發有了相應的意識,即從覺得很難讀懂源碼到現在覺得一切本該如此,這說明我的思維方式改善了。
2- NodeJS是很有趣的東西,但是暫時不適于開發商業的應用。誠然,NodeJS與Express都提供了較好的技術支持與規范的源碼,但是太多來自npm的模塊做不到這一點,也就是說如果不去更新依賴的資源那么可能存在未知的bug,而更新的代價則是發生各種錯誤。
3- 綜上,我覺得angular之類的技術在相當的一段時期內更有活力,至于后端我還是暫時要回到PHP領域。哦~PHP7
引子
學習NodeJS的原因是我在嘗試基于MeanJS框架的基礎上進行開發,所以我要先熟悉NodeJS, ExpressJS 和 MongoDB。當時使用的MeanJS框架是0.4.2,現在已經有了0.5.beta了。其實我大約半年以前就接觸過這個框架的更早期版本,大致的感覺如下:
早期版本
在前端和后端分別實現了mvc架構,不錯的封裝,但是使用上稍有不便。目錄結構類似:
/app/modules/moduleA (比如articles)/controllers/models/services... /public/modules... (和上面差不多,不廢話了)0.4.2
結構改善了,看起來舒服多了
/modules/moduleA (比如articles) /client.../server.../test...當然實際開發的時候太多的近似名稱也是挺讓人頭疼了。
0.5.beta
前端貌似做了一些優化,后端沒什么太多的變動。以前的示例代碼只有oauth, users (包含頭像上傳), menu 和 articles,現在又增加了chat。新手其實可以fork它從而更快的入手。
正文
我覺得單獨評價RESTful的話并沒有什么價值,必須考慮和angularJS或者app開發結合的情況下。雖然如Mongo之類的數據庫實現了RESTful接口,但是我覺得沒人喜歡從瀏覽器端直接發起此類請求。
對于單純的RESTful,我覺得以下就夠了:
然后只要增加model來制定數據有效性規則和規定model對應的訪問規則就可以了。
尾聲
抽象RESTful框架其實是很簡單的,一個針對RESTful請求的后端框架應該包括以下的部分:
1-安全驗證:確認訪問者的身份保證安全的訪問
2-數據讀寫:包括數據庫部分和緩存部分
3-文件處理:能夠對文件上傳進行處理
4-易于擴展的接口:比如socket支持,現在用來越多的地方用到了;oauth,網上支付接口等。
1和2是必不可少的。
好了,就這樣,我要回去研究php了。
總結
以上是生活随笔為你收集整理的NodeJS学习笔记: RESTful —— 为本系列做个小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot——开发新一代Sp
- 下一篇: KeyMob:建立一个稳定的移动广告聚合