论坛首页 Java企业应用论坛

冷静的比较一下Douyu和Play Framework

浏览 49099 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-12-03   最后修改:2009-12-03
你说的不错。
Play的价值观是追求Web程序的开发速度,所以舍弃了很多面向对象的特性,有很多地方是过程化语言的特性.
你是否应该选择Play也要根据你是否能接受Play的这一条价值观来决定。如果Play不能舍弃一部分OO特性,他也不可能做的那么cool.
我的意思是不能默认Play的价值观是真理,他在面向对象特性上确实有缺陷,这看你是否需要这些东西。

我认为Play玩的最酷的地方,是充分运用了ThreadLocal,抛弃了传统的IOC模式。
0 请登录后投票
   发表时间:2009-12-03  
支持斗鱼之父
如果大家都用抱着只用别人(主要是国外的)的东西这样的想法,我们中国的软件开发何时才能进步?
有问题不怕,哪怕问题很严重,Java1.0的发布的时候还有东西没做好呢
0 请登录后投票
   发表时间:2009-12-04  
NK_HansWang 写道
支持斗鱼之父
如果大家都用抱着只用别人(主要是国外的)的东西这样的想法,我们中国的软件开发何时才能进步?
有问题不怕,哪怕问题很严重,Java1.0的发布的时候还有东西没做好呢

哦?计算机科学底层薄弱的国家,你还指望软件开发走到世界前列?
这就好比现在的所谓的“四代机”,呵呵,发动机做不好,材料做不出,还能指望“四代机”在短时间内飞起来?就说材料那一块,国内号称航空材料最牛的XX大学,里面的人才啊,倒卖的倒卖,忽悠的忽悠,自杀的自杀..指望个P啊。

0 请登录后投票
   发表时间:2009-12-04  
俺也来做个“冷静”“客观”的比较,个人感觉,本帖充分说明楼主的技术水平不如斗鱼的作者!

(嘿嘿嘿,我承认我很坏)
0 请登录后投票
   发表时间:2009-12-04   最后修改:2009-12-04
我的回复在
http://www.iteye.com/topic/540417

昨天花了一天写篇文章,刚上来JavaEye看看,10分钟前还好好的,一个投隐藏的都没有,
过了10分钟后马上变隐藏,我知道很多人看我不爽,
但无声无息的把我的文章隐藏掉实在让我觉得不可思义。


也需我文章中提到的用语过份了点:
比如"胶水框架"
和下面这句话:
ZHH2009 写道

之所以出现两者并存的情况只是因为Play是个胶水框架,
也许是Play的开发人员不想修改或没能力修改eclipse jdt。


胶水框架又不是贬意词,Python语言还常称为胶水语言呢,
胶水只不过是用来形容一个东西的特点罢了。

相比这篇文章的用语,我想我不为过。


既然如些,也不用在讨论什么了。
0 请登录后投票
   发表时间:2009-12-04  
ZHH2009 写道

我的回复在
http://www.iteye.com/topic/540417

昨天花了一天写篇文章,刚上来JavaEye看看,10分钟前还好好的,一个投隐藏的都没有,
过了10分钟后马上变隐藏,我知道很多人看我不爽,
但无声无息的把我的文章隐藏掉实在让我觉得不可思义。


也需我文章中提到的用语过份了点:
比如"胶水框架"
和下面这句话:
ZHH2009 写道

之所以出现两者并存的情况只是因为Play是个胶水框架,
也许是Play的开发人员不想修改或没能力修改eclipse jdt。


胶水框架又不是贬意词,Python语言还常称为胶水语言呢,
胶水只不过是用来形容一个东西的特点罢了。

相比这篇文章的用语,我想我不为过。


既然如些,也不用在讨论什么了。



我觉着投隐藏的并不是像你想象的看你不爽,虽然我没投隐藏...但是第一感觉:你对play的优点视而不见。

别的不说,光说说关于play的模板这一块吧:

你说斗鱼中可以很容易的使用freemarker,并举例说明:
import java.util.*;
import freemarker.template.*;

import java.io.PrintWriter;
import com.douyu.main.Controller;

@Controller
public class Test {
	public void index(PrintWriter out) {
	Configuration cfg = new Configuration();
        Template temp = cfg.getTemplate("test.ftl");
        Map root = new HashMap();
        root.put("user", "Big Joe");
        Map latest = new HashMap();
        root.put("latestProduct", latest);
        latest.put("url", "products/greenmouse.html");
        latest.put("name", "green mouse");
        temp.process(root, out);
        out.flush();
	}
}



这个在play中只需要这样写即可:

public class Test extends Controller{
      public static void index(Long id){
          User user = User.findById(id);
          render(user);
      }
}


模板中更加的简单,你可以直接使用user对象,这里不写了。而且play!的模板还支持继承(没有过freemarker,不知道是否也支持)

举这个例子不是说play与斗鱼谁更好,而只是想说明:作为一个开发人员,我不关心这个框架用了多么牛B的技术,我关心的是他是否有生产力?是否足够稳定和高效?

作为java web快速开发框架,play!具有rails一般的开发速度和开发体验,能够快速的将我的想法转化为实现。

希望douyu早日推出自己的1.0版本。早日成为一个真正有生产力的框架,加油。

13 请登录后投票
   发表时间:2009-12-04   最后修改:2009-12-04
avaj 写道



我觉着投隐藏的并不是像你想象的看你不爽,虽然我没投隐藏...但是第一感觉:你对play的优点视而不见。

别的不说,光说说关于play的模板这一块吧:

你说斗鱼中可以很容易的使用freemarker,并举例说明:
import java.util.*;
import freemarker.template.*;

import java.io.PrintWriter;
import com.douyu.main.Controller;

@Controller
public class Test {
	public void index(PrintWriter out) {
	Configuration cfg = new Configuration();
        Template temp = cfg.getTemplate("test.ftl");
        Map root = new HashMap();
        root.put("user", "Big Joe");
        Map latest = new HashMap();
        root.put("latestProduct", latest);
        latest.put("url", "products/greenmouse.html");
        latest.put("name", "green mouse");
        temp.process(root, out);
        out.flush();
	}
}



这个在play中只需要这样写即可:

public class Test extends Controller{
      public static void index(Long id){
          User user = User.findById(id);
          render(user);
      }
}


模板中更加的简单,你可以直接使用user对象,这里不写了。而且play!的模板还支持继承(没有过freemarker,不知道是否也支持)

举这个例子不是说play与斗鱼谁更好,而只是想说明:作为一个开发人员,我不关心这个框架用了多么牛B的技术,我关心的是他是否有生产力?是否足够稳定和高效?

作为java web快速开发框架,play!具有rails一般的开发速度和开发体验,能够快速的将我的想法转化为实现。

希望douyu早日推出自己的1.0版本。早日成为一个真正有生产力的框架,加油。




如果只是因为这个原因,那么我只能说看我文章的人没有认真思考我说的话,
那个例子只是用来说明不用修改Douyu就能在Douyu中使用freemarker,
并不是用来对比freemarker跟Play的模板的。

我举的那个freemarker的例子只是顺手从freemarker的文档中摘录下来的,
freemarker也同样支持用JavaBeans喧染视图,
也有include、import还有macro,功能的完备性比Play的模板要强大得多。
你可以参考这里:
http://freemarker.sourceforge.net/docs/index.html

如果单纯是这种情况:
public class Test extends Controller{
      public static void index(Long id){
          User user = User.findById(id);
          render(user);
      }
}


现在的Douyu都已经实现了
@Controller
public class Test {
      public void index(Context c, User user){
          c.insert(user);//还能真接插入数据库
          c.out("user.html",user);
      }
}

这里也有例子(UI层连权限问题都涉及了)
http://www.iteye.com/topic/517796?page=1#1246289
0 请登录后投票
   发表时间:2009-12-04  
ZHH2009 写道
我的回复在
http://www.iteye.com/topic/540417

昨天花了一天写篇文章,刚上来JavaEye看看,10分钟前还好好的,一个投隐藏的都没有,
过了10分钟后马上变隐藏,我知道很多人看我不爽,
但无声无息的把我的文章隐藏掉实在让我觉得不可思义。


也需我文章中提到的用语过份了点:
比如"胶水框架"
和下面这句话:
ZHH2009 写道

之所以出现两者并存的情况只是因为Play是个胶水框架,
也许是Play的开发人员不想修改或没能力修改eclipse jdt。


胶水框架又不是贬意词,Python语言还常称为胶水语言呢,
胶水只不过是用来形容一个东西的特点罢了。

相比这篇文章的用语,我想我不为过。


既然如些,也不用在讨论什么了。


我也很纳闷那帖子为什么被隐藏?我只有0分没有投票权限,要不我肯定是给良好或者精华的。。。
javaeye这里很长时间没有进行激烈的辩论了,很多帖子都没什么意义。开发人员之间互相辩论,吵个脸红脖子粗不是很正常吗?这里有多少人没有在开会时候拍过桌子的??这种争论才能相互学习嘛。。。
0 请登录后投票
   发表时间:2009-12-04  
建议douyu作者重新发帖吧,昨天没有看到,投隐藏很难理解,我看了那帖子。
0 请登录后投票
   发表时间:2009-12-04  
dennis_zane 写道
建议douyu作者重新发帖吧,昨天没有看到,投隐藏很难理解,我看了那帖子。


虽然我不知道是什么原因,我想还是算了,不想再重发了。

也希望JavaEye网站多加关注这类事情,
不管怎么样,这种结果难免对发帖人有一些情绪上的影响,
认真写篇文章也是花很多时间的,发帖人当然不想看到自己写完的东西得到这种反响。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics