如果V2EX在今天才开始开发,会用什么Python Web框架?

2014-01-22 17:03:45 +08:00
 kwd98
18235 次点击
所在节点    Python
93 条回复
xjay
2014-01-23 21:54:58 +08:00
gevent+itty,最近很喜欢这个组合。
kwd98
2014-01-23 22:08:49 +08:00
@xjay 该作者在很有Django界很有名。但框架明显倾向于自己造轮子。。。最大的优点是?
wssgcg1213
2014-01-24 01:10:14 +08:00
@RIcter →_→
CMGS
2014-01-24 02:15:41 +08:00
@clino @dcoder MySQLdb的坑可不是关系型数据库的坑……而是Python走这种事件驱动不得不面对的阻塞问题
RIcter
2014-01-24 06:44:12 +08:00
@wssgcg1213 ....看头像就知道是你了
clino
2014-01-24 09:03:06 +08:00
@CMGS 不太理解"Python走这种事件驱动不得不面对的阻塞问题", 事件驱动应该也能支持大的并发才对,所以相关的性能应该不是问题吧, 那是开发起来太麻烦了?能解释一下吗?
要是我就选择gevent ,协程方式的编程接口比较爽, 用同步的方式写异步的程序,用这个对比事件驱动的可以有优越感,hoho
guotie
2014-01-24 09:22:43 +08:00
@kwd98 golang更简单,更直接,效率更高!

有些python代码写的很不易懂,尤其是大量使用yield的代码
clino
2014-01-24 09:46:50 +08:00
@guotie lua里也是用类似的coroutine.yield吧. go 里的形式是怎么样的? 我觉得主要是coroutine本身的运行过程复杂才会难懂的吧.
kwd98
2014-01-24 10:03:31 +08:00
@clino Rob Pike: Google I/O 2012 - Go Concurrency Patterns <amp-youtube data-videoid="f6kdp27TYZs" layout="responsive" width="480" height="270"></amp-youtube> 看完就会觉得golang在并发方面是高上大。
guotie
2014-01-24 10:03:43 +08:00
go的并发很简单:
go xxxx

go的并发协程之间的通信用channel,很直接。

nsq是一个实时消息队列,代码大量使用了并发和channel通信,但是代码很容易读懂。
duoduo3369
2014-01-24 12:10:04 +08:00
django也可以前后端彻底分开开发啊 后端用django rest 前端可以自选高大上的mvc(backbone,anguler),或者用任何前端实现
kwd98
2014-01-24 12:18:03 +08:00
@duoduo3369 恩。DRF的generic view和viewset很方便,可谓写REST API利器。前端像AngularJs这样只要在Template里用Verbatim或者直接到AngularJS里改$interpolate。
clino
2014-01-24 14:59:18 +08:00
@kwd98 @guotie 视频看了一半,go提供的channel看起来不错,channel select这种都预置在语言里了,挺好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/98004

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX