簡體   English   中英

Javascript:我們應該在什么時候使用庫?

[英]Javascript: At what point (if ever) should we use libraries?

在SO上也提出了類似的問題,但我找不到這個問題。 如果我錯了,我敢肯定,民警將糾正我;)

我的問題很簡單(看似): 在什么時候使用JavaScript庫?

許多開發人員主張僅使用純Javascript。 似乎大多數開發人員都確實使用某些庫。 我不是(有必要)詢問特定的庫,但是您決定在什么時候使用庫甚至框架?

例如:

如果我想顯示一個倒數計時器,包括計時器和DOM操作庫肯定是浪費的,因為Java語言完全可以簡單地處理這些操作。

如果我要構建一個大型的社交媒體平台(例如Facebook),那么至少包括跨瀏覽器UI一致性的JQuery,DOM操作,也許是Ajax等肯定是明智的。

然后

也許我們可以看看其他一些東西-MVC框架,模板庫等...

我知道很多人也建議僅從庫中拉出您實際使用的零件。

所以

關於何時(或如何)包含庫的任何一般性建議?

恕我直言,當您花費更多的時間來實現移動部件而不是應用程序本身時,就該開始使用庫了

通常,您應該在感到滿意的情況下使用庫。 如果您使用jQuery或Mootools,並從例如Google Hosted Libraries( https://developers.google.com/speed/libraries/ )或其他CDN中包含它們,則文件本身幾乎總是會被緩存,或者從超過30天有效期的高速CDN。 雖然當然可以在不使用任何庫的情況下實現簡單的問題,但該庫的目的是使您作為開發人員的生活變得輕松。 如果使用不會降低站點速度或使服務器承受壓力的庫使您的生活變得更輕松,則請務必使其變得更輕松。

作為建議,我將這個問題反過來:始終使用一個庫,除非您可以像沒有它一樣簡單快速地實現所需的完整解決方案。

我認為對此沒有明確的答案,因此,如果問題已解決,也不會感到驚訝。 無論如何,我都會提出自己的看法。

您針對櫃台與社交媒體平台的例子太過虛構,以任何方式都不現實。 但是,即使這是一個合理的例子,我也會說應用程序的大小或復雜性(無論是感知的還是其他的)與您的決定關系不大。 實際上,我認為您正在制造一個很可能還沒有的問題。

不用考慮實現應用程序所需的工具,而是考慮要使用它實現的目標。 有人將這種業務邏輯稱為“業務邏輯”,隨便您怎么稱呼它,但是如果您花時間在思考工具而不是如何推向市場,那么您很可能會專注於錯誤的事情。 工具以及何時使用它們,永遠都不是您的主要關注點。

我認為這是您應該做的。 寫下兩行關於您的應用為何有意義以及為什么它存在的理由是正確的-不要提及任何工具! 將它們烘烤到幸運餅干中,幾天后將其打開。 如果您閱讀它仍然有意義,那么請弄清楚最小功能集是什么–不要提及任何工具! 幾天后再看一次,仍然有意義嗎? 優秀的! 現在建立一個原型-不在乎要使用什么工具,只要用任何可行的方法來證明您的想法即可。 向其他人展示,這是有用的演示嗎? 是? 棒極了,您有一個項目!

不管是您自己的純JavaScript腳本,被庫污染還是完全不同的環境,這都無關緊要。 這些工具並不重要。 重要的是您要實現的目標以及如何實現目標。 這些工具是外圍的,輔助的。 它們是您到達目的地所需要的任何東西。 如果那意味着要使用提供運動部件的庫來使您的應用程序滾動起來–很好! 如果這意味着通過JavaScript使用coffeescript –很好! 最后,真正重要的是您要實現的目標,而實現目標所用的工具永遠不是主要問題。

繼續進行計算。 在正確之前,您可能會多次出錯,這就是Cookie崩潰的方式。


您可能還會發現此視頻很有用。 這是關於干凈架構的討論,盡管主要是關於注重工具如何幫助構建更好的產品的回顧,這很可能是您想做的。

https://vimeo.com/43612849

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM