Java框架SpringBoot与Python框架Flask对比

时间:2024-05-19 10:55:58

背景:

LStack平台多租系统采用的是Openstack-Keystone开源项目。在进行Keystone源码分析过程中发现其采用的是Flask框架,而我们自研的一些微服务采用的是SpringBoot框架。所以产生了进行两大主流语言框架横向对比的想法,并整理此篇文章分享给大家。

语言对比:

Java框架SpringBoot与Python框架Flask对比

语言 Java Python
声明变量 显式声明变量名 不需要声明变量
类库 较丰富 丰富
动静态 静态型 动态型
可读性 良好 良好
性能 编译型+解释型。相对较快,预编译完由虚拟机执行 解释型,相对较慢,需要一行行解释执行
版本 版本稳定 python2/3不兼容(推荐学习3版本的)
核心 虚拟机强,java虚拟机是java的核心 核心是可以很方便地使用c语言函数或c++库
开发实践 服务器开发,web开发和安卓开发 游戏开发、搜索引擎、图形图像处理、脚本开发

Java 主流框架

类型 框架
基础核心框架 Spring 、SpringMVC
数据库框架 Mybatis或Mybatis Plus、JPA、 Hibernate…
微服务开发 SpringCloud
开发便利框架 SpringBoot

Python 主流框架

类型 框架
Web应用开发框架 Django 、Flask、Tornado、Web2py
微型Python Web框架 Bottle
爬虫框架 Scrapy

以上是相关语言的对比,以及部分主流框架的整理,欢迎大家补充或留言,我将持续不断的完善和更新此篇文章。

下面是针对跨语言的SpringBoot与Flask框架的对比

框架 SpringBoot Flask
配置 配置较为灵活:yml 、conf 配置很灵活,有多种方法配置
对语言要求 相对较低,开箱即用的开发方式 相对较高,正因为太轻量级,需要开发人员拥有较为丰富的开发经验进行第三方类库的整合调用
框架轻重 java中相对轻量级框架 轻量级,一切从简,能省则省
开发速度 便捷快速 小型服务较快,大型服务需要类库搭配
社区 社区非常丰富,常见bug容易解决 起步晚,社区相对不太活跃