各大主流语言web框架代码行数对比

Go

640?wx_fmt=other

  1. gin 4762

  2. echo 4903

  3. iris 27854 肿

  4. buffalo 9391


Node

640?wx_fmt=other

  1. koa 1667

  2. express 4051

  3. sails 17100 肿


Python

640?wx_fmt=other

  1. tornado 21666

  2. werkzeug 20801

  3. flask 7489

  4. bottle 3756

  5. web.py 10830

  6. django 119701 泰肿


Ruby

640?wx_fmt=other

  1. sinatra 2580

  2. grape 7229

  3. rails 130379 泰肿


Java

640?wx_fmt=other

  1. spring-core 75207 

  2. spring-aop 25984

  3. spring-web 49017

  4. spring-webmvc 60246

  5. spring-beans 51070

  6. spring-context 76356

  7. spring-boot 50847


统计方法

统计的时候我发现有些框架的代码比我想象的大的太多,所以我对这些代码量大的代码进行了反复统计,去掉路径包含test/example/benchmark/vendor等的代码,进行wc -l汇聚得到的最终结果。


这样直接对比对某些框架来说是不公平的。有些框架注释比较多,有些框架几乎没有注释。我的统计方法里面没有把注释去掉。不过注释并不是最重要的区别,最大的区别在于有些框架是微内核,有些框架是full-stack的。fullstack的框架可以直接拿来即用,而微内核一般还需要引入额外的插件和扩展才能达到相似的效果。除此之外还有一个重大的区别是HTTP服务器在某些语言中是内置的,而另外一些语言的HTTP服务器则需要单独编写。

从源码学习角度来说,自然还是应该选择微内核的,代码量大了阅读起来会是一头雾水。微内核短小精悍,浓缩的都是精华。

学习源码的相关链接

640?wx_fmt=other

  1. https://github.com/pyloque/httpkids 1200行代码的Java Web框架

  2. https://github.com/pyloque/ormkids 2000行代码的Java ORM框架

  3. https://github.com/pyloque/rpckids 700行代码的Java RPC框架

  4. https://github.com/pyloque/iockids 200行代码的Java依赖注入框架

关注公众号「码洞」,一起学习源码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值