背景:

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

语言对比:

语言JavaPython
声明变量显式声明变量名不需要声明变量
类库较丰富丰富
动静态静态型动态型
可读性良好良好
性能编译型+解释型。相对较快,预编译完由虚拟机执行解释型,相对较慢,需要一行行解释执行
版本版本稳定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框架的对比

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

更多推荐

Java框架SpringBoot与Python框架Flask对比