博客 / 詳情

返回

sponge:一個簡單易用又且大幅提高項目開發效率的go開發框架

在當今快節奏的軟件開發環境中,提高效率至關重要。開發人員持續尋求工具和技術,以縮短開發時間併產出更高質量的應用程序。本文將介紹一款創新性的開發神器,它可以將開發項目效率可以提高 5 倍以上,並支持多種常用的數據庫。

如果開發只有簡單CRUD api接口的web或微服務,不需要編寫任何go代碼就可以編譯並部署到linux服務器、docker、k8s上,只需要連接到數據庫(mysql、mongodb、postgresql、tidb、sqlite)就可以一鍵自動生成完整的服務代碼。

如果開發通用的web或微服務,只需聚焦在在數據庫定義表在proto文件定義api接口在生成的模板文件填寫業務邏輯代碼三個核心部分,其他go代碼自動生成。


sponge 介紹

sponge 是一個集成了 自動生成代碼Gin和GRPC 的基礎開發框架。sponge擁有豐富的生成代碼命令,生成不同的功能代碼可以組合成完整的服務(類似人為打散的海綿細胞可以自動重組成一個新的海綿)。代碼解耦模塊化設計,很容易構建出從開發到部署的完整工程項目,只需在生成的模板代碼上填充業務邏輯代碼,大幅的提高了開發效率和降低了開發難度。

項目地址: https://github.com/zhufuyi/sponge 

生成代碼框架

sponge主要基於SQLProtobuf兩種方式生成代碼,每種方式擁有生成不同用途的代碼。其中SQL支持數據庫mysqlmongodbpostgresqltidbsqlite

生成代碼的框架圖


生成代碼框架對應的UI界面


生成服務代碼的雞蛋模型


生成服務代碼對應的框架圖


主要特性

sponge 是一個比較全面的綜合開發框架,旨在簡化和加速開發過程。它提供了一系列強大的功能和特性,幫助開發人員克服常見的瓶頸並顯著提高效率。

界面化操作 生成代碼命令UI界面化,簡單易用。
數據庫支持 支持 MySQL、MongoDB、PostgreSQL、TiDB 和 SQLite 等主流數據庫。
自動生成代碼 根據數據庫表自動生成代碼、合併代碼,節省大量時間和精力。
服務類型豐富 支持web服務、grpc服務、grpc網關服務開發。
高可靠高性能 服務代碼解耦模塊化設計,代碼經過嚴格的測試,並遵循良好的編碼規範,自帶緩存輕鬆應對高併發。
部署自動化 提供二進制、docker、kubernetes一站式自動化部署,快速將應用程序部署到生產環境。
團隊協作 代碼統一規範化,團隊協作更高效。


優勢

sponge提供了以下優勢:

提升開發效率 自動生成代碼、合併代碼等特性顯著提高了開發速度。
降低開發難度 低代碼開發使開發人員無需編寫大量代碼即可創建應用程序。
縮短上線時間 部署自動化功能減少了部署時間,使應用程序更快地投入生產使用。
提高代碼質量 自動生成的單元測試確保應用程序的高質量和可維護性。
降低開發成本 通過大幅提高效率和減少開發人員投入,降低了應用程序的總體開發成本。


使用場景

sponge適用於各種業務的後端服務開發場景,包括:

  • 高性能 Web 服務
  • 微服務
  • grpc網關服務


快速開始

首先要安裝sponge,支持在windows、mac、linux、docker環境下安裝,點擊查看安裝sponge説明。

安裝完成後,啓動sponge UI服務:

sponge run

在UI界面上可以生成你需要的服務和相關代碼,具體的詳細教程點擊這裏查看:

  • web服務開發
  • 微服務開發
  • grpc網關服務開發


sponge開發示例

一天開發完成一個簡單版的社區web後端服務 本示例演示如何使用 Sponge 為社區快速開發一個簡單的網絡後台服務。該服務包括用户註冊、登錄和發帖等基本功能。
單體web服務無縫快速遷移到微服務 本示例展示瞭如何使用 sponge 以最小的代價將單體web服務遷移到微服務,示例涵蓋了將服務拆分成多個獨立服務並實現它們之間通信的過程。
從0開始快速搭建一個包含分佈式事務的簡單版訂單系統 本示例演示如何使用 sponge 建立一個具有分佈式交易功能的簡單訂單系統,該系統包括訂單創建、優惠券、付款和庫存管理等功能。


總結

sponge 是一個幫助你大幅提高開發效率、降低開發成本的開發框架,通過支持主流數據庫、低代碼開發和自動化功能,它為各種後端服務開發場景提供了無與倫比的價值。如果您正在尋找一種方法來顯著提高開發效率並縮短上線時間,那麼sponge絕對值得一試。


user avatar pikaqiu_5cf8dafd0d4bd 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.