低代碼是什麼

blank

低代碼是什麼

低代碼開發平臺最近好像挺熱啊,聽說微軟Google都入局了,資本如今也熱捧。 百度指數瞭解了一下,關聯度最高的那幾個國內的產品不少是存在了好多年,更有甚者xx網表差不多是上一個世紀的老產品了,也來蹭一下熱度。 那麼,低代碼到底是什麼玩意? 是新鮮事物嗎? 為啥上個世紀的老產品也湊一份熱鬧? 我們一起去看看。

低代碼平臺,洋文稱Low Code Development Platform,注意了,這個Low可不是你想的那個Low,不是低級的意思,而是少量、簡易的DSL代碼甚至是無代碼的意思。

為什麼能夠是更少量甚至是無代碼呢? 開發者們想想自己是怎麼減少重複代碼的就會明白了。 我拿自定義表單的場景作為例子,從演化的路徑上來看,是這樣的:

  • 一開始,在一個應用里實現了一個自定義表單的功能,做新應用的時候,也需要這個功能,我們會把原來的代碼複製一份,然後簡單改一些樣式或變數,搞定。
  • 然後,越來越多的應用需要自定義表單的功能了,我們把那砣代碼抽象成一個函數庫,每次需要的時候只需要引用函數庫,給不同的參數就好了,省了代碼複製不說,一下子就提升了代碼的可維護性,這時,代碼就開始變少了。
  • 再後來,我們嫌引用函數庫還麻煩了,我們把這個功能做成了一個獨立應用或微服務,提供一系列常見的表單範本,使用的時候,在這個應用裡面選一個範本,稍配置一下,然後複製一個連結到目標應用上粘貼一下就能用了。 這個時候,自定義表單變成了一個Saas服務,目標應用中要實現自定義表單的功能已經不需要編寫代碼了。 至此,這個自定義表單服務就是一個低代碼應用了。

所以,低代碼的本質就是應用場景的極致抽象並且範本化的過程。 實際上,我們以前看到的低代碼產品多了去了,只是那個時候還沒有低代碼這個概念罷了。 下面我給你說說:

  • 上面舉的自定義表單例子,你可能有意無意間接觸過了,例如金數據,就是對表單收集這個場景進行了極致的抽象,形成一套固定的表單設計套路,並且讓表單的開發可以通過可視化配置來完成。 順帶說一句,金數據的創始人現在就在二次創業,做的正是低代碼開發平臺。 所以,你懂的了。
  • 早年的DreamWave、FrontPage,現在的RapidWeaver等可視化網頁製作軟體、大量的在線可視化網站拖拉拽建站應用,就是網頁製作場景的低代碼平發平臺。
  • BAAS,Backend As A Service,後端服務平臺,直接讓開發者省掉了後端的開發工作,也是一種典型的低代碼開發平臺,例如微信小程式的雲開發平臺、知曉雲、Lean Cloud等。
  • 眾多的移動應用、小程式可視化製作平臺,提供大量的場景範本,簡單調整一下參數就可以得到一個自己的應用。

以上這些應用場景的本質都是低代碼或零代碼,但為什麼低代碼平臺的概念在這幾年才興起? 我猜想,是應用的場景覆蓋得更廣、涉及開發的環節更完整導致了平臺化的出現

  1. 應用的場景覆蓋得更廣了,之前的低代碼應用,只能夠滿足相對窄的應用場景,如建站、表單、BAAS,但到了後面,抽象層次往下降一層,允許定義數據結構、定義介面和流程,能夠解決更多通用的場景了,就自然而然有了平台的感覺。
  2. 涉及開發的環節更完整了,以前的建站,純粹是前端頁面的拼湊,而BAAS,也只是解決後端的問題,而到了後來的小程式可視化製作時,就把前後端的開發都囊括進去了,幾乎就不需要代碼開發了,又自然而然有開發平臺的即視感了。

再看看微軟和Google的低代碼平臺,都是解決相對通用場景、涵蓋前後端開發環節的形態,就更加印證了我的猜想。

不對呀,上面說到了通用場景,但同時也說了低代碼的本質是場景的抽象並且範本化,通用和範本化不矛盾嗎? 這裡就要說低代碼平臺的限制了,所謂的通用場景也只能是相對通用,可範本化的,於是就有了範本化的通用場景,即這個通用場景是受限的,不是完全的通用。 所以,現在大多數的低代碼平臺都是面向企業,做企業應用的。 因為企業應用,是一個可以範本化的垂直通用場景,例如明道雲、簡道雲、氚(就衝著這個字我不懂寫不懂拼,必然會沒落)雲等等,都是服務企業使用者。

最後,低代碼並非零代碼,儘管市面上有不少零代碼的應用平臺打著低代碼的旗號吸引關注。 代低碼平臺的底層邏輯還是一個開發平臺,需要對個人化的需求開放實現途徑,如何開放? 開放介面? 二次開發? 還是開放DSL? 不一而足。 如果一個平台沒有支援個人化需求的開發能力,那它不算是一個及格的低代碼開發平臺,充其量只是低代碼應用罷了。

好了,現在你已經知道什麼是低代碼了,往後,我會帶大家一起實現一些低代碼開發的場景,並對低代碼的商業化進行深度的思考,例如誰會為低代碼平臺買單、低代碼平臺到底是專業平臺還是小白應用等等。 如果感興趣,請關注。

What do you think?

Written by marketer

blank

什麼是零代碼? 無代碼和低代碼開發平臺該如何抉擇?

blank

簡述國內幾大無代碼開發平臺