背景:
LStack平台多租系统采用的是Openstack-Keystone开源项目。在进行Keystone源码分析过程中发现其采用的是Flask框架,而我们自研的一些微服务采用的是SpringBoot框架。所以产生了进行两大主流语言框架横向对比的想法,并整理此篇文章分享给大家。
语言对比:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020092910170615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpemhlbmdseWc=,size_16,color_FFFFFF,t_70#pic_center)
语言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容易解决起步晚,社区相对不太活跃
|