成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

jQuery開發者:你真的需要一個插件嗎?

開發 開發工具 前端
jQuery的插件提供了一個很好的方法,節省了時間和簡化了開發,避免程序員從頭開始編寫每個組件,但對于開發者來說,在編寫程序之前,首先是要弄清楚究竟你是否需要一個插件,如果不需要,既可以節省文件大小,又可以節省自己的時間。

jQuery的插件提供了一個很好的方法,節省了時間和簡化了開發,避免程序員從頭開始編寫每個組件。但是,插件也將一個不穩定因素引入代碼中。一個好的插件節省了無數的開發時間,一個質量不好的插件會導致修復錯誤的時間比實際從頭 開始編寫組件的時間還長。

關于jQuery,51CTO推薦專題:jQuery從入門到精通

幸運的是,人們通常具有各種不同的插件可供選擇。但是,即使你只用一個,也要弄清楚它是否值得使用的。永遠不要在你的代碼庫中引入錯誤的代碼。

你需要一個插件嗎?

首先是要弄清楚究竟你是否需要一個插件。如果不需要,既可以節省文件大小,又可以節省自己的時間。

1.自己寫是不是更好?

如果功能很簡單,就自己寫。jQuery的插件經常會捆綁各種功能,這可能矯枉過正。在這種情況下,手寫任何簡單的功能往往更有意義。當然,要對所涉及的工作量有所衡量。

舉例來說,如果你需要更先進的功能,jQuery UI的手風琴是很好的選擇。但如果你只需要打開和關閉面板。如果你還沒有在你的網站上使用jQuery UI上,考慮jQuery的 slideToggle()或animate()。

2.是不是你已經在使用一個類似的插件?

在發現某個插件不能解決你需要的一切,尋找另一個插件來彌補,十分有誘惑。但在同一個應用程式包括兩個類似的插件,肯定是一個臃腫的JavaScript。你能找到一個插件,包括你所有的需求么?如果沒有,你能擴展其中一個插件達到你所需要涵蓋的一切嗎?同樣,在決定是否擴展一個插件,權衡的是好處和開發時間。

舉例來說,jQuery的燈箱是在畫廊里顯示彈出的照片很好的方法, simpleModal是個很棒的方法向用戶顯示模式信息。但是,為什么這兩種方式你的網站都使用?你可以輕松地擴展一個覆蓋這兩種需求。更好的是,找到一個插件,它涵蓋一切,諸如Colorbox。

3.需要JavaScript?

在某些情況下,JavaScript是沒有必要的。CSS的偽選擇器,例如:hover和CSS3 transitios功能,可以涵蓋各種動態效果,速度遠遠超過了JavaScript的解決方案。此外,許多插件只提供樣式;感覺用markup和CSS的可能更好些。

如果你需要展示動態內容,要求有條件的提示,jQuery Tooltip是必不可少的。但是,如果你需要提示的地方只有幾個,***是用純CSS(見本例)。靜態提示信息,你可以更進一步利用CSS3過渡進行動畫效果,但不要忘記在該動畫將只在某些瀏覽器有效。

當審查任何插件,一系列的警告標志表明了這款插件的質量較差。在這里,我們將看看插件的方方面面,從JavaScript到CSS到mark-up。我們甚至會考慮如何發布插件。插件中出現任何警告都會將你的插件排除在考慮之外。如果你很幸運,有多個插件供選擇,這些警告條例可以幫助你縮小選擇。但是,即使只有一個選擇,如果你看到太多的警示還是放棄的好。可以提前減少自己的頭痛。

4.奇怪的選項或參數語法

在使用jQuery的時候,開發工程師關心的是函數如何接受參數。如果一個插件開發人員使用特殊的語法,有理由相信他們沒有太多的jQuery或JavaScript的編程經驗。
有些插件接受一個jQuery對象作為一個參數,但不允許鏈式使用該對象,例如,$.myPlugin( $('a') );,而不是$('a').myPlugin();這是一個很大的警告。

  1. jQuery代碼:  
  2. $('.my-selector').myPlugin({     
  3. opt1 : 75,     
  4. opt2 : 'asdf'    
  5. });    
  6.  
  7. $('.my-selector').myPlugin({  
  8. opt1 : 75,  
  9. opt2 : 'asdf'  
  10. });  
  11.  
  12. jQuery代碼:  
  13. $.myPlugin({     
  14. opt1 : 75,     
  15. opt2 : 'asdf'    
  16. }, $('.my-selector'));    
  17.  
  18. $.myPlugin({  
  19. opt1 : 75,  
  20. opt2 : 'asdf'  
  21. }, $('.my-selector')); 

5.很少或幾乎沒有文檔

沒有文檔,一個插件的使用就非常困難,因為這是尋找問題答案想到的***個地方。文件有各種格式,適當的文件是***的,但良好的代碼注釋可以一樣好。如果沒有文檔,或者僅僅是在博客發表的一個簡單例子,那么你可能要考慮其他選擇。良好的文檔表明該插件的作者關心你這樣的用戶。它還表明,他們已經研究過其他插件,知道好文檔的價值。

6.可憐的支持記錄

缺乏支持,表示發現問題時將難以得到幫助。更引人關注的是,它表明該插件有段時間沒更新了。軟件開源的一個好處是它吸引很多眼球,幫助你調試和改進。如果作者沒有談到這些人,該插件將不會更新。

你考慮的插件***一次更新是在什么時候?***一次回答留言是什么時候?雖然不是所有的插件都需要像jQuery plug-ins 這個網站一樣有個強有力的支持系統。警惕那些從來沒有更新的插件。

擁有歷史技術支持記錄,作者回應bug或者將強需求,是一個綠色標志。擁有一個支持論壇進一步表示這個插件有很好的支持,即使不是作者至少有論壇給你解決問題。

7.沒有壓縮版本

雖然事一個相當小的警示,如果插件的創建者并沒有根據源代碼提供一個壓縮版本,那么他們可能不會太關注表現。當然,你可以自己去壓縮,但這個警示不是討論浪費時間的問題:這暗示了插件可能包含更為嚴重的性能問題。

另一方面,提供壓縮,打包和gzipped版本下載是一個跡象。

8.需要奇怪的Mark-up

如果一個插件需要mark-up,那么這個mark-up應是高質量的。它應符合語義semantic sense而且足夠靈活。除了很爛的前端技術,奇怪的mark-up也會使集成變得更加困難。一個好的插件插入幾乎任何涵蓋了任何你常用mark-up;使用一個壞插件還不如去跳火圈。

在某些情況下,嚴格的mark-up是必要的,所以應該允許在一定范圍內的使用。基本上,更具體的功能,更具體的mark-up需要。完全靈活的mark-up是從任何自然下降jQuery的選擇是最簡單的集成。

#p#

9.過度使用CSS

許多的jQuery插件包括了CSS,css的質量和JavaScript重要是一樣的。過多的CSS肯定是一個壞標志。但什么是“過度”取決于插件的目的。注重顯示,如燈箱或UI插件,比簡單動畫驅動的插件要更多的CSS。良好的CSS樣式,讓程序更容易修改以適應你的主題風格。

10.沒有其他人使用它

jQuery的用戶數量龐大,最體面的插件將可能對某事有他們寫的,即使它是一個“50 jQuery [fill in the blank]”。比如你做了一個簡單的谷歌搜索插件,你搜索結果很少,你可能要考慮其他選擇,除非該插件是全新的,或者你會找個專業寫插件的工程師來修改它。

11.使用和觀察

測試插件***的方式是簡單地在服務器上運行,看看結果。首先,它是否破壞了一些規則?請務必看看JavaScript的代碼段。如果插件包括一個樣式表,看看每個網頁的布局和樣式上的錯誤。

此外,請問該插件的效果如何?如果它運行速度很慢或網頁載入相當滯后,還是考慮其他插件吧。

12.使用JSPerf進行績效考核

把你的插件展現效果提高到新的水平,使用JSPerf進行測試。Benchmarking會運行的一組操作多次,然后返回平均執行時間。JSPerf提供了一個簡單的方法來測試一個插件運行的速度有多快。這是挑選兩個幾乎相同插件的重要的方式來。

13.跨瀏覽器測試

如果一個插件有很多CSS,一定要在所有你希望支持的瀏覽器測試樣式。記住CSS可以來自外部樣式表和內部JavaScript。

即使插件沒有任何CSS,無論如何要在所有瀏覽器上檢查JavaScript錯誤(至少在你支持的IE瀏覽器的最早版本)。jQuery的核心已經處理了大多數跨瀏覽器問題,但插件往往使用一些的數量純JavaScript,這往往會打破舊瀏覽器的規則。

運行中的jsPerf 
運行中的jsPerf

14.單元測試

***,進一步考慮跨瀏覽器測試--單元測試。單元測試是測試組件插件的簡單方法,支持任何瀏覽器或平臺。如果該插件作者的下載包里已經包括了單元測試,可以打賭,這款插件能在所有跨瀏覽器和平臺上工作。不幸的是,極少數插件才包括單元測試數據,但這并不意味著你不能使用QUnit plug-in執行自己的單元測試。

用最小的設置,測試是否該插件的方法返回了預期結果。只要有一個測試失敗,不要在這個插件上浪費你的時間。在大多數情況下,執行單元測試有點浪費時間,但QUnit可以幫助你確定插件的質量。

QUnit運行單元測試的一個例子 
QUnit運行單元測試的一個例子

結論

當評估一個jQuery插件的質量,先評估代碼質量。JavaScript是否有優化、沒有錯誤?CSS是否已經調整并有效?mark-up的命名是否有語義,足夠靈活?這些問題都歸結為最重要的問題:這個插件很容易使用?

jQuery的核心進行了優化和錯誤檢查,支持它的不僅有核心團隊成員,還有整個jQuery社區。雖然用同樣的標準衡量jQuery插件不公平,但至少應該有一些相同的審查標準。

原文作者:Jon Raasch

原文鏈接:http://www.smashingmagazine.com/2010/08/26/jquery-plugin-checklist-should-you-use-that-jquery-plug-in/

【編輯推薦】

  1. jQuery讓開發者戀戀不舍的秘密
  2. jQuery***實踐:精妙的自定義事件
  3. jQuery四大天王:核心函數詳解
  4. jQuery中10個強大的遍歷函數
  5. 即刻提升jQuery性能的十個技巧
責任編輯:王曉東 來源: JavaEye
相關推薦

2010-11-19 09:16:38

2017-02-14 15:18:44

GoogleAndroid

2015-03-10 09:23:21

前端開發Sublime插件Sublime

2019-07-29 11:51:18

程序員設計軟件

2025-02-14 08:30:49

SpringJava開發

2020-04-17 14:25:22

Kubernetes應用程序軟件開發

2019-04-16 08:50:56

WebHTTP緩存

2018-05-14 11:24:20

Python開發者工具

2012-04-16 10:15:13

JQuery插件開發

2016-10-27 13:07:39

Vim插件開發者

2016-10-31 15:13:56

Vim

2014-06-18 09:55:29

iOS開發者學習Android

2013-10-25 09:58:54

開發者操作系統

2020-03-31 09:47:04

Vue開發代碼

2022-08-15 10:42:50

千兆網絡千兆光纖

2019-02-25 10:35:04

Vim插件編程語言

2020-10-16 15:06:59

開發技術方案

2012-06-20 15:01:25

iOS開發

2021-03-16 07:56:26

開發者入職技術

2013-03-11 11:20:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线免费观看 | 国产成人精品亚洲日本在线观看 | 久久久久久国产精品 | 亚洲精品成人av久久 | 久久国产精品一区 | 91精品国产91久久久久福利 | 欧美日韩国产一区二区三区 | 日本a视频| 日韩欧美黄色 | 国产视频一区在线 | 亚洲午夜一区二区 | 毛片的网址 | 91色视频在线观看 | 在线成人www免费观看视频 | 亚洲精品一 | 久久成人国产 | 99精品久久 | h视频在线观看免费 | 久久国产一区 | 黄色大片毛片 | 超碰导航| 亚洲草草视频 | 影视先锋av资源噜噜 | 久久9久 | 欧美一区二区三区视频在线观看 | 成人精品福利 | 欧美日韩在线高清 | 欧美在线视频二区 | 欧美一级在线观看 | 国家一级黄色片 | 精国产品一区二区三区四季综 | 日韩一区二区免费视频 | 欧美成人黄色小说 | 日韩精品在线看 | 亚洲一区二区国产 | 97超碰人人| 黄色网址在线播放 | 国产精品99久久久久久久vr | 国产一区二区三区四区hd | 色久伊人 | 91视频观看 |