框架小结
发布在BlogQ - For Web Dev2015年5月30日view:2703web框架
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

写在前面

这段时间(大概大半个月吧)用

nodejs(express) + mongodb(搭建完成)
django + mysql(写到登录和博客页面的解析结束)
php(laravel) + mysql(目前博客的构建)

都写了遍自己的博客 总台感受是,没有最好的框架,只有最适合的框架 小结一下,写的多有不到位,还望指出


python django

django还挺好用的,而且组件相当全,本身基因决定是个服务于媒体站点的框架 自带auth、article、blog、admin这样的模块 非常方便好用,而且部署还算是比较方便的(天杀的sae竟然只有1.4的django,应用引擎们对某些框架不是特别友好唉) 而且app这样的概念非常棒,可以木有顾虑的删除某个app子目录而不影响整个应用,在其他框架里比较少见的优点。

要说缺点的话

总感觉django框架的速度比php的框架要慢,速度一般般吧,虽然可以用c改写组件,但是好多国内的应用引擎不支持CPYTHON template很弱还不太好换 比如我在用的sae(再来一遍吐艳的sae)

就这个框架本身而言,优缺点是相生的

  • 组件的丰富就构成了第一个缺点,大包大揽,框架不够轻。虽然不要的组件也不会影响效率,可以自己在原生的组件基础上修改自己的model出来,很人性化(说好的缺点呢= =),但是不是那么好改的。他自己的auth模块改了很久,因为他是Nickname unique,耦合性高,牵一发动全身
  • 最为人吐槽的一点,就是官方文档和官方教程有点简陋,而且我至今木有找到一个非常新的教程(本人用的是1.8的系统),边看官方的文档,然后借助stackoverflow到处填坑;
  • 坑比较多,更新官方称是向后兼容的,其实1.7、1.8已经变动非常大了,但是主流的这些个app engine还没有支持最新的,django book写只写到了1.6,所以好多还多坑啊(主要是我还不习惯完全用文档来学习0.0)

总结来讲: Django是一个相对比较重的框架,大包大揽,组件的可替换和扩展性比较差。如果你的web开发风格和django很相似,那django对你来说简直是仙丹,但是如果有很多相悖的地方,改造起来很痛苦,甚至不如自己组建一个框架。


Nodejs

js真是个又爱又恨的语言(php:主人那不是我么,爱我你不怕么O.O),优点是动态语言这个大类都有的,不过缺点啊。。回调用来处理小程序的非阻塞还好,试想一下如果是写一个逻辑稍复杂一些的,cb套cb想起来就有点恐怖啊,非阻塞也有非阻塞的坏处。 不过很多大神表示这个还是很好克服的,献出膝盖先。一直关注nodejs,作为一只前端,能用自己的孩子来写后台,太**浪漫了。

不过 npm 是真挺方便 不过,我用nodejs遇到的最大的一个困难,是mongodb的model层,我先后用monk、mongoose管理mongodb,monk非常简洁,当然功能不够丰富,没有model的概念,mongoose是有model的概念的,当时认证卡了比较长的时间。当时想试试django、php,这点就直接放下了,博客写完了没部署成功。

用的时间不长,不多写了,留个坑以后填。


PHP

php没有优点
php是世界上最好的语言
php没有优点
php是世界上最好的语言
……
又爱又恨的典范

骂php的人很多,因为他太流行了,份额巨大,也有托wp的福。 大家一直都这么说,不过这个语言就是为web而生的,不能再适合快速敏捷的web开发了。

为什么大家都黑他,其实跟当年js很相像嘛,入门门槛很低,很多不重视技术的站长都拿来扫个两眼视频教程,想怎么写就怎么写,js往html里到处写、随便命名(这错误我自己入门时候犯过),不像java、python的使用者那样平均素养来的高 写php的就更不说了。。我相信有非常非常多的人都是在不合理的使用php,比如把视图、逻辑、数据模型全都混在一起。

不过,Laravel的出现让php的优雅开发变得很简单

我用过的框架不多,公司里用的java的spring,自己也只用过屈指可数的框架。

但是一用到laravel瞬间觉得世界都美好了,开发优雅、简单、语义化,开发的非常开心,不到2天就基本写完了,一些基本的组件很轻很好扩展,比如用户认证这块,甩了django好远,而且有Eloquent ORM这么强大的model层组件,非常非常好使。 部署快捷也是优势,直接传文件,改一下htaccess就上线了,对于中小型的web开发是神器级别的。

缺点呢 调试真的不是非常方便,有点反人类,duang几个翻页的信息,问题定位比较慢。原谅我暂时还真想不出什么大缺点。

评论
发表评论
3年前
赞了此文章!
3年前

为嘛自己可以赞两次= =

3年前
赞了此文章!
3年前
赞了此文章!
3年前
赞了此文章!
WRITTEN BY
QDavid
道理我都懂
TA的新浪微博
PUBLISHED IN
BlogQ - For Web Dev

放一放博客文章的地方O.O http://qianzewei.com(5.30还在开发中……)

我的收藏