在當今快節奏的軟件開發環境中,提高效率至關重要。開發人員持續尋求工具和技術,以縮短開發時間併產出更高質量的應用程序。本文將介紹一款創新性的開發框架,它可以大幅提高開發項目效率同時降低開發難度,並支持多種常用的數據庫。
如果開發只有簡單CRUD api接口的web或微服務,不需要編寫任何go代碼就可以編譯並部署到linux服務器、docker、k8s上,只需要連接到數據庫(mysql、mongodb、postgresql、tidb、sqlite)就可以一鍵自動生成完整的服務代碼。
如果開發通用的web或微服務,只需聚焦在在數據庫定義表、在proto文件定義api接口、在生成的模板文件填寫業務邏輯代碼三個核心部分,其他go代碼自動生成。
sponge 介紹
sponge 是一個集成了 自動生成代碼、Gin和GRPC 的基礎開發框架。sponge擁有豐富的生成代碼命令,生成不同的功能代碼可以組合成完整的服務(類似人為打散的海綿細胞可以自動重組成一個新的海綿)。從生成代碼、開發、測試、api文檔到部署一站式項目開發,大幅提高了開發效率和降低了開發難度,實現"低代碼方式"進行開發項目。
github地址: https://github.com/zhufuyi/sponge
生成代碼框架
sponge主要基於SQL和Protobuf兩種方式生成代碼,每種方式擁有生成不同用途的代碼。其中SQL支持數據庫mysql、mongodb、postgresql、tidb、sqlite。
生成代碼的框架圖
生成代碼框架對應的UI界面
生成服務代碼對應的框架圖
主要特性
sponge 是一個比較全面的綜合開發框架,旨在簡化和加速開發過程。它提供了一系列強大的功能和特性,幫助開發人員克服常見的瓶頸並顯著提高效率。
| 界面化操作 | 生成代碼命令UI界面化,簡單易用。 |
| 數據庫支持 | 支持 MySQL、MongoDB、PostgreSQL、TiDB 和 SQLite 等主流數據庫。 |
| 自動生成代碼 | 根據數據庫表自動生成代碼、合併代碼,節省大量時間和精力。 |
| 豐富的服務類型 | 支持web服務、grpc服務、http+grpc服務、grpc網關服務開發。 |
| 豐富的組件 | 集成了常用的 gin 中間件和 grpc 攔截器,根據配置按需使用。 |
| 高可靠高性能 | 服務代碼解耦模塊化設計,代碼經過嚴格的測試,自帶緩存輕鬆應對高併發。 |
| 部署自動化 | 提供裸機、docker、kubernetes多種方式自動化部署,快速將應用程序部署到生產環境。 |
| 團隊協作 | 代碼統一規範化,團隊協作更高效。 |
優勢
sponge提供了以下優勢:
| 提升開發效率 | 自動生成代碼、合併代碼等特性顯著提高了開發速度。 |
| 降低開發難度 | 低代碼開發使開發人員無需編寫大量代碼即可創建應用程序。 |
| 縮短上線時間 | 部署自動化功能減少了部署時間,使應用程序更快地投入生產使用。 |
| 提高代碼質量 | 自動生成的單元測試確保應用程序的高質量和可維護性。 |
| 降低開發成本 | 通過大幅提高效率和減少開發人員投入,降低了應用程序的總體開發成本。 |
使用場景
sponge適用於各種業務的後端服務開發場景,包括:
- 高性能 Web 服務
- 微服務
快速開始
首先要安裝sponge,支持在windows、mac、linux、docker環境下安裝,點擊查看安裝sponge説明。
安裝完成後,啓動sponge UI服務:
sponge run
在UI界面上可以生成你需要的服務和相關代碼,然後在生成的代碼基礎上開發項目。
sponge開發示例
| 一天開發完成一個簡單版的社區web後端服務 | 本示例演示如何使用 Sponge 快速開發一個簡單的web後端服務。該服務包括用户註冊、登錄、發帖、評論、關注等基本功能。 |
| 單體web服務無縫快速遷移到微服務 | 本示例展示瞭如何使用 sponge 以最小的代價將單體web服務遷移到微服務,示例涵蓋了將服務拆分成多個獨立服務並實現它們之間通信的過程。 |
| 從0開始快速搭建一個包含分佈式事務的簡單版訂單系統 | 本示例演示如何使用 sponge 建立一個具有分佈式交易功能的簡單訂單系統,該系統包括訂單創建、優惠券、付款和庫存管理等功能。 |
總結
sponge 是一個幫助你大幅提高開發效率、降低開發成本的開發框架,通過支持主流數據庫、低代碼開發和自動化功能,它為各種後端服務開發場景提供了無與倫比的價值。如果您正在尋找一種方法來顯著提高開發效率並縮短上線時間,那麼sponge絕對值得一試。