Web全栈应用之旅-启程篇

一、Web应用技术栈

在开发Web应用时,通常会使用到以下技术栈:


对应这些技术栈都已有相应的开源产品,可以根据项目需要选择适合的产品。

二、开源产品选型原则

开源产品选型主要考虑:

  1. 适合本项目,如满足功能需要,开发者已有的技能储备等。
  2. 活跃度高,发现问题开发团队能及时解决。
  3. 已经有不少项目的成功经验。

三、iTracker产品选型

iTracker是一个开源任务管理系统,目的是通过实际项目来使用和验证以上技术栈, 同时也是一个培训类Demo项目,你可以通过follow Web应用全栈之旅的系列文章一起参与学习。
iTracker选型如下:

四、前端选型

  1. 前端框架Vue.js,理由是:轻量,热度高,热度从慕课网培训课程Vue和Angular的购买人数就可以看出来。
  2. UI组件选择饿了么的Element UI,理由是:一次安装使用成功,功能够用。
  3. 编辑器
    编辑器选型主要考虑因素有:
    1)是否支持直接拷贝富文本的中的图片或者截屏后粘贴,能拷贝Word中的图片和visio图最佳。但能拷贝visio图粘贴后不失真通常是收费富文本编辑器才具备的能力。
    2)是否支持编程语言高亮,例如按Java,C++语言高亮
    3)是否支持数学公式等等
    因此选择了两款富文本编辑器:
    1)wangEditor,支持截屏粘贴,当做Bug跟踪系统时这个功能特别有用。
    2)Editor.md,支持编程语言高亮,支持数据公式。
  4. 图表
    图表组件很多,够用就好。
    1)Echart,用于统计类图表。
    2)d3,功能强大,彩虹图,柱状图,在做调用链跟踪类的应用中可以使用。

五、后端选型

  1. Web框架
    没有任何疑议选择Spring。
  2. 工具包
    在实际开发过程中可能用到很多工具包,例如支持后台分页的工具包PageHelper,例如虽然已有fastJSON来做json文本和对象的转换,但有的场景会用到Gson,具体根据实际需要选择。
  3. 配置中心
    虽然大多数配置都可以在spring的yml配置文件中完成,但当配置参数越来越多,又要区分不同环境时,通过配置中心来配置更方便一些,这里选择了携程的Apollo配置中心。
  4. 缓存
    支持数据缓存, 分布式缓存,可以用来管理分布式session,Rdeis足以胜任。
  5. 消息队列
    几个知名消息队列工具,kafka,RocketMQ,RabbitMQ,在没有确切的场景需求时,先简单选择一个开始吧。
  6. 搜索 由于数据库的模糊查询效率低,同时也不可能不断增加一个表的索引字段来满足查询要求,因此一个搜索引擎是必要的,Elasticsearch可以满足要求。

六、数据库访问选型

JPA代码写起来简单,但是对于复杂查询有些力不从心,所以还是带上mybatis吧。

七、数据库选型

MySQL。

八、结语

学习在任何收开始都不晚,感兴趣的话,一起开始Web全栈之旅吧!

end.


站点: javashizhan.com/


微信公众号:


加入知识星球,参与讨论,更多实战代码分享!
t.zsxq.com/RNzfi2j

猜你喜欢

转载自juejin.im/post/5d4dac196fb9a06add4e1bda