PHP、Java等其他语言转Go时选择GoFly快速快速开发框架指南

news/2024/9/24 1:57:25/

概要

经过一年多的发展GoFly快速开发框架已被一千多家科技企业或开发者用于项目开发,它的简单易学得到其他语言转Go首选框架。且企业版的发展为GoFly社区提供资金,这使得GoFly快速框架得到良好的发展,GoFly技术团队加大投入反哺科技企业和开发者,目前GoFly快速开发框架已经做到开发效率不输PHP语言甚至更快;得益于Go语言特性GoFly框架经过使用者反馈及团队不断测试更新修复,框架完全能保证构建高效、可靠、安全的应用。这些基础能力上gofly框架也不断得到使用企业或开发者认可,在此影响上更多朋友在使用GoFly框架,最近我们客服沟通中有一部分朋友是由其他语言转Go的,他们想先了解一下GoFly框架,我们客服微信很难通过文字回复把框架说清楚。我们之前一直忙于框架开发完善没有时间来整理一个能让其他语言转Go的朋友快速了解GoFly框架指南,本篇文章就给转Go朋友全面了解GoFly快速开发框架做个说明。

大部分java转过来的朋友最关心的是框架简单易用,GoFly框架就是在Go简单语法上通过框架规范让开发再次简单,所以我们框架就是要开发变得最简单、提高开发效率、降低开发及运维成本。

“降本增效”是我们框架追求目标,但是我们降本不是降低性能/软件质量,而是保证软件质量降低成本。这样是大家选择Go语言的初衷吧。

使用技术栈

框架采用前后端分离,前后端分离设计可以在管理后台开发时让前端技术员加入,这样可以协同开发提高开发效率、并且能开发出界面交互很好后台。

后端技术:

  • 开发语言:Golang
  • 基础框架:Gin
  • 数据库,开发时:mysql(推荐)、mariadb、tidb,安装后可迁移:pgsql、SQL-Server、sqlite、oracle、clickhouse、dm数据库进行开发。
  • ORM:框架orm借鉴php的orm风格,使用了简单易用的链接池设计,保证了ORM安全性、性能、稳定基础提供开发时效率。
  • 框架设计:框架分两层,分别为控制层和服务层,其中控制层负责控制是否调用服务层(该层在开发中框架可自动维护,特殊情况才需要手动添加或删除),服务层我们把它称为接口层,用于表现业务接口(框架全部以接口形式为客户端提供数据通讯,所以后端核心在与接口)。

后端框架目录结构:

├── app                       # 应用目录
│   ├── admin                 # 后台管理应用模块(安装saas时存在、不安装则删除)
│   ├── business              # 业务端应用模块
│   ├── common                # 公共应用模块
│   └── controller.go         # 应用控制器
├── devsource                 # 开发静态资源(安装界面、代码生成模板)
├── resource                  # 静态资源及配置文件(发布应用带上)
├── runtime                   # 运行时文件(项目运行时自己生成)
├── utils                     # 框架核心代码及工具包
├── go.mod                    # 依赖包管理工具
├── go.sum         
├── main.go                   # main函数       
├── runner.conf               # fresh热编译配置文件
└── README.md                 # 项目介绍

在框架中我们开发业务代码都在app目录下;utils是框架核心代码,在开发时utils目录核心代码不要去修改。app下controller.go是模块控制器,它控制app目录子目录模块是否启用,启用时在controller.go的import添加即可。

app下的admin、business等模块都可以自定义请求路由中间件/路由钩子,对模块做统一处理。

后端部署文件

框架后端代码我们需要编译成二进制文件放到服务器上,部署时仅需把打包生成的二进制文件和resource目录拷贝到服务部署目录即可(只需两个哦)。

前端技术:

  •  框架:vue3
  • 构建工具:vite
  • 前端语言:TypeScript
  • UI框架:Arco Design 
  • 图表:echarts

目录结构:

├── config       #vite.config配置目录
├── public       #logo和静态配置文件
├── src
│   ├── api     # 请求接口
│   ├── assets  # 静态资源
│          └── style 全局样式
│   ├── components  # 通用业务组件
│   ├── config      # 全局配置(包含echarts主题)
│          └── settings.json  # 配置文件
│   ├── directives   # 指令集(如需,可自行补充)
│   ├── hooks        # 全局hooks
│   ├── layout       # 布局
│   ├── locale       # 国际化语言包
│   ├── router       # 路由配置
│   ├── store        # 状态管理中心
│   ├── types        # Typescript 类型
│   └── utils        # 工具库
│   ├── views        # 页面模板
│   └── App.vue      # 视图入口
│   └── main.ts      # 入口文件
├── README.md
├── package.json
└── tsconfig.json

前端部署就按vue 通用build命令打包即可,前端没有特殊处理,可按照前端开发习惯进行开发。如需把后台部署在Go后端接口同一域名,则把打包好前端代码拷贝到上面部署后端拷贝的resourcewe文件夹下的webbusiness或者webadmin,根域名就放在static目录下,需要其他目录可自行在后端router中添加。

框架优势

 框架不仅仅是自身设计简单易用来提高开发效率,还提供代码生成工具、代码插件市场。处理开发工具社区还提供技术交流,可以帮助开发过程中遇到问题求助途径,并且企业版社区技术团队提供微信一对一技术支持。还有框架开发工具中提供了一个项目分包功能,在您开发项目遇到人员紧张时可以把功能分成几个发布需求到社区,社区已经我200+个云员工兼职,你的包会分给合适开发者开发,而且分包任务得到社区的监督,确保你的分包需求开发质量有保障。

代码生成工具

1.根据数据表结构生成代码

代码生成工具可生产组件丰富前端代码,满足所有常见表单组件和列表显示组件。

代码生成工具界面
生成结果示例

2.直接生成模版代码的工具

除了通过数据库表结构生成代码,我们还为没有数据表的业务生成模板代码,业务可在生成好的代码基础上开发,减少复制粘贴基础代码和创建目录文件时间。生成好后直接更加生成后代码位置提示目录找到模板,编写代码即可,这样开发人员不用关系框架代码结构要求;新手可在不熟悉框架情况下快速进入开发状态。

生成代码工具
生成代码记录-查看代码生成位置

代码仓(代码插件市场)

代码仓库分为公共仓企业私有仓,让企业和个人开发者都参与到社区代码仓库代码贡献来,个人开发者或者企业都可以开发代码包上传到公共仓,有了代码仓企业或个人在开发项目可以直接使用现成代码参与到生产过程,大大减少开发项目时的人力投入,这样就解决了企业有项目时大量招人,项目完成又要裁员的用工难题。代码仓好提供了“需求发布”功能,这个功能是为了解决代码仓库没有现成代码,需求其他社区开发者现开发代码,这也相当企业通过社区找到开发人员一起参与到项目开发(无需招聘和裁员流程),这样企业高效、快速找的合适及能力人才为企业项目服务。

公共仓是社区和社区全部开发者共同开发代码仓的资源发布到代码仓上,社区全部开发者共享全社区开发者们代码成果,在快速开发项目时根据需求到代码仓库找,找到符合的代码直接安装(无需复制粘贴修改即可使用)。

私有仓是企业内部把开发好的项目打包上传到企业自建的私有代码仓,企业可以快速复用以往的项目代码,私有仓也方便企业统一管理已开发好的项目代码,新人入职也可以快速、便捷获得企业代码资源。

社区代码市场-即代码仓的公共仓-丰富插件提高开发效率
代码仓-一键安装即可使用-便捷的打包、发布、本地包安装等工具
发布项目分包需求

小结

GoFly快速开发框架一直寻找能快速开发项目,减少开发成本方法,我们一直追寻每一个能提高开发效率和降低成本方法。每个办法我们都反复测试保证它真的能到达这个目的,以上是我们寻找到目前最优组合,也经过200+企业或开发者一同完善一同验证结果。系统新朋友也可以和我们一同为“降本增效”这一目标一起把GoFly快速开发框架做好,我们可以一同完善框架基础,一起开发代码仓插件,丰富我们代码市场。

GoFly全栈开发社区:https://goflys.cn/ 欢迎大家进入哦!


http://www.ppmy.cn/news/1529593.html

相关文章

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Mysql集群

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Mysql集群 MySQL 集群是一种高可用性、高性能的数据库解决方案,旨在支持分布式应用程序,允许多个 MySQL 实例以集群的方式共同工作,提供数据冗余和故障恢复能力 搭建Mysql集群…

如何进入电脑BIOS

前言 在日常使用电脑的过程中,有时我们需要进入BIOS(基本输入输出系统)来调整设置,比如更改启动顺序、调整系统日期时间或是优化硬件配置。BIOS是计算机启动时最先运行的程序之一,它位于主板上的一个ROM芯片中。下面&…

简单接口自动化框架实现(Python+requests+pytest)

1、接口自动化流程 1.需求分析2.挑选需要做自动化测试的功能3.设计测试用例4.搭建自动化测试环境[可选]5.设计自动化测试项目的架构[可选]6.编写代码7.执行测试用例8.生成测试报告并分析结果 2、框架结构 --api -->封装请求 --scripts -->编写测试脚本…

汽车英文单词缩写汇总

缩略词英文全文中文翻译备注ACCAdaptive Cruise Control自适应巡航控制ACCMAir Conditioner Compressor Module空调压缩机模块ASILAutomotive Safety Integrity Level汽车安全完整性等级BOMBill of Materials物料清单CCCChina Compulsory Certification中国强制性产品认证CSDCe…

基于JAVA+SpringBoot+Vue的医院资源管理系统

基于JAVASpringBootVue的医院资源管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接🍅 哈…

spring与springmvc整合

文章目录 spring与springmvc整合重复创建bean容器关系获取spring容器上下文 spring与springmvc整合 在项目中使用springmvc的时候,由于spring和springmvc是同源的,有时候大家会把所有的配置都扔到springmvc的配置文件中,而不去区分spring和s…

除了C# 、C++,C++ cli 、还有一个Java版的 db

DB_.java /*****************************************************************************创建时间 :2019年10月28日文件名 :Ldb.cs功能 :基本数据库的访问作者 :李锋Emai…

Hive企业级调优[1]——计算资源配置

目录 企业级调优 计算资源配置 YARN 资源配置 MapReduce 资源配置 企业级调优 计算资源配置 本教程的计算环境为 Hive on MR。计算资源的调整主要包括 YARN 和 MapReduce。 YARN 资源配置 1)YARN 配置说明 需要调整的 YARN 参数均与 CPU、内存等资源有关&am…