后端开发需要学什么-前端开发与后端开发
可见ruby、python等动态语言的web后台框架还是相当牛逼的
为什么要使用框架? 实际上,目前如果全部自己写,那么开发效率是相当低的。 如此快速的产品迭代,o2o甚至做到了一周一次的产品迭代。 如果一个开发团队不能快速迭代产品,就会很快被对手和市场抛弃,而框架iu就是帮助我们的最好帮手。 早期的框架比较乱,现在一般一个好的框架都是基于某个好的软件方法论概念,比如mvc,mvvm之类的。
框架有多快? 框架中的老大Ruby on rails,曾经有一个视频,直播15分钟就开发了一个博客。
说一下我这半年用过的一些框架的心得
姜戈
这个算是python web框架的老大了,和rails对比过。 quora上的django vs rails之战持续了很长时间,但是django确实有很多值得诟病的地方,尤其是性能,因为它是一个庞大而综合的框架,几乎什么都有。 主要模块包括:django.template、django.orm、django.forms、django.url、django.admin、django.authenticate等后端开发需要学什么,最值得称赞的好像是django自带的admin系统。 作者曾经自己开发过一个学校社区系统。 后台是基于admin系统的,省了我不少功夫。 但是,由于他坚持事事亲力亲为,所以代码量巨大。 看源码几乎是一件很难的事情,对其orm又爱又恨。 首先,django的orm真的够简单。 在关系方面后端开发需要学什么,多对多和一对多设计的非常好。 和sqlalchemy相比,建立关系表真的是太简单了,但是也带来了性能的下降,接着他的模板系统,最新的1.8更新,最后他放弃了不能再运行的模板系统,转to Embrace jinja2,但两者的语法还是很相似的。
使用的公司:IBM、NASA、instagram、disqus、Pinterest、mozila
烧瓶
我的博客是基于flask开发的。 Flask自称是基于两个库的微框架,一个是前端渲染库jinja2,一个是url库Werkzeug。 其他的可以自己添加。 比如我的博客加入了wtf、sqlalchemy、pagedowm等库,flask相比django自由度高很多,但是也意味着需要自己造很多轮子
使用的公司:国内国客网、pinterest等。
龙卷风
这是一个可以处理异步的网络服务器。 它可以用来编写后端框架。 它有一组模板。 它首先由 Feedback 开发。 后来Feedback被Facebook收购,由Facebook开发。 Facebook前CTO出创业quora是基于tornado写的,国内版的quora也是基于tornado的,因为异步带来的效率很受欢迎。 不过笔者不是很喜欢他这种很java的写法,但是效率上好像比不上最近也能异步的nodejs。
使用的公司:facebook、quora、知乎
轨道上的红宝石
这是传奇框架的皇冠,它支持了早期的 Twitter 和很多公司。 基本上,硅谷的 rails fire 一团糟。 ruby 语言的作者称赞它充分发挥了 ruby 的元编程能力。 异常的程度,笔者在按照rails guide写的时候,完全处于恍惚状态。 突然一个blog出来几行代码,而且代码复用性极强,语法非常简洁,而且包括coffescript,jquery等等,很吓人,写的很cool
完全基于mvc框架,天然支持RESTful架构。 强烈推荐给初创企业
使用的公司:twitter、github、tumblr、国内100offer、freewheel等很多公司使用rails开发自己领域的小应用
详情:哪些公司使用rails
节点
这个基于谷歌v8 javascript引擎的框架几乎风靡全球。 它让javascript不再只是一种前端脚本语言,而javascript对异步事件的天然支持也使得用nodejs开发的后端非常高效。 作者的nodejs我经验不多,但是我不是很喜欢javascript的语法。 在国内,BAT基本都是在内部开发基于nodejs的应用,nodejs+mongodb+express+angularjs(意思是框架)是目前最火的创业公司。 公司的技术选型。
使用公司:BAT等多家公司