目錄
>使藝術家,設計師,教育工作者和初學者都可以訪問編碼,並將其重新詮釋為當今的網絡
demos
分析
結論
>編寫您可能已經熟悉
>
我可以將processing.js或p5.js用於商業項目嗎?但是,最好檢查您在商業項目中使用的任何庫或工具的特定許可條款,以確保您處於合規性。我項目的JS?
processing.js和p5.js?
我可以將processing.js或p5.js與其他JavaScript庫或框架一起使用?
首頁 web前端 js教程 processing.js vs p5.js-有什麼區別?

processing.js vs p5.js-有什麼區別?

Feb 21, 2025 am 08:57 AM

processing.js vs p5.js-有什麼區別?

幾天前,P5.JS被釋放到野外。這是一個遵循處理學說的視覺編程的JavaScript庫。 根據這篇文章的

處理是一種環境/編程語言,旨在使視覺,交互式應用程序非常易於編寫。它可以用於從教孩子如何編碼到可視化科學數據的所有事物。 >

這是這樣的語言,部分落後於這樣的巫術:
>

和此:

,當然,您可以在這裡找到的所有東西。

>

但是,如果我們之前有processing.js,那是什麼p5.js? 鑰匙要點

p5.js是處理語言的直接JavaScript端口,旨在使藝術家,設計師,教育工作者和初學者可以訪問編碼,而processing.js是一個轉換器,將純處理代碼解釋為即時的JavaScript 。

p5.js可以使用添加庫來擴展,例如p5.dom.js,它添加​​了使用P5創建和操縱HTML元素的選項,將滑塊,按鈕,表單元素添加到您的草圖中。 > 在性能方面,processing.js似乎具有穩定的幀速率,並且在文本中嘗試的兩個演示中的性能都更好,保持穩定的幀速率約為58至60,而P5在繪製時,P5的穩定幀速率低至50閒置時最多可備份60

> P5.js正式得到處理基金會的正式支持,並配備了用於處理用戶的過渡手冊,但是Processing.js允許您學習處理和在其更快,更便攜式到非WEB環境的環境中使用它。
  • 什麼是p5.js?
  • p5.js是一個javaScript庫
  • >使藝術家,設計師,教育工作者和初學者都可以訪問編碼,並將其重新詮釋為當今的網絡

    processing.js vs p5.js-有什麼區別?>所以,聽起來像是在處理自己。但是它是什麼

    真正的

    放鬆,困惑的讀者,我們會做到的!首先,在這裡觀看他們驚人的熱情介紹,然後回來。

    >單擊了嗎?現在得到嗎?不?好的。讓我們分解。
    >

    processing.js和p5.js 之間的差異 tl; dr:p5是處理語言的直接JS端口。 processing.js是一個轉換器,將純處理代碼解釋為即時的JS。後者要求您學習處理,但不學習JS,反之亦然。

    >

    實時編譯與語言翻譯:processing.js是一個庫,它採用原始處理代碼(類似於Java,帶有類型和所有類型),並將其轉換為JavaScript。實際上,您在processing.js網站上在瀏覽器中看到的示例實際上是純處理代碼現場直播為JS。例如,這種轉換類似於使用DART2JS在沒有內置DART VM的瀏覽器中運行DART代碼時獲得的收益。另一方面,P5是處理為JS代碼的完整轉換 - 所有功能最終都將被翻譯,並且您將在JavaScript中寫作。

    在processing.js中,您需要使用帶有數據源的帆佈區域,該數據源導致PDE文件(帶有處理源代碼的文件)。也有其他方法,但簡而言之,僅此而已。在P5中,您直接編寫JS代碼,並且它像您在網站上包含的任何其他JS文件一樣被執行。

    擴展:另一個區別是可以使用插件庫擴展P5。例如,p5.dom.js庫添加添加了使用P5創建和操縱HTML元素的選項,將滑塊,按鈕,表單元素添加到您的草圖中,就像我們在鏈接到In的Hello視頻中所做的那樣上一節。

    請注意,在兩者中,只有P5正式得到處理基金會的正式支持,甚至還有用於處理用戶的過渡手冊。

    >

    demos

    >讓我們看看演示比較,以獲得完整的要點。我製作了一個github存儲庫,其中包含每種方法中編寫的相同演示的存儲庫。

    >
    <span>git clone https://github.com/Swader/processing</span>
    登入後複製
    登入後複製
    在處理文件夾中,您有兩個子文件夾:處理和P5。每個都包含Demo1和Demo2子目錄,其中包含index.html文件。這是您可以在瀏覽器中運行的內容並進行測試。第一個示例來自P5網站 - 一個不斷繪製的橢圓形,當鼠標單擊時變黑。

    請注意,processing.js使用AJAX請求(通過XHR)加載PDE文件,因此,如果您嘗試通過運行index.html將其在瀏覽器中打開,則將獲得交叉原始錯誤。為了使其正常運行,您可能應該設置一個虛擬服務器以訪問樣品。最好是通過在一個流浪盒中改進宅基地的實例 - 您將在五分鐘內啟動並運行。

    >

    p5.js

    在這種情況下,我們需要包含我們的草圖代碼的Sketch.js文件以及它運行的index.html文件。 Sketch.js代碼如下:

    >

    <span>function setup() {
    </span><span>  createCanvas(640, 480);
    </span><span>}
    </span><span>
    </span><span>function draw() {
    </span><span>  if (mouseIsPressed) {
    </span><span>    fill(0);
    </span><span>  } else {
    </span><span>    fill(255);
    </span><span>  }
    </span><span>  ellipse(mouseX, mouseY, 80, 80);
    </span><span>}</span>
    登入後複製
    登入後複製
    index.html文件僅包含以下內容:

    >

    <span><head>
    </span><span>  <script language="javascript" src="../p5.js"></script>
    </span><span>  <!-- uncomment lines below to include extra p5 libraries -->
    </span><span>    <!--<script language="javascript" src="../addons/p5.dom.js"></script>-->
    </span><span>  <!--<script language="javascript" src="../addons/p5.sound.js"></script>-->
    </span><span>  <script language="javascript" src="sketch.js"></script>
    </span><span></head>
    </span><span>
    </span><span><body>
    </span><span></body></span>
    登入後複製
    登入後複製
    > processing.js

    在此示例中,我們需要一個帶有處理代碼的PDE文件。在我們的情況下,這是sketch.pde,帶有以下P5翻譯代碼:

    然後,我們有我們的index.html文件:

    <span>git clone https://github.com/Swader/processing</span>
    登入後複製
    登入後複製

    分析

    乍一看,沒有明顯的差異。兩個樣本以大致相同的速度運行,表現良好,並且具有相似的語法。但是,如果您使用的是Google Chrome,然後轉到Chrome://標誌,然後激活幀速率計數器(請參見下圖),您會注意到processing.js canvas中的繪圖保持穩定的幀速率大約58至60,而繪畫時P5的低至50,閒置時返回60。另一個有趣的事實是,即使您的光標在帆佈區域外,處理始終都使用硬件加速度

    。另一方面,P5如果沒有更改畫布正在待處理(您的光標不在圖紙區域之外),則會停止渲染,因此在不繪製時減輕負載。

    演示2 processing.js vs p5.js-有什麼區別?

    >讓我們現在進行另一個演示 - 一種簡單的粒子效果。該粒子發射極將在隨機方向上產生重力敏感的顆粒,我們將再次查看幀速率。我們將使用(轉換為P5)的示例是此。

    >

    > processing.js

    sketch.pde的代碼是上面鏈接的示例的一個:

    >

    > p5

    <span>function setup() {
    </span><span>  createCanvas(640, 480);
    </span><span>}
    </span><span>
    </span><span>function draw() {
    </span><span>  if (mouseIsPressed) {
    </span><span>    fill(0);
    </span><span>  } else {
    </span><span>    fill(255);
    </span><span>  }
    </span><span>  ellipse(mouseX, mouseY, 80, 80);
    </span><span>}</span>
    登入後複製
    登入後複製
    從上述翻譯時的P5代碼如下:

    分析

    >再次,我們看到processing.js的幀速率稍好。 P5將其保持在56左右,而processing.js似乎處於58左右的地面。在這兩種情況下,processing.js都證明了勝利,性能。
    <span><head>
    </span><span>  <script language="javascript" src="../p5.js"></script>
    </span><span>  <!-- uncomment lines below to include extra p5 libraries -->
    </span><span>    <!--<script language="javascript" src="../addons/p5.dom.js"></script>-->
    </span><span>  <!--<script language="javascript" src="../addons/p5.sound.js"></script>-->
    </span><span>  <script language="javascript" src="sketch.js"></script>
    </span><span></head>
    </span><span>
    </span><span><body>
    </span><span></body></span>
    登入後複製
    登入後複製
    >

    結論

    P5JS是一個年輕而雄心勃勃的項目,旨在以比處理更容易接近處理的方式將視覺編程帶入大眾。雖然目前正在被迫在某種程度上被愚弄,但該團隊努力工作將其餘的處理語言移植到此JS對應物中。 >

    使用P5而不是處理的優點。

    >編寫您可能已經熟悉

    的JS代碼

    由加工基金會正式支持

    使用DOM庫插件進行

    HTML DOM操縱 - 將常見的HTML元素添加到您的P5草圖和更多

    >
      不繪製
    • 時的資源上的較輕
    • 使用processing.js:
    • 的優點
    • >您可以學習處理,並可以在它更快,更便宜的環境的環境中使用它
    • >似乎具有穩定的幀速率,並且在兩個演示中都表現更好
    >我們將密切關注這個圖書館並定期進行遊戲。你會?讓我們知道,如果您提出一些有趣的例子,我們很想寫關於它們的!

    >

    經常詢問的問題(常見問題解答)

    > processing.js和p5.js?

    procesing.js和p5.js之間的主要區別是什麼JavaScript庫,用於創建網絡上的可視化,動畫和交互式內容。但是,它們有一些關鍵差異。 processing.js是用Java編寫的原始處理語言的端口,用於JavaScript。它旨在與現有的處理代碼兼容,這意味著它可以運行未修改的處理草圖。另一方面,P5.JS是對處理原理的新解釋,從頭開始為網絡設計。它具有更簡單,更類似JavaScript的語法,並且具有更現代的,更現代的網絡友好方法來處理媒體和互動性。

    >

    p5.js比processing.js更容易學習。 ,通常認為P5.js比processing.js更容易學習,尤其是對於初學者而言。這是因為P5.js具有更簡單,更直觀的語法,更接近標準JavaScript。它還具有更具用戶友好的方法來處理媒體和互動性,並具有鼠標和鍵盤輸入,圖像和聲音加載以及畫布繪圖之類的內置功能。此外,P5.js擁有一個非常活躍的社區和可用的大量學習資源,包括教程,示例和一個友好的論壇。

    我可以在同一項目中使用processing.js和p5.js嗎?在技​​術上可以同時使用processing.js和p5.js

    ,但通常不建議使用。這是因為兩個庫具有不同的語法和方法來處理媒體和互動性,這可能導致混亂和兼容性問題。相反,通常最好選擇一個庫並在項目期間堅持下去。 processing.js是其與現有處理代碼的兼容性。如果您有要在網絡上運行的處理草圖,則可以使用processing.js進行最小修改。此外,processing.js具有更傳統的類似Java的語法,某些程序員可能更熟悉。

    >

    >使用p5.js?與processing.js相比,有幾個優點。首先,它具有更簡單,更直觀的語法,它更接近標準的JavaScript,使學習和使用更容易。其次,它具有更現代的,更現代的網絡友好方法來處理媒體和交互性,並具有鼠標和鍵盤輸入,圖像和聲音加載以及畫布繪圖之類的內置功能。最後,P5.JS擁有一個非常活躍的社區和大量的學習資源,使其成為初學者和經驗豐富的程序員的絕佳選擇。

    >

    我可以將processing.js或p5.js用於商業項目嗎?但是,最好檢查您在商業項目中使用的任何庫或工具的特定許可條款,以確保您處於合規性。我項目的JS?

    processing.js和p5.js之間的選擇在很大程度上取決於您的特定需求和偏好。如果您有要在網絡上運行的現有處理代碼,或者您喜歡更傳統的類似Java的語法,則Processing.js可能是更好的選擇。另一方面,如果您從頭開始一個新項目,或者您喜歡更簡單,更像JavaScript的語法以及更現代,更現代的,對處理媒體和互動性的方法,那麼P5.js可能是更好的選擇。

    processing.js和p5.js?

    processing.js和p5.js之間是否有任何性能差異動畫順利。但是,任何JavaScript庫的性能都可以受到多種因素的影響,包括代碼的複雜性,運行代碼的設備的功能以及Web瀏覽器中JavaScript引擎的效率。因此,在各種設備和瀏覽器上測試您的代碼總是一個好主意,以確保最佳性能。

    >

    我可以將processing.js或p5.js與其他JavaScript庫或框架一起使用?

    是的,processing.js和p5.js均可與其他JavaScript庫或框架一起使用。但是,重要的是要了解潛在的兼容性問題並徹底測試您的代碼,以確保一切正常。 > processing.js和p5.js都有大量可用的學習資源。對於processing.js,您可以從具有教程,示例和參考指南的官方處理網站開始。對於P5.js,您可以從官方P5.JS網站開始,該網站上有教程,示例,參考指南和友好的論壇。此外,有許多在線教程,視頻和課程可用於兩個圖書館。

    >

    以上是processing.js vs p5.js-有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    熱門話題

    Java教學
    1653
    14
    CakePHP 教程
    1413
    52
    Laravel 教程
    1304
    25
    PHP教程
    1251
    29
    C# 教程
    1224
    24
    前端熱敏紙小票打印遇到亂碼問題怎麼辦? 前端熱敏紙小票打印遇到亂碼問題怎麼辦? Apr 04, 2025 pm 02:42 PM

    前端熱敏紙小票打印的常見問題與解決方案在前端開發中,小票打印是一個常見的需求。然而,很多開發者在實...

    神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

    JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

    誰得到更多的Python或JavaScript? 誰得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

    Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

    如何實現視差滾動和元素動畫效果,像資生堂官網那樣?
或者:
怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? 如何實現視差滾動和元素動畫效果,像資生堂官網那樣? 或者: 怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? Apr 04, 2025 pm 05:36 PM

    實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

    JavaScript難以學習嗎? JavaScript難以學習嗎? Apr 03, 2025 am 12:20 AM

    學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

    JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

    JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

    如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? 如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? Apr 04, 2025 pm 05:09 PM

    如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

    前端開發中如何實現類似 VSCode 的面板拖拽調整功能? 前端開發中如何實現類似 VSCode 的面板拖拽調整功能? Apr 04, 2025 pm 02:06 PM

    探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...

    See all articles