作者從還沒有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,並且確定是很成熟的產品,不然都應該仔細考慮功能自己撰寫的可能性。
忍一時快感,造就長期健康的產品啊!