什麼是 Low-code?
Low-code (低程式碼開發) 是一種可以快速設計與開發軟體應用程式的方式,而且只需要最少的手動編碼,它使技術人員能夠更快、更可靠地提供與創造價值。在圖形界面中使用視覺化模組來組裝和配置應用程式,開發人員可以「跳過」所有基礎架構與一再執行這些讓他們停滯的步驟,直接進入設計應用程式中那 10% 最獨特的部分。
低程式碼在某些方面與製造汽車有異曲同工之妙:
這些在過去大部分是靠手工製造的過程現在都已經自動化了。
即使這些參與自動化過程的機器不能決定汽車的模樣,但他們確實加速了組裝與運輸的過程,發揮巨大的影響力。「低程式碼」之於「軟體」就如同「裝配線」之於「汽車」,兩者的手工製造過程都非常複雜且消耗很多時間,讓人們無法將時間與精力專注在更重要的事上。
所以,有一個明確答案可以解釋什麼是「低程式碼」嗎?
不盡然。
在軟體的世界中,我們依賴著函數庫、APIs和第三方的基礎架構,這使我們能專注在提供那些原本不存在的獨特價值。但我們仍然陷入困境。低程式碼提供了一系列的工具幫助開發人員能透過拖拉式 (Drag and drop) 介面直觀地創造出一個完整的應用程式。比起編寫數千行複雜的代碼與語法,低程式開發平台允許使用者非常快速的建造出一個擁有時尚的使用者界面、整合兼容性強、數位化和高邏輯性的應用程式。
經典的低程式碼應該有以下特征:
- 視覺化的整合開發環境(IDE):視覺化的定義您應用程式的使用者介面、工作流程圖與數據模型的開發環境。
- 連接至不同終端或服務的連接器:自動化地處理數據的結構、儲存與檢索。
- 應用程式生命週期管理:在不同週期中(測試、預備環境、生產環境)用於建造、除錯、部署和維護應用程式的自動化工具。
除了這些基礎架構外,每個低程式碼開發工具都是不一樣的。
有些非常受限且更偏向那種視覺化資料庫的前端,如90年代的FoxPro;而有些專注在利基的商業需求,專門開發專案管理;也有一些採用了低程式碼術語只為了某些特定的工具而根本與開發應用程式無關。
剩下的,例如Outsystems,提供您一個用於打造「現代化」、「跨平台」(企業網頁與行動裝置)的應用程式所需要的一切。這個App 將能補足現有團隊架構中所缺乏的,幫助企業更上一層樓。
Low-code 的終端
基本上,利用低程式碼打造軟體與利用其他方法沒什麼區別。除非你需要在機器代碼中從頭開始編寫所有內容,否則低程式碼會是個相較之下更快的工作方式,藉由低程式碼,我們能省下許多步驟。相較於手動編碼或是其他使用者管理系統利用最新編成框架的特性,或是在寫下每一行程式碼前先測試10次。透過低程式碼,你能「直接」創造有價值的東西。
「當知道這些繁瑣的過程能被輕鬆省略時,為什麼我們還要每次都從頭開始呢?」
以下我們將對比「傳統應用程式開發」與「低程式碼開發」的流程:
傳統應用程式開發流程
無論你是利用.NET MVC, Spring Boot, or Ruby on Rails,你(或你的團隊)大致上都會經過以下的步驟
- 分析、設計、確認、規劃需求
- 設計系統架構
- 選擇一個終端框架、一些函式庫、數據儲存庫和第三方的APIs
- 選擇一個前端框架並希望在開發完成之前不要掛掉
- 選擇您的部屬堆疊,設置CI並創造您的執行計畫
- 創建線框圖和高保真原型
- 在您選擇的JavaScript框架中手動編寫使用者介面的程式碼
- 重複測試然後失敗
- 定義您的模型並將它連接到數據儲存庫
- 定義並編寫您的商業邏輯層
- 創造提供或接收來自前端必要的JSON數據圖
- 在您選擇的前端框架中執行工作流程圖與使用者介面
- 利用他們推出的介面整合第三方APIs
- 重複測試直到成功
- 測試安全性、性能、品質與使用者接受度
- 部署、修補、監控、更新,直到應用程式生命週期結束
Low-code 低程式碼開發流程
- 分析、設計、確認、規劃需求
- 選擇任意第三方APIs
- 在可視化的IDE中畫出應用程式的工作流程圖、數據模型與使用者介面
- 連接APIs(通常使用自動發現功能)
- 必要的話,可以將任何手寫的程式碼添加到前端或自定義自動生成的SQL查詢
- 測試使用者接受度
- 部署到生產環境,然後只需點擊即可更新
7個步驟 VS 16個步驟
低程式碼開發平台的興起正是了解大多數花費在手動編寫網頁與行動應用程式程式碼的時間都是白費力氣的,其實並不需要每開始一個新的專案都重複相同的步驟。比起將時間耗在重複的測試,我們的重點更應該是為世界提供更有價值的東西。
Low-code 低程式碼讓您做得更多、更好
總結來說,低程式碼提供開發者一個更有效率的方法能將更多時間投注在創建和構建,並減少重複性工作的時間。確實,學習最新、最時尚的JavaScript 框架或使用尖端的NoSQL 數據存儲庫很有趣,但是當您花時間在debug 不熟悉的程式碼時,您的競爭者在客戶面前已經是MVP了。
低程式碼的出現對開發者而言並不是一個威脅,反而是一個機會。
當他們了解到如何利用低程式碼創造與維護高品質的網頁與行動裝置應用程式時,開發團隊便能在更短的時間內創造出更多價值,提供企業更強大的競爭力。
讀完以上文章,若您對 Outsystems 仍有疑惑,或是想要了解更多,歡迎隨時與我們聯繫。思想科技Master Concept 於2019年榮獲 OutSystems 亞太區年度合作夥伴,協助推動企業數位化轉型以及低程式碼發展的成就備受肯定。
https://www.outsystems.com/news/apac-partner-year-award-winners/
原文/Matthew Revell 編譯/Johnny Zhou