作者从还没有AJAX这个名词以来,也开发了不少用了大量Javascript和AJAX技术的Web Application,各式各样的AJAX Framework跟Library也多少有接触。针对一些专案型的开发,使用这些Framework跟Library是加速专案开发的好方式,许许多多看起来很炫的功能,都只要把Library include进来,然后call几下就完成了。
但是在需要长期维护、修改的产品型开发时,使用这些Javascript Library就常常会碰上一些问题,例如产品有了特殊需求,要做一些原本Library作不到的事情。或甚至其实Library是有这个功能,但是文档实在太难懂又太不齐全了。而有时候却是一个Bug解半天,最后发现是使用的Library的Bug。最后发现,使用Javascript Library其实是一个只有爽第一天很有成就感,但尔后每天充满怨恨的日子。真正很成熟、质量良好、文档齐全的Javascript Library真的是少之又少,而成熟、有弹性、功能丰富的Library多半又有一个大缺点,就是他们多半很肥…
因此作者个人在产品型的开发中,Web前端Javascript/AJAX部分用的Library几乎都会因为太常碰到以上所述的问题,最后都被我拿掉,换上自己的程序代码。而其实发现Javascript比较熟以后,我们需要的功能,绝大多数自己做起来都不会很麻烦。而且最大的优点在于可掌握性比较高,出了问题多半比较有把握知道大约多久可以解决。程序代码也多半会轻巧了非常多,而那些Library之所以会这么庞大,多半是因为随着时间演进,多少用户不断要求增加新功能,而渐渐让一个原本可能没这么复杂的功能,成为了一个庞杂的大怪物。因此除非确定是非常独立的模块,例如Rich Text Editor,并且确定是很成熟的产品,不然都应该仔细考虑功能自己编写的可能性。
忍一时快感,造就长期健康的产品啊!