本來想寫一篇簡單的教程來概述我喜愛的web開發技術棧,但是寫起來就發現一個完善的、大家可以立刻拿來用的現代化的可以前後端分類的模板還是要注意很多東西的。

我那么我想着既然开写,就紧跟时代,寫出屬於這個時代的我會的技術要素。

首先,serverless前後端分離就是趨勢,我們當然可以使用firebase這樣的服務構建自己的應用,然而這樣始終處於產業鏈下層,比較實惠的自我投資還是成爲全棧工程師,並且有能力搭建屬於自己的可以快速開始的後端。

你可能並不喜歡重複構架後端,因爲你的客戶或者你的需求就是很多形式的前端產品,你需要支撐你的後端能夠多企業(多個app獨立數據),一個靠譜的權限系統也是必要設計的。

當後端實現到,你在是燒錢購買資源還是動手做性能優化的時候,實際上你應該投資的是前端以增加產品迭代效率,節約你的時間成本。這個時候靠譜的前端架構非常重要。爲了更好的演示需求,我們會使用storybook來開發一個設計系統。

現代應用應當給前端的自由度非常高,restful基本上就是把業務邏輯的設計給了前端了,但是前端靠restful並不能很好地實現離線緩存等更富數據結構感的設計,於是我會順帶闡述一下graphql這個API數據查詢語言。

Postgresql當然是開發者的好幫手,它具有豐富的數據類型和nosql特性,開發者在很多問題上不需要擔心。我會簡單講解一些Postgresql的安裝和簡單運維。

對於實時的要求,我們用socket.io來解決。

也會追趕一些熱門的技術。我們會使用ipfs來存儲圖片和發佈靜態網頁,並且簡單介紹parity這個主流的區塊連平臺的安裝和使用,並且使用其推薦的框架簡單實現智能合約。

我會通過使用tensorflow.js構建一個推薦系統,來講解AI的具體適用場景。

最後,我會超越nodejs,簡單介紹rust語言,以及如何用rust語言做前端和後端開發。

我歷來主張實踐第一。整套教程將會實現以下功能來依次講解一個現代管理系統所需要的基本技術。

  1. koa+typeorm 對用戶、角色、權限、文章的增刪改查。
  2. Postgresql新手入門
  3. 是數據庫自動化維護:在不同環境下,遷移(migration)和初始化數據(seed)。主要有三種環境: 開發(development)、測試(test)、生產(production)
  4. 基於mocha架構一整套測試系統,包括API測試和單元測試。並且以此測試系統爲中心持續開發。
  5. 完成基於JWT機制的認證。
  6. 完成動態權限認證訪問
  7. 使用create-react-app配合storybook製作自己的UI設計系統
  8. 使用react-admin構造自己管理系統
  9. 使用socket.io完成文件的流式上傳和初步實現圖片的在線剪切。
  10. 使用ipfs作爲自己圖牀。
  11. 加入多應用主體支持。
  12. 使用levelup系列緩存性能。
  13. 使用nginx+pm2部署應用,並初步實現負載均衡。
  14. 使用create-next-app製作您的響應式後端渲染網站。
  15. 使用react-native構造您的原生應用
  16. 使用socket.p2p.io構造您的點對點聊天系統
  17. 使用socket.p2p.io構造您的點對點直播系統
  18. 啊再折腾,为你的后端添加graphql服务
  19. react-graphql简单应用
  20. 安全:密碼學入門。
  21. parity區塊連平臺的安裝和使用。
  22. 智能合約基礎以及如何發行自己的電子貨幣。
  23. 超越性能優化:使用rust語言來編寫nodejs模塊
  24. rust語言webassembly嵌入.

陸陸續續地,我會花數年時間完善這套教程。先開個帖子,自我激勵下,之後此篇博客就是教程的目錄的,敬請期待。