基於流程的編程(FBP):70年代概念的現代復興
>
基於流程的編程(FBP)是源自1970年代的概念,正在技術界重新崛起。 其視覺直觀的程序流程方法為面向對象的編程提供了令人信服的替代方案,有望提高代碼清晰度和靈活性。
由Henri Bergius和Forrest Oliphant開發的FBP景觀的關鍵參與者 最初會遇到開發人員懷疑主義,但FBP的優勢變得越來越明顯。 它固有的模塊化和可重複性,清晰的數據流可視化以及對並發執行的支持提供了重大好處。 但是,對於習慣傳統控制流範式的程序員來說,學習曲線可能很陡峭。
自成立以來,莫里森的FBP系統在軟件開髮圈中引起了有限的關注。 然而,FBP悄悄地在視覺效果,電影製作,人工智能和業餘愛好者編程等各個領域中找到了應用。
>>視覺代表程序流並遠離嚴格面向對象的結構的吸引力指向更易於理解和靈活的代碼。 問題仍然存在:為什麼FBP的廣泛採用速度很慢?
> FlowHub網絡的出現,尤其是JavaScript的Noflo,提供了潛在的答案。探索noflo
在成功的Kickstarter廣告系列的支持下,Henri Bergius和Forrest Oliphant的Noflo Project將自己與早期的FBP樣系統(例如,Yahoo Pipes,Quartz Composer)區分開來:
“這就是建築軟件;這是您可以在自己的體重崩潰之前可以架設多少腳手架……您從事它工作的人無關緊要……軟件開發項目可以進行一定在您增加一個人的位置,與該人交流的能量實際上大於他們對項目的淨貢獻,因此它會減慢。” - 史蒂夫·喬布斯
NOFLO組件處理多種輸入(HTTP請求,API等)和輸出(數據庫等),挑戰了常規編程邏輯的順序性質,尤其是在具有廣泛I/O和數據源的現代接口中相關的。 🎜> 可以理解的是,向FBP邁出的轉變引起了開發人員之間的關注。 由於設計師和產品經理可以使用簡化的組件連接而導致的工作位移的恐懼是有效的。 但是,FBP的靈活性可能超過潛在的缺點。 關於自定義組件開發,與現有代碼的集成以及潛在的UI限制有關的問題。 實用的示例
>讓我們探索NOFLO的FBP接口。 註冊(需要GitHub帳戶)後,您可以部署到存儲庫。 界面可能會根據您的計劃的運行時間而有所不同:
地圖有助於復雜網絡中的導航。 縮放是直觀的。
接口導航很簡單(點擊式拖拉)。 搜索欄列出了預構建的組件(CSS,數據庫調用,數學功能等)。 通過文本編輯器接口可以進行自定義組件的創建和測試:
最終想法
一旦克服了初始學習曲線,FBP的視覺性質就會提供獨特的自由。 對於復雜的項目,邏輯流的視覺表示變得更加有價值。 協作方麵類似於草圖或偽代碼,在編碼之前提供了清晰的概述。 這表明未來的文本較少,視覺編程更少。>實驗NOFLO的代碼或瀏覽器接口(GitHub登錄後)。
(省略了常見問題部分,因為它在很大程度上以更簡潔和引人入勝的方式重複了信息。)
以上是與NOFLO的基於流程的編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!