目前在做的一个web应用程序的前端选型
最近进入了一个新的项目组,要新起一个项目。这个Web项目是一个企业内部使用的系统,主要用来记录、追踪、管理潜在客户的数据。该系统有以下特点:
- 需要支持IE10及以上版本;
- 后端采用micro service架构,全部是REST API;
- 需要与现有的CRM系统(客户管理管理系统)集成,主要采用iframe嵌入页面的方式;
- 系统开发周期为5个月左右,分为三个大的里程碑。
经过多方考虑,最终选择AngularJS作为前端主要框架。
理由:
- 该系统为WEB应用程序,符合single page application的特点;
- 由于后端采用REST API,所以前端使用AngularJS可以与其无缝对接;
- 前端页面交互逻辑不复杂,呈现的数据量不会很大,所以不会遇到AngularJS性能问题;
- 该技术栈与当前公司的技术策略相契合。
当然除了AngularJS框架以外,还需要其它一系列框架来完成整个前端开发、测试、部署的流程。
yeoman: 前端项目脚手架工具;
NPM: 作为本地开发过程中使用到的Node.js的管理;
Bower:作为前端项目使用到的依赖开的管理工具;之所以选择NPM作为开发包的管理,是因为NPM的整个依赖链是嵌套的,这样每个开发包之间不会相互影响;而Bower在管理包时依赖链是平行的,这样前端加载时无需重复加载被多次引用的依赖,保证了前端数据最小化。
Grunt:作为整个项目的自动化构建管理工具;
Karma:作为单元测试及集成测试运行工具;
Jasmine:单元测试及BDD框架;
Protractor: 驱动浏览器的框架,配合Jasmine用于端到端测试。
目前在做的一个web应用程序的前端选型的更多相关文章
- 【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC3入门教程之第一个WEB应用程序
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=91&extra=page%3D1 上一节,我们已经搭建好了AS ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】
Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序【转】
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html 1. Web API简单说明 近来很多大型的平台都公开了Web API. ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- Windows Azure入门教学系列 (二):部署第一个Web Role程序
本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
- 编写你的第一个web应用程序1
在shell中运行以下命令来检查django是否已安装及其版本 python -m django --version 如果django已经安装,你应该看到安装的版本号,如果还没有安装,你会看到一个‘n ...
随机推荐
- Rails中的content_tag与concat用法,可以连接任意html元素
想输出如下html <% if user.present? %> <li> <a href="<%= user_info_url(user.id) %&g ...
- Python 第三天 文件操作(2)
文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和 fi ...
- 使用C#代码部署SharePoint 2013开发包简单总结(一)
这篇文章将总结下如何将自己开发的列表.Web部件.事件接收器等元素部署到SharePoint的服务器.因水平有限,我的做法未必是最佳实践,会有些错误理解和疏漏,欢迎各位高手批评指正——但一定要能给出更 ...
- SVM系列之拉格朗日对偶
在学习SVM(Support Vector Machine) 支持向量机时,对于线性可分的分类样本求出的分类函数为: 其中,分类超平面可以表示为:
- 浅析 IDE跟编译器
之前听别人总说你用啥IDE,直接用编译器. 总的来说IDE包含编译器,而编译器仅仅是IDE的一部分, IDE包括编辑器与编译器. IDE: 可以在IDE上面编写代码,然后编译运行,有错误还能调试.比如 ...
- java读取properties配置文件总结
java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...
- flask_分页
一.提交博客文章 1.定义一个单字段的表单对象(form.py) class PostForm(Form): post = StringField('post', validators=[DataRe ...
- 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Sass的基本运算(转载)
转载于:http://www.cnblogs.com/Medeor/p/4966952.html Sass中的基本运算 一.加法 在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行.但在 ...
- Pointers and Dynamic Allocation of Memory
METHOD 1: Consider the case where we do not know the number of elements in each row at compile time, ...