為什么很多國(guó)內(nèi)公司不使用jQuery等開源JS框架,而選擇自己開發(fā)JavaScript框架?
網(wǎng)友解答: 主要從兩方面考慮,一個(gè)是安全性,一個(gè)是可維護(hù)性。從安全性方面講,作為軟件公司,開發(fā)產(chǎn)品并提供給客戶使用,必須對(duì)客戶負(fù)責(zé),任何代碼上的瑕疵都可能影響產(chǎn)品的使用,jQuery作為
主要從兩方面考慮,一個(gè)是安全性,一個(gè)是可維護(hù)性。
從安全性方面講,作為軟件公司,開發(fā)產(chǎn)品并提供給客戶使用,必須對(duì)客戶負(fù)責(zé),任何代碼上的瑕疵都可能影響產(chǎn)品的使用,jQuery作為開源的第三方的工具集,難免有瑕疵,或者與自己項(xiàng)目功能以及邏輯代碼存在不兼容性,都有可能出現(xiàn)問題,當(dāng)出問題時(shí),如果能找出問題所在并修正那還好,找不出則后果非常嚴(yán)重,安全性是需要考慮的首要要素。
再?gòu)目删S護(hù)性方面講,一般都會(huì)有自己的業(yè)務(wù)特點(diǎn),業(yè)務(wù)邏輯的實(shí)現(xiàn)各不相同,作為軟件公司,其產(chǎn)品是需要長(zhǎng)期維護(hù)的,一般都會(huì)有自己的固定框架,這樣維護(hù)起來(lái)才順手。
再有,其實(shí)jQuery充其量只能應(yīng)付小型網(wǎng)站或個(gè)人網(wǎng)站,嚴(yán)格來(lái)講應(yīng)該算是工具集而不能算是框架,有點(diǎn)類似c語(yǔ)言中的stdio.h、stdlib.h這樣的角色,沒有軟件公司會(huì)把stdlib.h當(dāng)框架使用。
網(wǎng)友解答:jq算不上框架,算類庫(kù),只能說便捷的代替某些js原生操作以及擴(kuò)展了js的一些方法,讓js更易用。至于自己開發(fā)還是用現(xiàn)成框架,看成本了,你團(tuán)隊(duì)就一個(gè)程序員負(fù)責(zé)前端,開發(fā)個(gè)框架就別想了,老鼻子費(fèi)勁了,你項(xiàng)目要是有個(gè)前端團(tuán)隊(duì)10個(gè)程序員,搞個(gè)簡(jiǎn)單地框架也不算事。問題的本質(zhì)在于用jq和用其他框架不沖突,總之項(xiàng)目越大你就會(huì)越追求邏輯明了統(tǒng)一,就會(huì)發(fā)現(xiàn)沒有哪個(gè)框架是完美適用的,就會(huì)發(fā)現(xiàn)累贅很多。一個(gè)3kb的js引入和一個(gè)4kb的引入,在面對(duì)每秒上百萬(wàn)次請(qǐng)求的時(shí)候,就得做出選擇。其實(shí)我越來(lái)越發(fā)現(xiàn)jq是個(gè)累贅了,原生雖然寫起來(lái)略復(fù)雜,但是不用引入,出了問題好追逆,在新用戶發(fā)展的階段,流量開銷的壓力要小的多。當(dāng)然也可以引入公共jq,比如百度dns加速的或者新浪的,臥槽扯遠(yuǎn)了