![](/img/trans.png)
[英]What are the Advantages and Disadvantages of JQuery and Glow JavaScript Libraries?
[英]What advantages does jQuery have over other JavaScript libraries?
我試圖說服那些在我現在的組織中設定標准的人,我們應該使用jQuery而不是Prototype和/或YUI。 我可以用什么令人信服的優勢來說服他們?
jQuery的3個主要優點是:
我想說我使用JQuery的主要原因是:
在我看來,曾經簡單地嘗試過Prototype,然后嘗試並喜歡jQuery:jQuery API感覺更清潔,深思熟慮。 jQuery的創建者/架構師John Resig非常了解他的東西,它在jQuery的設計中展示,以及他所參與的各種其他令人印象深刻的JavaScript項目。
查詢和可鏈接性的整個概念非常適合DOM操作,這似乎是人們使用JS庫的主要原因。 在線文檔太棒了。 表現似乎也很好。 鑒於它的功能,整個庫適合相對較小的包。 插件架構對於可擴展性也非常好。
我老實說沒有嘗試YUI,所以我不能對此發表評論。 我知道它總共是一個相當龐大的庫,但你可以選擇只下載/使用它的特定模塊。
這是你會發現的最精心設計的語言 - 它幾乎是直觀的。
想要一個元素的寬度?
$('#something').width();
想要抓住一個元素,隱藏它,改變它的背景顏色並將其淡入?
$('#something').hide().css('background', 'red').fadeIn();
如何為IE表條帶化(假設定義了hover
類)?
$('table tr').hover(function() {
$(this).addClass('hover');
});
像這樣的快速,無意識的工作真的有助於銷售jQuery。
這是一個比上面提供的更新的速度測試。 上次我運行它的時候,最好的是jQuery,Mootools,Prototype,最后是YUI。 注意我在Firefox 3中運行它並且瀏覽器之間的速度不同,所以請自己測試一下。
jQuery的一個優點是開發了大量插件的大型社區。
它非常小,特別是在縮小時,並且在核心庫中提供了很多。
它也很容易擴展,並擁有一個活躍的社區。
贊成的一個論點是:
人氣+可擴展性
1)如果有人需要用JavaScript做X,那可能是用jQuery完成的
2)如果已經做了很多,可能有一個插件,如果不是原生支持
如果它真的很獨特,有很多人可以在SO或其他地方回答你的問題。
您可以通過此鏈接了解有關jQuery的更多信息,使用它的原因以及它的優點。
根據經驗,每個都有自己的優點和缺點,在您的應用程序中具有非常特定的作用。 做出全球決定可能不是最合適的方法。 制定手頭的具體任務,分析績效,膨脹,經驗等,然后做出具體的決定/建議。
好...
首先,您應該考慮為什么您認為jQuery是好的,但您不知道用什么參數來說服另一個人。 也許你應該首先說服自己。 ;)
無論如何,jQuery只是另一個框架。 你應該用它最擅長的。 如果你只是為了基本的DOM處理而使用它,那就算了吧! 學習如何正確使用js,你會沒事的!
考慮這個HTML:
<body>
<div style="width: 400px; height: 400px; background-color: red">
<div style="width: 400px; height: 400px; background-color: red">
</div>
<script type="text/javascript">
function test1 (){
document.body.innerHTML = ""
var div = document.createElement("div");
document.body.appendChild(div);
$(div).width("400px").height("400px").css("background-color", "red");
}
function test2 (){
document.body.innerHTML = ""
var div = document.createElement("div");
document.body.appendChild(div);
$(div).width("400px");
$(div).height("400px");
$(div).css("background-color", "red");
}
function test3 (){
document.body.innerHTML = ""
var div = document.createElement("div");
document.body.appendChild(div);
div.style.width = "400px";
div.style.height= "400px";
div.style.backgroundColor = "red";
}
function test4 (){
document.body.innerHTML = ""
var div = document.createElement("div");
document.body.appendChild(div);
div.setAttribute("style", "width: 400px; height: 400px; background-color: red");
}
</script>
</body>
將它放在hml文件中,並在<head>
提供jquery
然后,打開firebug並運行以下代碼:console.profile(); TEST1(); console.profileEnd();
console.profile();
test2();
console.profileEnd();
console.profile();
test3();
console.profileEnd();
console.profile();
test4();
console.profileEnd();
看你自己的結果!
但是如果你想在DOM上做一些復雜的操作,需要你做幾個循環或者發現DOM上的元素符合某些標准,你可以考慮使用jQuery,因為它會為你實現這個過程。
無論如何,請記住,沒有比使用您保存在代碼中的引用來控制DOM更好的了。 它更快,更易讀。 谷歌“js最佳實踐”。
我使用jQuery來處理復雜的事情,它需要我很長時間才能實現,最終會得到類似jQuery代碼的東西。 在這種情況下,使用它是有道理的!
玩得開心!
我已經使用jQuery幾個月了,並且發現它是一種愉快的體驗。 該框架清晰簡潔,它有一個很棒的插件架構,並得到很好的支持,但框架是一個非常私人的東西,你應該嘗試一些通常不需要很長時間才能找到最適合你的那個。
不確定這對你是否重要但微軟最近在VS 2008的下次更新中宣布支持jQuery 這是博客文章 。
你可以聽到jQuery背后的John Resig,在最近的Boagworld播客上討論它的各種其他框架。 它可能會幫助你決定一個非常平衡的部分。
我是Prototype的人,但我使用了jQuery。 老實說,我不認為兩者之間可以作為“賣點”使用。 另一方面,YUI非常臃腫。 我永遠不會在任何商業級應用程序上使用它。
我發現這個頁面談到了這個確切的主題。
也許你不應該? 這完全取決於您正在構建的應用程序類型。 如果您正在構建GUI密集型應用程序,比如Yahoo! 郵件,那么也許你應該考慮使用YUI或Mootools而不是jquery。 就個人而言,我是一個巨大的jQuery粉絲,但它絕對是最好的添加一個交互的大多數靜態UI。 另一方面,如果你正在使用它,那么jquery更簡單,語法更好,並且它有很多動力。
它有一套很好的插件,編碼風格不引人注目,這意味着它不會太難更換。 對於名為jRails的Ruby on Rails助手,還有一個很好的替代品。
性能方面他們都非常接近: http : //www.kenzomedia.com/speedtest/但是,MooTools,dojo,ext和Prototype在我的環境中都運行得更快。
我的問題是 - 你為什么要使用它? 是因為你更了解它嗎?
Jquery已經存在了幾年,所以像其他人一樣,它有一個很深的社區,很多插件和不錯的支持。 暫且不談的是它很容易學習。
如果您試圖從業務角度說服人們,微軟最近決定使用Visual Studio發布jQuery可能有助於建立一些額外的可信度。 然后,這可能會傷害你的事業,這取決於他們對微軟的看法。
你為什么不創建快速比較?
執行一項任務,例如“查找包含類foo圖像的所有div或表,並為每個div附加一個click事件,使它們擴展50%。” 或者與你正在做的事情更相關的事情。
然后使用jQuery,Prototype等進行編碼,並進行比較。 哪個更短? 更容易閱讀? 跑得快? (你可以在這里找到速度比較。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.