2014-03-25 70 views
1

我開始使用HTML5畫布的項目,我正在評估使用KineticJS,我只是新的canvas或kineticJS,所以我已經看到圖書館已經做了一些抽象「形狀「和海關對象,以幫助繪製成畫布,但我知道描述對圖書館不公平,所以我想知道使用圖書館或任何其他超過普通畫布的最重要價值,他們提供哪些功能,或者如果使用某個功能有什麼優勢?KineticJS VS普通畫布

我們discused到目前爲止,也許增加一個庫,我們將不得不面對庫和版本,bug修復,等等,等等

因爲我新我只是不想跳進conclustions,我希望在這裏有建議,我們的目標是實現良好的代碼實踐,同時我們也在研究開發人員/生產力關係。

編輯:

該項目的目標是繪製基本幾何形狀(圓形,矩形,線條),網格,並且還具有像做連接,管理事件,colision檢測,X和Y行爲形狀的位置,放大和縮小在二維畫布中也是必需的。

回答

2

當你考慮這兩個選項時,你已經考慮了每個目標的作用。 HTML5 Canvas是您可用的最低級別的繪圖庫,它有一項工作 - 爲您提供一張空白畫面和最基本的命令,使您能夠在該平板上繪製任何您需要的內容。畫布不記得你畫的是什麼,任何與它的交互都需要明確編程。

KineticJS旨在爲您提供實用程序和幫助功能,使您能夠更快速地提高生產力。除了允許您在空白板上畫圖外,它還關注對象狀態和事件處理。除了一大堆實用工具之外,它還允許您執行諸如拖放繪製對象和點擊時的點擊檢測等功能。

在KineticJS中沒有什麼是Canvas不可能做到的,但如果您對KineticJS提供的功能感興趣,則必須自己編寫大量代碼。

+0

感謝您的回答@DavidH,我已經更新了我的問題,並且提供了更多的上下文 –

+0

閱讀完編輯後,我認爲您正在尋找諸如事件和管理對象狀態只需要「即燃即用」的圖紙,您的項目在KineticJS上效率更高。 KineticJS也有其他選擇,您可能需要考慮和比較,如[Fabric.js](http://fabricjs.com/)和[Paper.js](http://paper.js/)。我對這些框架沒有太多的瞭解,這裏沒有提供正反兩面的格式,但我想你可能想看看它們。 – DavidH

+0

謝謝我欣賞這裏的幫助! –

0

爲了正確回答這個問題,我認爲你需要提供更多的上下文。你有什麼要求?你想解決什麼問題?這些問題的答案將決定最佳選擇。

DavidH是對的,但瞭解更多關於問題的背景將有助於回答問題。

編輯: 基於您的編輯,KineticJS聽起來是更好的選擇。也許還可以與其他人比較,如http://box2d-js.sourceforge.net/,但KineticJS可能已經涵蓋了您。

+1

的確,更多的信息需要,但你可能想在註釋部分,而不是答案部分:-) – markE

+1

我不張貼此「沒有足夠的噶發表評論。 : -/ – AndersW

+0

感謝AndersW! –