对jfinal和php的一些思考。

高山流水情 发布于 2016/06/14 00:13
阅读 3K+
收藏 2
jfinal是个java框架,php是门脚本语言,两者本是不相关的。但是社区里jfinal和php的讨论比较多,也就把这两者联系起来了。本人java用了五年,php用了近一年,对比着学习两门语言也有了一些感受。

这里我没有说jfinal或者php不好的意思,只是从一个开发老兵的角度,表达一些自己对java和php的看法。

直接一点,我认为java开发人员使用jfinal或类似的框架做网站,不如直接去学习php。

java的使用场景

java历史悠久,应用范围很广,可以做桌面程序、网站、企业应用、Android应用(暂不讨论),这么多年了,我觉得Java最适合的场景就是企业级开发,企业级应用主要面对的是业务复杂、系统稳定、数据安全等问题,典型的如ERP、金融、电力、电信、社保、电子政务、电商交易等等系统,这些系统里面各种优秀的中间件才是java开发人员要深入的方向,里面有大量的架构、设计经验可供参考借鉴。另外java开发人员在参与这些项目的时候,会不断接触项目管理知识,等经验积累到一定程度也可以走项目管理路线。我觉得随着这些领域的客户的不断成熟,java的作用会越来越大。


jfinal的优点

接触jfinal一段时间了,也写过几个demo,觉得确实很灵巧,特别是实现了主动域模型,这种开发模式相对于传统java开发确实效率较高,我也豪不怀疑jfinal可以使用在上面说到的企业级项目中。


出现的问题

在接触jfinal的过程中,不管是社区里使用jfinal的项目如jfinalbbs jfinalcms jpress等,或者jfinal官方宣传口号、使用案例,大部分都是web网站。我真的担心很多java开发人员特别是刚入行的新人会受到误导,会觉得困惑,会觉得java和php在web领域正在互争高下,并且在一些”php狂热爱好者“的言语影响下会觉得java已经落后于php了,实际上不是这样的。java最适合的领域是企业级应用,在这个领域php是做不了的,php只适合web领域的,用java去实现那些php早就实现的网站系统,觉得意义真的很小。


建议
上手简单,快速实现,部署方便等等这些都不是java最关注的地方,做为一名java+php老兵,我建议那些还在用java做网站,或者试图寻找更简单的java框架做网站的朋友,停下来仔细想想java的使用场景。如果真的想做web网站,不如壮士断腕,不在犹豫,直接学习php,不出三个月,保证让你豁然开朗。



加载中
1
超级大富
超级大富
用过很多,从C#.net,ssh,ssm,php,最后到jfinal,真心觉得语言就是拿来用的,有他特定的使用场景。不过我觉得jfinal真的不错,用了三年了。jfinal 适合新手,因为它提倡极简主义,约定优于配置,能让新手尽快上手,并且使用的都是基础,如果涉及复杂的,还可以自己动手写一些中间件和插件,这一方面就是提高了开发能力。顺便说下,jfinal 完全能胜任大规模企业级应用的开发
干死it
干死it
支持
1
JFinal
JFinal

    jfinal 社区功能完善好以后,会抽取出里面的通用的部分,分享出来一个最佳实践的项目,很多人对 jfinal 现有的看法会被彻底颠覆。

     jfinal 不光是做 web 很快,做服务端其实比做 web 要快很多倍,有朋友反馈说用上jfinal以后,99%的时间都花在了前端UI处理上。很多jfinal用户用 jfinal 做服务端,以往在ssh 时代折腾很久的功能,在 jfinal 中变成分分钟的事。

    jfinal 很多设计更多是为大型项目打造的,有不少说 jfinal 不适合大型项目的人,要不就是不懂 jfinal,要不就是人云亦云,实践已经证明 jfinal 极度适合大型项目,头手的案例已然不少。前天有一个反馈案例:jfinal + ehcache + mysql + nginx + 一个tomcat + 一台服务器 + 100M带宽,日 IP 18万,PV 3000万,而且完全不知道性能可达到的顶峰,这个访问量跑着很轻松。

JFinal
JFinal
回复 @蓝水晶飞机 : 前面回复过了,希望你能了解一下 getBean、getModel方法,本质上就是参数注入
JFinal
JFinal
回复 @蓝水晶飞机 : 开发2.1版本时就已经做好了方法参数传值功能,通过权衡硬是给删掉了这个功能。spring mvc 实现这个功能需要类似于@ParaName这样的注解告知参数名称,不仅代码量增加,而且学习成本相应增加,不是极简的设计,如果不使用注解指定参数名,需要让调整编译器参数,让其在编译时保留变量名meta信息,权衡下来jfinal目前的方式是最好的
蓝水晶飞机
蓝水晶飞机
回复 @JFinal : JFinal已用了2年多,SpringMVC也开始用。 建议JFinal增加这样的支持! SpringMVC支持复杂Object的注入,JFinal目前简单的注入也没有。 只是建议,JFinal很轻快但可以吸取下这种优势。
JFinal
JFinal
回复 @蓝水晶飞机 : 除了 getPara 以外,还有 getBean、getModel,相对于 spring的参数注入,只是代码从参数转移到了方法体内,代码量更少,难道没用过?
蓝水晶飞机
蓝水晶飞机
不妨学习下SpringMVC的Controller的参数注入。 写N个getPara、getParaToXx实在是太笨了。
下一页
0
eechen
eechen
真不知道楼主是怎么得出"PHP做不了企业级应用"结论的,请楼主展开细说.
企业级应用?ERP?说到底还不是数据库增删改查,PHP完全能够胜任,JAVAer少在PHPer面前装高大上.PHP有phpMyAdmin这种基于浏览器的强大MySQL数据库管理工具,吹牛逼的Java为什么不去搞一个?

还有,我一个求带我装逼带我飞的PHP菜鸡打包的PHPDroid,都能基于WebView和PHP内置HTTP服务器,像开发WAP手机站一样轻松快速开发APP应用,试问,PHP还有什么不可以?

当然,楼主作为一个JAVAer,用了一年PHP,得出了在Web上,在PHP面前,Java完全不占优势的觉悟,也是极好的.

但我必须说,当一个资深JAVAer心中充满了对PHP的崇敬,那Ta才称得上是Java老兵!
而JFinal作者开发JFinal,显然是被SSH框架奴役后的自我救赎.
Java Web 从入门到PHP, 真不是一句玩笑.
安静听歌
安静听歌
@欣儿 似乎这里曾发生一场异常激烈的战斗... ...
快速开发师
快速开发师
回复 @快速开发师 : 已经存在 JFinal和PHP比较 现在又发,jfinal要推广就推广,何必用这招?
快速开发师
快速开发师
回复 @西湖老司机 : 只要好理解,COPY改的次数少的框架就是好框架,至于选java还是选php那是架构师的事情。
西湖老司机
西湖老司机
回复 @mark35 : 亲,solr,hadoop可都是java写的哦
mark35
mark35
回复 @西湖老司机 : 全文搜索 大数据这些都是数据库干的事情吧,和编程语言有啥关系呢? php+scws+psgsql照样可以做FTS的
下一页
0
dy810810
dy810810

引用来自“eechen”的评论

真不知道楼主是怎么得出"PHP做不了企业级应用"结论的,请楼主展开细说.
企业级应用?ERP?说到底还不是数据库增删改查,PHP完全能够胜任,JAVAer少在PHPer面前装高大上.PHP有phpMyAdmin这种基于浏览器的强大MySQL数据库管理工具,吹牛逼的Java为什么不去搞一个?

还有,我一个求带我装逼带我飞的PHP菜鸡打包的PHPDroid,都能基于WebView和PHP内置HTTP服务器,像开发WAP手机站一样轻松快速开发APP应用,试问,PHP还有什么不可以?

当然,楼主作为一个JAVAer,用了一年PHP,得出了在Web上,在PHP面前,Java完全不占优势的觉悟,也是极好的.

但我必须说,当一个资深JAVAer心中充满了对PHP的崇敬,那Ta才称得上是Java老兵!
而JFinal作者开发JFinal,显然是被SSH框架奴役后的自我救赎.
Java Web 从入门到PHP, 真不是一句玩笑.

php运行时的生命周期就已经决定了它只能在http领域打转。

至于你说都是数据库的增删改查的问题,从j2ee的角度来说数据库只是数据持久化的一种方式。

如果什么都要数据库来决定,那还要php干嘛?

dy810810
dy810810
回复 @eechen : 切
eechen
eechen
回复 @dy810810 : PHP从不避讳说自己站在C的肩膀上. PHP是C语言在Web上的化身,是互联网的C语言. PHP初衷并非设计成一门语言,而是设计一套帮助Web开发者访问底层C库的API,直到3.0之后PHP才加入越来越多的语言特性. 今天的PHP驱动了超过八成的网站,成为一种适合解决Web问题的成熟工具.
mark35
mark35
回复 @dy810810 : php本身就是C批的马甲
游弋丶
战斗好激烈
dy810810
dy810810
回复 @eechen : 早就看过了。只不过主要功能人家用c做了,放了php给你调,然后你就说是php的功劳?年青人说话要干净,多刷牙有好处。
下一页
0
开源中国首席大弟子
开源中国首席大弟子
.....企业级开发就是数据库的增删改查? 要这么容易还要开发什么 写一些数据库编程就好了 erp的复杂程度岂是一点增删改查能完成的? 即是最后总结为数据的增删改查 那中间也有很多逻辑 很多业务 @eechen 你真的是一个”php狂热爱好者“ 真不懂有什么好争的 无趣
0
红薯的小黄瓜
红薯的小黄瓜
企业级开发跟框架没什么关系吧,现在还有企业开发用的还是Struts1,还有jdbc+servlet的。另外我觉得做企业级开发真没什么意思,"为了稳定",用的都是10年前的技术
0
西湖老司机
西湖老司机
java 还是老老实实 用springmvc ,要想快速开发 还真不如去用php
西湖老司机
西湖老司机
回复 @kideny : 不能比 不能比 我服我服
西湖老司机
西湖老司机
回复 @kideny : 哈哈 我看了 太精彩了
卖爷爷的老红薯
卖爷爷的老红薯
回复 @西湖老司机 : 人家凭着一个中专学历,就能跑到外企混吃等死,白拿工资还不用干活。这就装逼的功夫,你还敢跟他比?
卖爷爷的老红薯
卖爷爷的老红薯
回复 @西湖老司机 : http://www.jicker.cn/4535.html
卖爷爷的老红薯
卖爷爷的老红薯
回复 @西湖老司机 : 他就是上海聚物腾云公司的苗锡峰,一个中专毕业40多岁的老杂种,你真跟他讨论问题,哈哈。
下一页
0
yak
yak

   

前后端分离以后,eechen这种码畜套模板的工作,会让angularjs/react/vue 来自动完成 在可以预见的的3-5年之内,当web端/手机端新的架构解决方案普及以后,eechen这种码畜在osc基本能消停了 

yak
yak
回复 @eechen : 脑残天天吊打这个,吊打那个,拿钱多的马云为啥把php后端换成java后端了,为啥逐步把php前端换成nodejs前端了? 脑残赶紧把马云拖出来吊打一顿
yak
yak
回复 @eechen : 脑残以拿钱少为荣? 拿钱少的吊打拿钱多的,这种脑残也能写代码,我也是醉了
eechen
eechen
回复 @开源X : 以$的名义,jQuery吊打AngularJS,PHP吊打Node.
开源X
开源X
哈哈哈哈哈
0
红薯是个秃头瞎眼傻逼
红薯是个秃头瞎眼傻逼

引用来自“eechen”的评论

真不知道楼主是怎么得出"PHP做不了企业级应用"结论的,请楼主展开细说.
企业级应用?ERP?说到底还不是数据库增删改查,PHP完全能够胜任,JAVAer少在PHPer面前装高大上.PHP有phpMyAdmin这种基于浏览器的强大MySQL数据库管理工具,吹牛逼的Java为什么不去搞一个?

还有,我一个求带我装逼带我飞的PHP菜鸡打包的PHPDroid,都能基于WebView和PHP内置HTTP服务器,像开发WAP手机站一样轻松快速开发APP应用,试问,PHP还有什么不可以?

当然,楼主作为一个JAVAer,用了一年PHP,得出了在Web上,在PHP面前,Java完全不占优势的觉悟,也是极好的.

但我必须说,当一个资深JAVAer心中充满了对PHP的崇敬,那Ta才称得上是Java老兵!
而JFinal作者开发JFinal,显然是被SSH框架奴役后的自我救赎.
Java Web 从入门到PHP, 真不是一句玩笑.

从来没见过有哪个javaer神化java并且无端鄙视phper,

只见过某些phper神化php并且无端鄙视javaer.

甚至对不同意见这破口大骂素质极其低下没有家教.

这应该能说明问题了.

返回顶部
顶部