也談"低代碼開發"
有段時間,「低代碼開發」成為一個熱詞,有很多大佬鼓吹,讓不明真相的群眾聽得一愣一愣的,以為軟體開發變得非常容易了。
Scratch和少兒程式設計班的流行,給很多人帶來了"程式設計=拼積木"的印象。
而我的體會是,低代碼開發僅僅降低了這個行業的入門門檻,但是對於大型軟體工程來說幾乎沒有什麼用處,甚至會降低效率。
比如我曾用過兩個MES開發平臺:Apriso Flexnet和PTC Thingworx。
我對Apriso Flexnet的最深印象是,用一整張A0紙列印出來的某個核心功能的引用邏輯。
Flexnet允許用圖形化的方式來定義引用關係、觸發條件,但是面對一個複雜的功能時,這些引用邏輯縱橫交錯,看圖定位會讓人抓狂。
Thingworx更為低代碼,我對它的定位是輕量級的工業物聯網應用開發平臺,它能夠以圖形化的方式對數據、事件、觸發條件進行映射,因此在開發輕量級的應用時非常方便。
但是在開發大型專案時會讓人抓狂,如下圖是某個功能的前端、後端引用關係:

下圖是某個核心函數的引用關係:

從右上角的進度條可以看出,此函數綁定的數據、函數實在太多了,你甚至很難保證綁定到了正確的位置。 在這種情況下,圖形化的方式反而降低了效率。