1
walnutist 2013-07-09 14:29:17 +08:00 3
我只用过django。不是专业软件攻城师,胡乱弹弹
2010年下半年为自己所在的一个论坛选型技术框架 确定了django。 后来用下来,大体感觉: 1、开发简单的web应用,django确实挺快的,而且community很成熟,一堆现成的东西可以用。 2、如果开发相对复杂一些的,就会觉得django自身的功能不够用,或者就是性能不好,于是开始折腾各种插件和各种重新造轮子,痛苦还是有的,不过适应了django的思路就好很多。 3、一旦提到扩展性,最终还是看Python,我只写过2-3年Java,业余写点前端的JS,后来小十年其实工作已经和开发无关,但我觉得Python挺好上手的,而且语法糖伍的挺好用,比JS强。php……十五年前上学时候用过,总觉得扩展性不够,不知现在如何了。 4、nginx+uwsgi+django+postgresql+memcached,我觉得这个架构很稳定,我们论坛300万+的帖子,日均200+在线,几乎没出现过什么的大的系统问题。 最终,尝试回答你的问题: 1、django的灵活性不错,不够的地方python来补,完全无压力 2、django本身有些限制,但基本上都可以透过插件或者定制化绕过去 3、开发效率见仁见智,不过python/django在业界的普及率必然无法和php相提并论,好点的python攻城师都在诸如douban之类的互联网公司呆着呢吧 4、代码稳健度,django这个项目本身很稳定了,不过要小心社区贡献的一堆插件,质量良莠不齐。 5、维护性那是团队自己的问题了,和框架无关。 6、基于django本身已经有几个相对成熟些的CMS了,上www.djangopackages.com找找看。 6、最终,我当时可以选择django纯粹因为这是一个个人项目,没有任何商业冲突在里面,个人兴趣使然。但楼主既然要做商业化的系统,我认为技术层面的这些问题不是核心,看你打算怎么个投入投入多少吧。 |
3
andyhu OP @walnutist 十分感谢您的回复!我搞PHP六七年了,最近学了下Laravel感觉非常不错,暂时打算用Laravel来写了, Laravel 4非常不错,开发效率高代码结构很优雅,全部基于composer的package来构建,使得所有组件都可以灵活替换,自带的ORM Eloquent被很多资深PHP大牛称之为最好用的PHP ORM。唯一的缺点就是太新了,用户贡献的扩展很少,会有狠多“重复造轮子”的情形,不过对比起来重复学习 Python+Django的成本,感觉这个还是最适合的,如果有足够时间能开发这个cms基础框架的话,打算基于Laravel写一个cms然后开源出来
|
4
ipconfiger 2013-07-09 16:39:00 +08:00
Django绝逼没有Flask好用
|
5
shinwood 2013-07-09 16:43:03 +08:00
从 PHP 转战过一段时间的 django,各种不适应,主要不适应是模板这一块。
|
6
coffeego 2013-07-09 21:37:11 +08:00
感觉django的有些语法确实不如rails,padrino这类ruby框架来的简洁和优美,个人之见哈
|
7
walnutist 2013-07-09 21:43:43 +08:00
@shinwood 是的,django自己的模板就是垃圾。难用先不说,速度实在让人抓狂。
我后来是混用的jinja2+django原生模板 |
9
kidblg 2013-07-10 08:31:55 +08:00
@walnutist 我昨天也准备发私信,但是没找到,只好在这里留言了。 :) 我也准备用django写个论坛,以后多向你请教。:D
|
11
66beta 2013-07-10 10:09:07 +08:00
Laravel 4 真心不错,除了文档简陋、学习资源少
Laravel 3和4,完全不同的东西 Laravel最大的诟病,应该就在于composer之后,真个框架有25M之大,文件数量貌似好几千。这也是好多人死守CI的缘故。 不过作者号称这并不影响性能~~ |
12
kiancyc 2013-07-10 10:31:35 +08:00
@66beta
对的,因为引入了Symfony的包,symfony比较庞大,速度也比较慢。 不过Laravel4是用到的时候才加载组建,所以性能还不错。 那个文档实在太简单了,都没有什么例子,全靠自己框架的经验来领悟的。 |
13
66beta 2013-07-10 10:38:42 +08:00
@kiancyc
最喜欢CI的文档,索引很方便,而且有都有举例 但是L4的文档,没距离就算了,还不全,真的就是个guide而已,不能算文档 像我这样的新手,横竖都不会知道blade里面引入css要这样: {{ HTML::style('css/bootstrap.css') }} 文档里面没有啊 T..T |
14
Rabbit52 2013-07-15 02:20:29 +08:00
|
15
PrideChung 2013-07-15 02:59:12 +08:00
@66beta
@Rabbit52 Laravel3 的文档其实挺好的,不比CI差,作者Taylor也说写代码时文档先行是军规,结果到了Laravel4 就长歪了…… 有些没有写入文档的API其实还是能查到的,不过就没写得那么仔细了。 http://laravel.com/api/ |
16
Rabbit52 2013-07-15 10:58:10 +08:00
|
17
PrideChung 2013-07-15 14:32:57 +08:00 1
|
18
Rabbit52 2013-07-15 14:39:25 +08:00
@PrideChung WoW!thanks very much!
|