从 Yii , RoR,37Signals 随便谈点

今天看了Yii和QeePHP的评论,想随便写点。写到儿算哪儿吧。

先写写RoR(Ruby on Rails).

RoR是37Sginals公司写的。Jason Fried成立了37Signals.最初只是一个HTML的网页开发者。我听过Jason好几次讲座,和他简单聊过一次。非常喜欢这个人。

10年前,Jason开始写网页。后来,有很多公司找他写,他发现网页维护是个问题,那时候,CMS系统还不太多,基本上全靠自己写。Jason找了很多美国的程序员,发现价格太贵。后来,找到了一个丹麦的程序员。两人一开始全靠远程交流,后来,这人来了芝加哥。Jason是一个崇尚简单的人。他建议程序员写一个类似半成品的东西,将来再开始更方便。于是Ruby on Rails诞生了。

小结: 科技创新是由需求产生和带动的。

RoR给37Sginals带来的很大的收益。37Signals在2005的时候,只有不到10个人,但Jason有一次讲座,默认在2005年的时候,收益超过600百万(因其不是上市公司,所以,不能透露具体收益。)

后来,Jason,决定让RoR开源。这是后话。

Jason开创一个业务开发模式,即先写一个框架,然后,大家讨论,改进。他的这一思路不仅摧生了RoR,而且还创造了其它很多业务。

Jason崇尚简单。他曾经说过,他开始写程序的时候,找律师写了一个合同,接近20页。后来,他感觉这太长,没有意义,就开始删。到后来,他的合同只有一页,业务照样做。他说,如果和客户搞不好关系。即便是一万员的合同,也保护不了你。与其这样,还不如用简单的合同。

Jason的崇尚简单,表现在很多方面。看一下他写的Meetup.com就行了。功能非常强大,但界面简单的和google差不多。

另外,Jason说他的任何一间办公室,从来不会超过两个人。他公司所有的雇员都是自己找地方办公,然后,通过网络互相联系。他公司目前也就是10多个人,但在全美国各地办公。真正实现了虚拟办公。

再小结–商业需求决定程序框架,简单就是美。

再回来头写Yii。不太了解Qiang,但我比较喜欢Yii。感觉比较朴素优雅,一如作者的文风。我感觉Yii大人用武之地。但我唯一感觉遗憾的是,Yii好象从一开始, 不是产生于一个强大的具体商业需求。我担心这将束缚Yii将来的发展。需求是创新的最大动力,尤其是具体需求。我的感觉是需求越大,创新的可能性也越大。

Will今天写到Qee目前有一个具体的商业公司在运作,而Yii目前在商业化方面,感觉还是玩票性质(因为两位作者工作都太稳定?)。

我写这个的目的,是想抛砖引玉,希望给Yii的开发团队提点建议。希望Yii能够尽快发展壮大。至少,一个强大的Yii系统,对所有用户都是有利的。

我个人感觉是Rails社区的momentum高,大量的优秀的web 2.0程序都是用Rails开发。相比较,PHP社区近年来的佳作反倒是不多……

商业需求能不能促进项目的发展我觉得也是因人而异的吧?CodeIgniter的商业需求便是硬生生的将CodeIgniter的发展限制住了。尽管CI本身仍然是个相对比较成功的PHP框架。

目前的经济形势,是个抓机遇的好时机。:)

Quote

我个人感觉是Rails社区的momentum高,大量的优秀的web 2.0程序都是用Rails开发。相比较,PHP社区近年来的佳作反倒是不多……

商业需求能不能促进项目的发展我觉得也是因人而异的吧?CodeIgniter的商业需求便是硬生生的将CodeIgniter的发展限制住了。尽管CI本身仍然是个相对比较成功的PHP框架。

目前的经济形势,是个抓机遇的好时机。:)

我不觉得CI的商业需求限制了CI的发展。CI很简单,以致于不需要学习就能直接使用,相比于Yii需要花费很多时间学习,CI是有很大优势的。

另外,CI支持PHP4是一个很大的优点。很多人说现在都是PHP5的天下了,但是,很多虚拟主机都还是用PHP4的,请注意我说的是虚拟主机,如果你自己有服务器,请不要参与讨论。

现在大部分的PHP博客程序和CMS程序,都是基于PHP4的,为什么不用PH5呢?你能说这些CMS都像CI一样,限制了发展吗?从这里我们也可以想像一下PHP4是多么的重要。

我是为客户写程序,不是为自己写程序,客户的要求是多变的,甚至是变态的,有时候客户会要求用PHP4来运行,所以CI是一个很好的选择。

我想起了一句话,虽然不成比喻,但凑凑热闹。有这么一句话,当一群人和一辆卡车,现在特别需要这辆卡车,那会开车的司机,那就是人才了。尽管这群人都是教授,医生,电脑天才。但没意义。根据这句话,我们不能说国家只需要开车的司机,其他职业的不需要啊?

原来meetup是他的

Quote

Quote

我个人感觉是Rails社区的momentum高,大量的优秀的web 2.0程序都是用Rails开发。相比较,PHP社区近年来的佳作反倒是不多……

商业需求能不能促进项目的发展我觉得也是因人而异的吧?CodeIgniter的商业需求便是硬生生的将CodeIgniter的发展限制住了。尽管CI本身仍然是个相对比较成功的PHP框架。

目前的经济形势,是个抓机遇的好时机。:)

我不觉得CI的商业需求限制了CI的发展。CI很简单,以致于不需要学习就能直接使用,相比于Yii需要花费很多时间学习,CI是有很大优势的。

另外,CI支持PHP4是一个很大的优点。很多人说现在都是PHP5的天下了,但是,很多虚拟主机都还是用PHP4的,请注意我说的是虚拟主机,如果你自己有服务器,请不要参与讨论。

现在大部分的PHP博客程序和CMS程序,都是基于PHP4的,为什么不用PH5呢?你能说这些CMS都像CI一样,限制了发展吗?从这里我们也可以想像一下PHP4是多么的重要。

我是为客户写程序,不是为自己写程序,客户的要求是多变的,甚至是变态的,有时候客户会要求用PHP4来运行,所以CI是一个很好的选择。

如果只是做放在虚拟主机上的企业站活在那种用cms就可以搭建起来的小站的话,其实用不用框架都没所谓了。实在要用就用ci,fleaphp都可以很好的满足需求了。

但php4在目前的技术潮流和业务潮流下早已捉襟见肘,在面对复杂的web2.0架构的网站的时候,为什么还要为了一些残留的php4主机技术抱住过时的php4不放,而且现在国内大部分虚拟主机都支持php5了。

个人认为yii要有长足的发展,还是应该致力于不断加强轻量级底层的构建和高扩展的包容方向,轻量级是为了可以适用于大部分的项目,而不因为倾向于某种单一业务而让开发其他系统的开发者望而却步,高扩展可以让框架可以包容更多的可利用资源,方便的自我扩充并且被再利用。这样的框架,才算是面向广大人民的框架,其实RoR也就是走了类似的方向发展成现在的规模。

另一个思路就是像CI一样针对某一业务领域或用户群,看起来好像是做精做深,但如果选择的领域没有足够的独创性和足够深入的技术深度,很容易被模仿或替代。

谢谢moho分享你的想法,看来你也是对Web开发领域很有心得。我是通过RoR知道了37Signals这个公司,我也用了meetup.com两年多了,参加过一些本地的Meetup group,事实上我有段时间对meetup.com的模式很感兴趣,曾想过做一个类似meetup的中文网站,没想到meetup.com背后就是37Signals,难怪觉得它有一种特立独行的味道,呵呵~

关于你说的两点小结,我也比较赞同,虽然不是所有的框架都必须从具体项目中来,但是通过需求产生的框架会天生的贴近“实战”,而且很自然的有第一批忠实而专业的advocates,并通过项目本身(例如,37Signals的很多项目)起到很好的宣传推广作用,这一点在RoR上发挥得淋漓尽致。

关于Yii的发展,近来我有看到Qiang有扩大队伍的打算,这是一个好势头,毕竟做这么样一个开源项目,不能只靠1、2个人辛苦工作。

期待moho更多的文章!