搜尋
首頁web前端js教程與NOFLO的基於流程的編程

基於流程的編程(FBP):70年代概念的現代復興

> 基於流程的編程(FBP)是源自1970年代的概念,正在技術界重新崛起。 其視覺直觀的程序流程方法為面向對象的編程提供了令人信服的替代方案,有望提高代碼清晰度和靈活性。 由Henri Bergius和Forrest Oliphant開發的FBP景觀的關鍵參與者 Noflo脫穎而出。 它利用JSON進行圖形創建,採用開源框架,重要的是,UI本身不會生成代碼。 NOFLO組件動態適應了不同的輸入和輸出,增強了適應性。

最初會遇到開發人員懷疑主義,但FBP的優勢變得越來越明顯。 它固有的模塊化和可重複性,清晰的數據流可視化以及對並發執行的支持提供了重大好處。 但是,對於習慣傳統控制流範式的程序員來說,學習曲線可能很陡峭。

顯著的方面是在過去時代構想的工作流程的複興。 J. Paul Morrison的1970年代銀行系統是FBP的先驅,展示了視覺上代表複雜邏輯的力量,甚至可以訪問非技術用戶。 本文通過Noflo深入研究了FBP的核心原則及其現代實施。 了解FBP

的本質

自成立以來,莫里森的FBP系統在軟件開髮圈中引起了有限的關注。 然而,FBP悄悄地在視覺效果,電影製作,人工智能和業餘愛好者編程等各個領域中找到了應用。

>

>視覺代表程序流並遠離嚴格面向對象的結構的吸引力指向更易於理解和靈活的代碼。 問題仍然存在:為什麼FBP的廣泛採用速度很慢?

> FlowHub網絡的出現,尤其是JavaScript的Noflo,提供了潛在的答案。

探索noflo

在成功的Kickstarter廣告系列的支持下,Henri Bergius和Forrest Oliphant的Noflo Project將自己與早期的FBP樣系統(例如,Yahoo Pipes,Quartz Composer)區分開來:

    基於JSON的Graph Creation
  • >開源框架(儘管有封閉的託管基礎​​架構)。 >
  • UI代碼生成不存在。
  • 正在為各種語言(包括Java和Objective-c)開發
  • runtimes。
  • > 支持
  • 自定義組件創建和測試。
  • >

“這就是建築軟件;這是您可以在自己的體重崩潰之前可以架設多少腳手架……您從事它工作的人無關緊要……軟件開發項目可以進行一定在您增加一個人的位置,與該人交流的能量實際上大於他們對項目的淨貢獻,因此它會減慢。” - 史蒂夫·喬布斯

NOFLO組件處理多種輸入(HTTP請求,API等)和輸出(數據庫等),挑戰了常規編程邏輯的順序性質,尤其是在具有廣泛I/O和數據源的現代接口中相關的。 🎜> 可以理解的是,向FBP邁出的轉變引起了開發人員之間的關注。 由於設計師和產品經理可以使用簡化的組件連接而導致的工作位移的恐懼是有效的。 但是,FBP的靈活性可能超過潛在的缺點。 關於自定義組件開發,與現有代碼的集成以及潛在的UI限制有關的問題。 實用的示例

>讓我們探索NOFLO的FBP接口。 註冊(需要GitHub帳戶)後,您可以部署到存儲庫。 界面可能會根據您的計劃的運行時間而有所不同:

地圖有助於復雜網絡中的導航。 縮放是直觀的。

接口導航很簡單(點擊式拖拉)。 搜索欄列出了預構建的組件(CSS,數據庫調用,數學功能等)。 通過文本編輯器接口可以進行自定義組件的創建和測試:>

Flow Based Programming With NoFlo

最終想法

一旦克服了初始學習曲線,FBP的視覺性質就會提供獨特的自由。 對於復雜的項目,邏輯流的視覺表示變得更加有價值。 協作方麵類似於草圖或偽代碼,在編碼之前提供了清晰的概述。 這表明未來的文本較少,視覺編程更少。

>實驗NOFLO的代碼或瀏覽器接口(GitHub登錄後)。 >

(省略了常見問題部分,因為它在很大程度上以更簡潔和引人入勝的方式重複了信息。)

以上是與NOFLO的基於流程的編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

See all articles

熱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

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

熱門文章

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能