為什麼無程式碼畫畫圖就能快速開發的工具軟體註定要失敗 - 世界架構師

banq發表於2019-05-30

每隔幾年,人們都希望有一個簡單的圖形介面畫畫圖就能開發會取代開發團隊,業務專家可以快速輕鬆地建立出精美的有創意的表達方式,並將其無縫地投入生產,總有少數初創公司會接受這一挑戰,而且他們大多都會失敗。

為什麼人們不斷嘗試將生命注入一個明顯註定要失敗的解決方案是一個有趣的問題,但一個更有用的問題是它註定要失敗的原因,以及有哪些替代方案?

人們不斷嘗試建立畫畫驅動開發工具的原因有2個組成部分:

1. 首先,作為一名軟體工程師,您將學會以某種視覺表現形式繪製您的想法;然後,必須將這些簡單的流程圖,UML圖或高保真模型轉換為計算機可以解釋的程式碼。在設計階段,過程感覺非常順利,如果只有實際的編碼可能是無摩擦的,您可以在相對較短的時間內搞清楚您的想法併產生很多價值。

2. 第二個原因是與開發人員合作可能令人沮喪。業務專家或產品經理經常不得不在“系統”可以做什麼和不能做什麼方面與程式設計師發生無休止的爭論,或者由於一些無法預料的技術難題而不能滿足需求,併成為專案達到最後期限為什麼沒有完成的藉口。

這兩個原因動機相遇時,一個商業理念誕生了:“讓我們建立一個工具,使構建軟體像繪製流程圖一樣簡單!”

乍一看,這個想法很有價值。有足夠多的任務示例過去非常難,但今天很簡單,比如是建立網站的任務。12年前,建立和託管網站是一項嚴峻的工作,耗資數千人,需要許多專家。即使是小的文字更改也需要花費數週時間,而且成本很高。今天,您可以在幾分鐘內建立一個設計精美的網站。如果您擅長使用電子表格軟體,那麼如果您熟練使用電子表格軟體,這將成為大多數入門級辦公室工作的必要條件。

如果這種趨勢成立,而且看起來確實如此,即使是普通高中的孩子也應該能夠使用簡單的“點選和拖動”介面構建下一個Netflix。

這是建立低程式碼平臺的承諾
這些軟體平臺大多數都是從一些簡單的基於流程圖的介面開始的,它允許您將資料流或使用者互動串聯在一起。表示資料來源的小塊可以放到畫布上並連線到軟體。然後,理論上,您只需按一個按鈕即可生成應用,報告或工具。看它就行了!

這讓客戶興奮不已,準備開始用業務分析師替換所有昂貴的軟體工程師,他們是業務流程圖專家。

然而,有兩個缺失的部分被方便地遺漏或忽略:第一個忽視了特別具體情況,您的低程式碼提供商要麼通知您他們的工具不是針對您的特定用例,要麼您被告知您必須使用他們非常友好的指令碼語言自己構建自定義功能;另一個缺失的事實是視覺圖是實際解決方案的粗略簡化,它忽略了可能出錯的事情或用簡單線條捕獲的所有細節。這些細節需要以準確和明確的方式清楚地表達出來。

突然之間,你發現自己正在尋找精通你所購買的特定低程式碼平臺的程式設計師,這是一項非常艱鉅的任務。

現實情況是,無論何時構建具有任何級別的自定義功能的軟體,您將需要能夠輕鬆編寫程式碼的人。這些人更容易在程式碼中編寫程式碼,而不是在編碼時將某些圖片混合程式碼中。這就是為什麼低程式碼必然會失敗的原因,當您需要在不適合現有工具的域中建立某些東西時,您已經進入了最終需要完成程式設計的域,並且在該域中,您需要一個程式語言,而不是繪圖工具。

有什麼選擇?
自計算機時代開始以來,我們看到了與計算機通訊方式的穩步發展,從印表機上編寫的二進位制程式到Python,Elixer和Rust等現代程式語言的爆炸式增長。正在發生的事情是語言本身變得越來越具有表現力和抽象性。這意味著一個想法和你需要編寫的程式碼之間的距離在縮小,你需要越來越少的程式碼來表達這些想法。

程式設計,編碼或軟體工程現在仍然是清晰,完整地表達複雜思想的藝術。首先,提出這些想法,其次,這個表達方式,使得軟體專案難以估計並且通常很難完成。

相關文章