返回顶部

前端开发中项目文件管理的心得

来源:无 发布时间:2016-03-05

随着编写页面数量和开发经验的增加,我总想找到一种开发的“捷径”,因为我不想被那些所谓的“框架”思维限制,导致的结果就是我离开了它们,我就不会写代码了,而我就变成了一个只是熟悉某种框架开发的人而已。所以从一开始,我就想我应该尽量不用框架,用原生javascript写。比如在项目开发过程中,有时候同样的功能,我在充分保证页面能准时给到后台的前提下,采用js实现这个功能。与用框架开发,刚开始用原生js实现同样的功能,可能刚开始是实现起来有一定难度,但是凡事总是开始都很难的,但是随着代码量编写的增加,我相信你对js理解肯定会更加一层,编写代码的时候你将会更加得心应手。所以这里就想总结一下原生js开发与框架开发的对比。

我想说明的是,最开始我说我要用js去写那些页面的时候,同事对我的这种行为很不理解,因为他们的想法是:原生js开发不仅效率慢,而且代码量相对框架更多,还要考虑很多浏览器兼容性问题,可是在框架开发里面这些已经做好了,前端开发人员所要做的是照着它的dom结构,套对应的“模版”就好了,这样开发是多么轻松的一件事!可是后面我发现一个问题,他们页面经常报错,可是他们对此却没辙,因为是用的“别人的”的东西,出了问题当然不知道该怎么解决了,至少解决起来了是比较困难的,还有一点就是这样长久下去,容易形成一种思维,一个需求下来了,他们想到的不是怎么用代码实现,而是首先想的是有什么现成的框架可以套用。常常把时间花在找插件上面,当需求因为一个小的变动的时候,又没有办法了,因为找的"插件"只有固定的代码结构,变了样就会没有办法了。这样的开发过程极其难受,就犹如一直在修复因为套用框架所带来的bug。那么究竟框架开发和原生js开发对比,怎么权衡呢?在此列出我认为的以下几点比较!

效率

可能大部分人会认为框架开发会比较快,也许吧,小巧的页面可能开发起来交互少。用框架几句话的事就能搞定,然后用原生js开发却有点显得小题大作,一大篇的代码来实现一个很简单的功能,有一点没有必要。我曾经试过同样的功能,用jquery去写,不到10行语句就完成了,可是js却用了足足一页多代码。到现在,你认为用框架开发效率块,我想说确实是这样的。

可是并不这样,如果一个稍微复杂的页面,用“框架”编写起来,却错洞百出,可能功能你很快你就开发出来了,但是后期你带来了大量的你都看不明白的语句,于是你投入了大量的时间来修复"bug",更有甚者,有时候因为功能实在不能修复,又把时间花在另外的插件上了。相反,你如果用原生js实现,你更会得心应手,因为是你一步步搭建起来的代码结构,你对此很了解,那里有问题,查找起来很快。并且这是一个很享受的工程。因为修改自己代码远比修改别人代码来的容易。

得出的结论就是,那种开发模式效率高一点还是要根据实际情况来说。并非框架开发一定块。

灵活性

前面说过,需求是千变万化的,你段不可能找到一个万能的“插件”,所以今天一个页面是这样,你用的插件还能应付,可是明天你的产品经理过来了,随意更改一下页面的ui,你现在变得没辙了,于是你绞尽脑汁,怎么去修“bug”,或者去找插件。相反你用js,就会是另外一番风景,可能刚开始写的时候有一点难度,并且可能拖慢一下工作节奏,这时你可能需要通过加班来弥补自己脱下进度了。随着你写得越多,你理解得越透彻,原来也就那么回事,后期你可能更愿意用js来写了。你再也不怕产品经理更改了ui了,因为你可以完全控制了。所以原生js开发更灵活。

思维的固化

曾经看过一个妹子用jquery来写页面,她拿到页面从来都是上来就是在html中引入jquery,页面很快就写好了,并且交互功能也是正常的。她很喜欢这种工作状态,因为很快页面就可以交互了。但是并非时时如此,比如有一次需要实现一个页面中定点滚动导航描点的功能,这样一个功能,我看她用了jquer的$("element").offset().top等获取相关属性,但是她实现起来总存在bug,我那时给他的建议是用js实现,他仿佛很陌生一样,对js开放的一些接口很陌生,并不知道怎么用。后来我才知道,她只会用jquery,并不擅长用js。在他的脑海里,仿佛什么都要用jquery一样,所以她的思维固定了。当然了,把这个当成框架开发和js开发的对比,并不存在可探讨性和可比性,我想表达的是目前业界一些同事存在解决需求的而僵硬地学一个框架的一种状态,这样并不好,容易固定你的思维!

管理性

常常为了实现一个简单的功能,却动用了一个文件大小相对很大的插件,你会发现,页面实现几个功能,然后就找了几个插件,这里文件多了很难管理,并且对服务器压力也很大。采用js,我们完全可以给所需要的功能写在一个文件里面,从而便于维护。

对自己的理解能力有进一步提升

我相信这是最主要的一点 了,因为你想一下,所有再伟大的插件,他本身是js。就好比,你放着锅里食物不要,却眼看着很远地方别人手里的食物。我说这个的出发点,就是掌握js是你更好的掌握其他插件的基础,如果你是一个js很厉害的人,我相信用别人的插件只不过需要看下他的api而已。并且由此能锻炼我们透过本质看现象的能力。毕竟写原生的js写多了,你就会喜欢它里面的一些语法奥妙,进而锻炼自己的思维延展性,逻辑思维更上一层楼。

当然了,说了这么多,是不是原生js一定很好呢!我并非反对用框架。其实也不然啊,只是要具体问题具体分析的。还是要看项目需求和时间安排,因为别人的东西已经很成熟了。是经过前人实际实战考察过的,合适的时候用起来还是有很大价值的,这篇文件我主要想记录一下前端开发学习过程中,还是最开始了解一下js、熟悉它内部实现。对于你的理解能力、学习能力,我相信会有一个质的提升。其实我最开始也挺喜欢用框架的,只是现在回想起来,觉得好“老实”,因为常常页面架构变了,我就不知道怎么做了。久而久之,我变得很怕面对发需求的那个人,还好,那时花了一点时间认真学习js,我的目的只是想掌握js本质,并不想很被动的去做事。

我相信每个人的理解不一样,或者更多的同仁有不同的高见,愿意学习!

持续更新………………