最近进入了一个新的项目组,要新起一个项目。这个Web项目是一个企业内部使用的系统,主要用来记录、追踪、管理潜在客户的数据。该系统有以下特点:

  1. 需要支持IE10及以上版本;
  2. 后端采用micro service架构,全部是REST API;
  3. 需要与现有的CRM系统(客户管理管理系统)集成,主要采用iframe嵌入页面的方式;
  4. 系统开发周期为5个月左右,分为三个大的里程碑。

经过多方考虑,最终选择AngularJS作为前端主要框架。
理由:

  1. 该系统为WEB应用程序,符合single page application的特点;
  2. 由于后端采用REST API,所以前端使用AngularJS可以与其无缝对接;
  3. 前端页面交互逻辑不复杂,呈现的数据量不会很大,所以不会遇到AngularJS性能问题;
  4. 该技术栈与当前公司的技术策略相契合。

当然除了AngularJS框架以外,还需要其它一系列框架来完成整个前端开发、测试、部署的流程。

  • yeoman: 前端项目脚手架工具;

  • NPM: 作为本地开发过程中使用到的Node.js的管理;

  • Bower:作为前端项目使用到的依赖开的管理工具;之所以选择NPM作为开发包的管理,是因为NPM的整个依赖链是嵌套的,这样每个开发包之间不会相互影响;而Bower在管理包时依赖链是平行的,这样前端加载时无需重复加载被多次引用的依赖,保证了前端数据最小化。

  • Grunt:作为整个项目的自动化构建管理工具;

  • Karma:作为单元测试及集成测试运行工具;

  • Jasmine:单元测试及BDD框架;

  • Protractor: 驱动浏览器的框架,配合Jasmine用于端到端测试。

最新文章

  1. jquery 和 css 属性
  2. Windows10环境配置nat123端口映射访问mysql
  3. 构建ceph deb 安装包
  4. 01从c到c++
  5. Angularjs学习笔记(一)
  6. 请各位帮帮忙:Android LBS应用——CityExplorer (v1.0) 调研
  7. Libliner 中的-s 参数选择:primal 和dual
  8. 使用 New Relic 监控接口服务性能
  9. .net 的一个分词系统(jieba中文分词的.NET版本:jieba.NET)
  10. php 应用 cpu 100% 调试方法
  11. ExtJs之Ext.core.DomHelper.append
  12. iOS 2D绘图详解(Quartz 2D)之Bitmap
  13. RHEL7单独安装图形X11
  14. webapp思路和rem适配极其viewport
  15. 【Web】CGI与Servlet技术对比
  16. DV工作流
  17. [HDOJ2572]终曲
  18. Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档
  19. Linux 日志分析脚本
  20. Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】

热门文章

  1. MongoDB基本管理命令
  2. .net/C# HttpWebRequest传送与接收参数
  3. .Net 对App.config和Web.config的访问操作(增、删、读、改)
  4. Mac 系统下的环境变量
  5. vim的跨文件复制粘贴
  6. Cauchy 级数浓缩判别法
  7. <c:if>标签的使用-流程控制标签
  8. 如何解决SoftekBarcode.dll加载失败的问题
  9. CSS3多列
  10. 简单的导航viewpager