1、Web應用技術棧
在開發Web應用時,一般會使用到如下技術棧:前端
對應這些技術棧都已有相應的開源產品,能夠根據項目須要選擇適合的產品。
2、開源產品選型原則
開源產品選型主要考慮:java
- 適合本項目,如知足功能須要,開發者已有的技能儲備等。
- 活躍度高,發現問題開發團隊能及時解決。
- 已經有很多項目的成功經驗。
3、iTracker產品選型
iTracker是一個開源任務管理系統,目的是經過實際項目來使用和驗證以上技術棧, 同時也是一個培訓類Demo項目,你能夠經過follow Web應用全棧之旅的系列文章一塊兒參與學習。
iTracker選型以下:spring
4、前端選型
- 前端框架Vue.js,理由是:輕量,熱度高,熱度從慕課網培訓課程Vue和Angular的購買人數就能夠看出來。
- UI組件選擇餓了麼的Element UI,理由是:一次安裝使用成功,功可以用。
- 編輯器
編輯器選型主要考慮因素有:
1)是否支持直接拷貝富文本的中的圖片或者截屏後粘貼,能拷貝Word中的圖片和visio圖最佳。但能拷貝visio圖粘貼後不失真一般是收費富文本編輯器才具有的能力。
2)是否支持編程語言高亮,例如按Java,C++語言高亮
3)是否支持數學公式等等
所以選擇了兩款富文本編輯器:
1)wangEditor,支持截屏粘貼,當作Bug跟蹤系統時這個功能特別有用。
2)Editor.md,支持編程語言高亮,支持數學公式。
- 圖表
圖表組件不少,夠用就好。
1)Echart,用於統計類圖表。
2)d3,功能強大,彩虹圖,樹狀圖,在作調用鏈跟蹤類的應用中可使用。
5、後端選型
- Web框架
沒有任何疑議選擇Spring。
- 工具包
在實際開發過程當中可能用到不少工具包,例如支持後臺分頁的工具包PageHelper,例如雖然已有fastJSON來作json文本和對象的轉換,但有的場景會用到Gson,具體根據實際須要選擇。
- 配置中心
雖然大多數配置均可以在spring的yml配置文件中完成,但當配置參數愈來愈多,又要區分不一樣環境時,經過配置中心來配置更方便一些,這裏選擇了攜程的Apollo配置中心。
- 緩存
支持數據緩存, 分佈式緩存,能夠用來管理分佈式session,Rdeis足以勝任。
- 消息隊列
幾個知名消息隊列工具,kafka,RocketMQ,RabbitMQ,在沒有確切的場景需求時,先簡單選擇一個開始吧。
- 搜索 因爲數據庫的模糊查詢效率低,同時也不可能不斷增長一個表的索引字段來知足查詢要求,所以一個搜索引擎是必要的,Elasticsearch能夠知足要求。
6、數據庫訪問選型
JPA代碼寫起來簡單,可是對於複雜查詢有些力不從心,因此仍是帶上mybatis吧。數據庫
7、數據庫選型
MySQL。編程
8、結語
學習在任何收開始都不晚,感興趣的話,一塊兒開始Web全棧之旅吧!json
end.後端
站點: javashizhan.com/緩存
微信公衆號:前端框架
加入知識星球,參與討論,更多實戰代碼分享!
t.zsxq.com/RNzfi2j微信