当前位置: 首页 > news >正文

3大主流语言web框架写hello world

摘要

在现代后端开发中,选择合适的Web框架对项目效率、性能和可维护性至关重要。本文将带你了解三大主流编程语言(Java、Go、Python)中最具代表性的Web框架:Spring Boot(Java)Gin(Go)Flask(Python)。从设计理念、性能特点、开发效率、适用场景等方面进行对比,并结合编写的daemon,展示它们的使用方式。

在众多Web框架中,以下框架分别代表了企业级稳健高性能简洁快速原型开发 三种风格,适合不同场景下的后端服务开发

  • Spring Boot:Java生态中事实上的企业级标准
  • Gin:Go语言中高性能、轻量级的HTTP框架
  • Flask:Python中最灵活、易上手的微框架
特性Spring Boot (Java)Gin (Go)Flask (Python)
语言JavaGoPython
类型全功能框架轻量级框架微框架
性能中等(JVM启动较慢)高(原生编译,低延迟)一般(解释执行)
学习曲线较陡峭平缓非常平缓
生态支持极其丰富(Spring全家桶)中等(Go生态较新)丰富(PyPI包众多)
热重载支持(需插件)支持(配合air等工具)原生支持
并发模型线程池(Tomcat/Netty)Goroutine(高并发)多线程/异步(需扩展)
部署方式JAR包(JVM环境)单二进制文件脚本 + WSGI(如Gunicorn)
适合场景企业级系统、微服务高并发API、云原生服务快速原型、数据服务、脚本化

java SpringBoot框架

1 Spring Boot介绍

Spring Boot 是基于 Spring 框架的快速开发工具,通过“约定优于配置”的理念,大大简化了Spring应用的搭建和部署。

核心优势:

  • 自动配置(Auto-Configuration)
  • 内嵌Tomcat/Jetty/Netty
  • 完整的生态:Spring Security、Spring Data、Spring Cloud
  • 强大的依赖注入(DI)和面向切面编程(AOP)

典型使用场景:

  • 企业级后台管理系统
  • 分布式微服务架构(结合Eureka、Nacos等)
  • 需要复杂事务、安全控制的系统

2 开发环境准备

准备以下开发环境:

在这里插入图片描述

C:\Users\wzy>java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)C:\Users\wzy>mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\App\PortableSoft\apache-maven-3.6.3\bin\..
Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: C:\App\Java\jdk1.8.0_301\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

3 编写代码

daemon所有文件

spring-boot1/
├── pom.xml
└── src/└── main/├── java/│   └── spring/│       ├── controller/│       │   └── HelloController.java│       └── HelloApplication.java└── resources/└── pplication.properties

pom.xml

本次使用的maven管理所需依赖,还有构建

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>spring-boot1</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.5</version></parent><dependencies><!-- Web 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

HelloController.java

package spring.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "hello world";}
}

HelloApplication.java

package spring;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class HelloApplication {public static void main(String[] args) {SpringApplication.run(HelloApplication.class, args);}
}

pplication.properties

server.port=8080

4 运行测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

可以看到springboot的启动速度还是需要一点时间的,构建后的.jar包只要在有jdk的环境,不管是windows还是Linux都能运行

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

GO gin框架

1 gin介绍

Gin 是一个用Go语言编写的HTTP Web框架,以高性能简洁API著称,底层基于net/http,但通过中间件机制和路由优化大幅提升效率。

核心优势:

  • 极快的路由匹配(Radix Tree)
  • 中间件支持完善(如日志、CORS、JWT)
  • 返回JSON极其方便(c.JSON()
  • 编译为单个二进制文件,部署极其简单,静态编译后几乎可以在任意环境运行

典型使用场景:

  • 高并发API网关
  • 微服务中的边缘服务
  • 云原生、Kubernetes环境下的轻量服务

2 开发环境准备

在这里插入图片描述

C:\Users\wzy>go version
go version go1.22.12 windows/amd64

3 编写代码

go.mod

module learn_gingo 1.23require github.com/gin-gonic/gin v1.10.0

main.go

package mainimport ("github.com/gin-gonic/gin""net/http"
)func main() {// 创建默认路由引擎r := gin.Default()// 注册路由r.GET("/hello", func(c *gin.Context) {c.String(http.StatusOK, "hello world")})// 启动服务,默认监听 8080 端口r.Run(":8080")
}

4 运行代码

在这里插入图片描述

除了ide运行,还可以使用 go run main.go

在这里插入图片描述

go build -o learn_gin.exe main.go

在这里插入图片描述

Python Flask框架

1 Flask介绍

Flask 是一个轻量级的Python Web框架,强调“微核心 + 扩展”的设计哲学,适合快速搭建原型或小型服务。

核心优势:

  • 极简设计,学习成本低
  • 灵活性高,可自由选择组件(数据库、表单、认证等)
  • 与Python数据科学生态无缝集成(Pandas、NumPy、ML模型)
  • 支持装饰器路由,代码清晰

典型使用场景:

  • 快速验证业务逻辑
  • 数据可视化后端
  • 机器学习模型API化(如用Flask封装一个预测接口)
  • 运维开发api,接口执行运维操作

2 开发环境准备

安装python3.10,准备虚拟环境,安装Flask库3.1.0

在这里插入图片描述

3 编写代码

main.py

from flask import Flask
app = Flask(__name__)@app.route('/hello')
def index():return 'Hello World!'print("hello")if __name__ == '__main__':app.run(host='0.0.0.0', port=12345, debug=True)

4 运行代码

在这里插入图片描述

http://www.xdnf.cn/news/1446139.html

相关文章:

  • 接口测试之Mock测试方法详解
  • 使用spring-boot-starter-validation常用注释优雅判断类型
  • 小迪安全v2023学习笔记(七十六讲)—— Fuzz模糊测试口令爆破目录爆破参数爆破Payload爆破
  • uniapp 开发上架 iOS App全流程
  • uni-app iOS 文件管理与 itools 配合实战,多工具协作的完整流程
  • 如何选择适合企业的海外智能客服系统:6 大核心维度 + 实战选型指南
  • 集成运算放大器的作用、选型和测量指南-超简单解读
  • 4 款音分轨工具推荐:制片帮领衔,轻松搞定音频分离
  • 实现信号的小波分解和重构
  • 7.5el-tree 组件详解
  • 创建消息队列,完成信息传输
  • MySQL索引分类
  • 英语四级学习指南
  • A*(Astar)算法详解与应用
  • 电池分选机的自动化解决方案|深圳比斯特
  • SQLAlchemy ORM 入门教程
  • 马斯克砸钱造AI,却败给最low的“让离职员工轻松拷走代码”
  • MyHeyGen-开源版HeyGen,视频翻译工具
  • 平衡车 - 电机调速
  • HI3516CV610-00S 海思HI3516CV610安防高清视频编解码方案提供开发板
  • Nature Machine Intelligence 基于强化学习的磁性微型机器人自主三维位置控制
  • 物联网能源管控平台建设方案
  • 概率质量/密度函数、累计分布函数详解
  • github存储代码(上传更新删除)--实操版
  • 需求调研与分析
  • 最佳红米手机数据擦除软件
  • 场景题:如果一个大型项目,某一个时间所有的CPU的已经被占用了,导致服务不可用,我们开发人员应该如何使服务器尽快恢复正常
  • 2025年家装设计软件推荐:告别选择困难,轻松打造梦想之家
  • C++的内存和数组的申请释放
  • 对数似然比(LLR)