前端开发环境探析

###前端开发环境要求
前端是一个复杂工种,这一点已经无需我重复了。前端的工作其实说简单也简单,无非处理页面表现而已;然而说复杂也复杂,因为页面表现的实现和可复用性都是前端需要考虑的,通通纳入其中。我写这篇博文时,就是立足于这个复杂的前段开发背景。

这里简单说一下前端对开发环境的需求:

1.web页面浏览调试需求<br />
2.IDE需求<br />
3.Ajax异步通信需求<br />
4.自动化处理工具的需求<br />
5.轻量级需求<br />

当然,这不是业内公论,仅仅是自己在web前端工程中的体悟。

###web调试需求
这个不用多说ie,ff,chrome等等。。。一入前端,便是进入了N个版本浏览器的海洋,不如此不能写出更具有可用性的web页面。

所以ms系的系统不可或缺。

###IDE需求
这个仅仅简单提一下,因为个人不用发言权不高,目前各种IDE支持首选的还是MS系系统。

###Ajax异步通信需求
这个对环境要求不高,ms和linux系系统都能完美胜任之,方案很多,LAMP,iis+php,apache+php都可以,加上mysql数据库也很容易,系统占用也不算高。

###自动化处理工具
随着NodeJs的出现和渐渐流行,自动化处理工具入Grunt因为其符合人的懒惰特性也渐渐流行起来,但是这些工具多数依赖NodeJs或者ruby,众所周知,Nodejs和ruby在linux系系统上才能发挥到最佳状态,在MS下安装了NodeJs和ruby,它们分别有自己的控制台,操作殊为不便。而且控制台很多时候不能复制粘贴。。。这是要一个字符一个字符敲的节奏。。。所以,自动化处理工具首选linux系。

###轻量级需求
恩,我所说的轻量级,是指系统必须跑得飞快,如我,对等待这种效率浪费的事情往往是不能忍的。综上文,前端开发过程中MS系统必须有,这个是硬性需求,Linux系统也最好有,这个便利性的需求,而且LAMP也的确是跑服务器环境的好选择。

这种情况下,只能一个宿主机,然后一个虚拟机了,不过谁宿主谁虚拟,这个有待商榷。不过按照我个人经验来说,宿主MS加linxu虚拟(CLI命令行环境)是最符合轻量级理念的环境。Linux下虚拟机跑MS系统实在太卡(个人NOTEBOOK上I3+4G DDR3 1333)。

###个人最终环境
1.宿主和虚拟选择

win7 64bit 作为宿主
Centos 6.5 mini 64bit 作为虚拟

###最后说下GitHub
虽然GitHub现在有了Win版本,但是相对来说,那个GUI显然没有CLI功能全面,我在win下都是用的GitHub Shell。linux下则可直接使用git命令行,这个很方便。

2.宿主和虚拟环境配置

win7 64bit
    PS|sublime-text|GVim|IE6-IE10/IETest|GitHub|Putty|winscp
centos 64bit <br />
    Samba|LAMP|Nodejs|ruby|Grunt 

简单说下这个配置,win下的配置大家应该都明白,需要说明的大概就winscp了,这个是win下使用sftp连接linux的软件,可以直接root访问linux处理文件,单文件修改可以直接编辑,保存后直接提交到服务器。

Linux下Samba是为了可以直接在资源管理通过ip来访问linux数据,这个很多时候还是很要紧的,Cli处理文件有时候真的是很捉急。。。LAMP这个不多说,linux下PHP环境的首选,当然LNMP最近也很流行。至于NodeJs|ruby|Grunt工具我前文已经说过,再次不赘述。

###结语
目前来说,个人的配置就是这样,纵览互联网,暂时也没听说其他更好方案来解决WebFrontEnder的开发环境困惑,当初学前端时候,前辈说一个现代一点的文本编辑器如notepad++便可,但是到如今,这个已经很难处理WebFrontEnder的业务流了,他们要处理图片要处理css布局要hach Css要ajax数据交互要N个版本调试页面,更高要求的公司甚至可能要求建设自己的前端框架。。。

所以,应该需要一个好用一点的开发环境的了。它应该功能全面满足硬性需求,应该先进满足便利性和性能要求,应该轻量考虑开发人员心情。因此,我写了这篇文章。

谨以此文献给奋战在前端一线的筒子们。。。