這 8 篇文章告訴你:未來的軟件研發是怎樣的?

Serverless 越來越火,無代碼編程也提上了議程,還有云開發也在風口浪尖。那麼,未來會是怎樣的呢?

最近,可能因為 Ledge、可能因為我寫的文章,我和各種各樣的人交流起了未來的軟件開發,有騰訊雲的,有阿里雲的,有華為雲的,還有各種各樣的公司相關的項目,所以我整理了我關於未來軟件的一些思考。

因為我懶得畫,所以就用我最近畫的一張圖:

这 8 篇文章告诉你:未来的软件研发是怎样的?

讓我們先從低代碼開始——最近特別火的一個技術。

低代碼編程

無代碼/低代碼是一種創建應用的方法,它可以讓開發人員使用最少的編碼知識,來快速開發應用程序。它可以在圖形界面中,使用可視化建模的方式,來組裝和配置應用程序。開發人員可以直接跳過所有的基礎架構,只關注於使用代碼來實現業務邏輯。

而為了支撐起低代碼編程,我們需要一系列的基礎設施:微前端、微服務、APP 插件化、Serverless 等等。從這個目標,倒推我們需要這麼一系列的技術。

所以,你可以從我一年多前寫的文章來了解要怎麼去實現,GitHub:https://github.com/phodal/lowcode

雲研發

雲研發,是一種生於雲上的閉環 + 代碼化的軟件開發方式。它可以讓業務人員、開發人員、運營人員等在同一個雲端共同協作、透明化地完成整個軟件的生命週期(需求、設計、編碼、構建、部署、運營),而非相互隔離,又或者是藉助於多個軟件才能完成工作。

在現在的各種雲廠商裡,如騰訊、阿里等,都是叫『雲開發』,從開發視角來看待的。而我個人偏向於從全局來優先整個流程。於是我寫了《雲研發:研發即代碼》:

GitHub:https://github.com/phodal/cloud-dev

微信內鏈接:《雲開發:未來的軟件開發方式》

微架構

微服務已經相當流行了,而為了支撐起雲研發這種在雲端的開發模式。開發人員需要一種更友好的瀏覽器端集成,這種模式就是『微前端』。

微前端是一種類似於微服務的架構,它將微服務的理念應用於瀏覽器端,即將 Web 應用由單一的單體應用轉變為多個小型前端應用聚合為一的應用。各個前端應用還可以獨立運行、獨立開發、獨立部署。

除了看我在 GitHub 上寫得長長的『微前端的那些事兒』:https://github.com/phodal/microfrontends

還可以看看那篇:『微前端如何落地』

Serverless

三年前,我開始玩了 Serverless,對這個輕量級的後端架構頗為感興趣,只需要在本地敲入幾個字符,即可完成部署。

為此,三年前我寫了一個相關的指南(考慮到這是一個電子書的長度,我建議你收藏一下。)見:http://serverless.ink/ ,這裡大家可以去看看。

微害架構

“微” 害架構,即微架構以不合理的方式運行著,其表現形式不適當地採用 “微架構”(微服務、APP 插件化、微前端等)技術拆分臃腫的單體應用,導致軟件架構進一步複雜化、難以維護,使得原本具有優勢的微架構微微出現一些問題。

隨著微架構的流行,現在、哪至未來,會有更多的微架構應用開發得相關的不合理,這裡就附上我兩年前寫的:『"微" 害架構』。

整潔架構

對於那些想治理後端服務架構的混亂問題,我們建議大家可以考慮使用 Robert C. Martin 提出的整潔架構。

對於後端開發人員來說,可以考慮《架構整潔之道》。前端開發人員則可以參考我寫的『整潔前端架構』:https://github.com/phodal/clean-frontend

微信內鏈接:《整潔前端》、《整潔前端架構實施指南》

萬物代碼化

讓我們在回到雲研發的那個問題上,未來的雲研發必然需要一系列的代碼化。所以,我開始研究如何進行『萬物即代碼』。在這一個系統中,我已經寫了相關的實踐,如何對代碼進行建模等。

GitHub 持續更新中:https://github.com/phodal/ascode.ink

最近的一篇文章是『文檔代碼化』。

微信內鏈接:《文檔代碼化:重塑軟件開發的文檔系統》

未來的軟件研發是怎樣的?

你覺得會是怎樣的?


分享到:


相關文章: