论坛首页 Web前端技术论坛

JSF 与 "我的伟大发明" ---- 关于B/S UI开发的胡言乱语

浏览 67572 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-11  
zqrain :

不要为了模式而模式 不要为了解耦而解耦 不要为了设计而设计...
这类的话我听到太多了


但是我想听听 B和S 解耦 有什么弊端 ? 有什么坏处?


你认为这种需求是“小概率事件”?
就算是小概率 但是他也是必然要发生的事,因为企业的系统是要更新换代的. 也许更新的时候不会再找你们公司做,所以你可以不必去想 更新换代的时候有多痛苦.

就算是小概率 也正是因为系统进行重大的改变和升级需要太高的成本,所以他在有些时候才会成为小概率事件.

就算是小概率  也正是因为系统进行重大的改变和升级需要太高的成本,所以很多企业设计一套系统要用近十年不升级.

而解耦正是为了降低这种风险和成本.


你认为这种设计提高难度? 错了 这可以更好的分工. 更好的让专业人才在自己擅长的领域内发挥威力. 而不比让所有人都成为全才.

你也许没有开发过复杂的系统, 没有开发过需要你自己写组件 自己扩展框架的系统
你做的系统也许只要 使用JSF(或其他框架)现有的东西 在IDE的帮助下, 就可以完成

但是 请你再多想一想. 从开发的整个周期来想一想.
引用
开发一个用来在浏览器里展现数据的树形组件, 我居然要安装jdk 要安装tomcat  安装数据库.... 这是多么荒唐的一件事啊.



我无意贬低你 也无意贬低你所从事的工作, 但是你所接触到的 你所身处的环境 真的真的和我在讨论这个问题时 所设想的环境 差的太多.

我们不是一个领域内的.  存在即是合理的,所以 你可以说JSF是优良设计 你也可以说jsf很好, 但是你所说的内容 无法打动我.






0 请登录后投票
   发表时间:2008-04-11  
casazaft:

引用
页面的显示逻辑和应用程序逻辑可以完全分开


这个该怎么理解呢?

我觉得JSF 就是把 页面逻辑挪到了 server端来做.

可能在server端两种逻辑是分离的,
但是我点击一个链接跳转到另一个页面
或者是点击A按钮后隐藏b列表 这种纯的展现层的东西,为什么要用标签封装起来 交给后台来做呢???


不是反问 也不是质疑, 而是真的是疑问句, 是想知道原因.
0 请登录后投票
   发表时间:2008-04-11  
casazaft:

首先非常感谢你 一直能够以一个平和的心态与我这个偏激的JSF小白痴讨论问题.
非常感谢. 

引用

java程序员有需求也有必要使用一套能跟java无缝配合的Web UI框架,官方推的就是JSF


我可不可以理解成 JSF压根就不是为有"我所说的那种松耦合"需求的b/s系统而生的?

它的出现就是为了让那些java程序员也有能力来编写复杂的UI组件??


如果是这样 那么 我说:
它不是一个好的架构设计 , 因为java不适合也不擅长做UI组件.
UI组件也不应该让java程序员来做

我的这个观点是否有错呢?



casazaft 写道

那么页面的逻辑就必然用很多JS 来实现,如此一来重用性大为降低



这个观点我是不同意的.js这种运行在页面里的灵活的脚本语言来做页面逻辑绝对要比java合适很多. js也可以组件复用啊. js也可以封装成组件啊.
认为他难,很大程度上是因为团队里缺少能够熟练驾驭它的人.
但是不能因为队伍里没有会飞机的人,就认为飞机没有汽车好啊



可能很多人认为我对java j2ee有敌视情绪. 其实恰恰相反. 我从大学开始接触java,也在东软那种使用j2ee开发大型项目的公司工作过很久. 所以我对j2ee有很深的感情.

我也知道对于那些做项目的公司来说, 能够低成本的按期完成项目最重要.
他们恨不得程序员按一个按钮 所有代码都自动生成,不管生成的代码多垃圾,只要能满足客户的需求 能交工就OK.

但是 我在这里探讨的不是 "什么技术能帮助企业赚钱" 而是 什么技术从长远来讲是更合理的,是更适合B/S架构的.


有位朋友说"不要为了设计而设计", 但是在说这句话的时候, 请先指出这种"设计"有什么不好, 不要因为你不认同这种设计就说这种设计是"为了设计而设计"( 这段太绕口了 呵呵)


请大家能和我一样,带着一颗浪漫理想主义的情怀, 揣着一刻追求更高目标的心情来看待问题.

如果讨论 java 和 .net到底哪个低层设计好时,

我说: java好,因为windows server不免费.
你说: websphere 也不免费啊 而且贵的要死.
他说: 但是可以用免费的j2ee容器啊
你又说: java看似免费,但是后期投入成本还是很大的

....

你觉得这是讨论技术的好方式吗?

不要总是拿"JSF可以帮助公司快速完成项目"来举例. 如果有好的IDE,有很多垃圾框架都可以做到快速开发.




我还是要再说一次:
开发一个用来在浏览器里展现数据的树形组件, 我居然要安装jdk 要安装tomcat 安装数据库.... 这是多么荒唐的一件事啊.
0 请登录后投票
   发表时间:2008-04-11  
就算是小概率 也正是因为系统进行重大的改变和升级需要太高的成本,所以很多企业设计一套系统要用近十年不升级. 

我猜想这应该不是什么产品把,应该就是你说的项目了吧!(其实,我本毫无贬低项目开发之意)

引用
我无意贬低你 也无意贬低你所从事的工作, 但是你所接触到的 你所身处的环境 真的真的和我在讨论这个问题时 所设想的环境 差的太多.

晕倒,我的环境差?! 那世界上可能就真找不到好的环境了!~
建议你好好打听一下,目前都是那些公司和组织在大面积使用JSF!哼哼!

本来还以为你是一个爱学习的青年,所以跟你聊聊,以免你错过一个好的技术,跟是害怕因为你的连续两个帖子误导一匹同样好学的人.

但是,你的无知和故步自封太让我失望了.(最讨厌一些菜鸟没搞清楚一个技术就胡乱批评)

送你一句robin说给hibernate反对者的话:你要用就用,要不用就不用!
0 请登录后投票
   发表时间:2008-04-11  
引用
晕倒,我的环境差?! 那世界上可能就真找不到好的环境了!~
建议你好好打听一下,目前都是那些公司和组织在大面积使用JSF!哼哼!




我说差很多 是指相差很多 是指差异的意思
你还真会联想

你那个 "哼哼"两个字用的真是太帅气了 你牛


我对jsf提出的质疑和我的问题 你不正面回答 却总是在说一些类似"你不要为了分层而分层之类"的 唉 无奈


0 请登录后投票
   发表时间:2008-04-11  
casazaft

其实我的想法挺简单的.

一个复杂的系统 现有的ui组件无法满足需求
我需要自己开发大量的ui组件.
这时候 如果是用jsf 那么开发调试过程很痛苦 就像我说的:jdk tomcat 之类的东西一个不能少.

而且开发人员java ajax都要掌握.

而一个充分解偶的b/s系统 完全可以更轻易的做这种分工和分层开发.

同时更容易实现 一个server为多种展现层技术服务 (html jsp php asp ....)
我完全可以开发出一个 php+j2ee的系统


关于你说的 数据协议(格式)的问题 我觉得不是大的问题
s和b之间传输xml也好 json也罢 归根结底是一种"字符串的游戏"
把pojo map resultset sdo....不管是什么 都是要序列化成一个字符串.
而这个 字符串的转换完全可以通过一个通用的 或者是很薄的层来实现.

关于js
js好多年没有大的发展是因为 人们认为js在那段时间已经足够用 没有足够的动力和理由去做大的改变. 而现在为什么要出2.0 3.0....
就是因为 人们渴望在b端做更多的事情. 同时 随着浏览器 客户端主机的飞速发展 b端也有能力来做更多的事情.
所以 该b端做的事情就让b端来做 这个思路 我觉得还是正确的.


关于java与ui
我这里讨论的是b/s 系统 也许java可以开发复杂的ui,也许web ui没有桌面系统ui复杂,但是java却偏偏不适合开发这种更简单的webui.

==============================================


讨论这个问题是讨论不出结果的 就好像讨论 java vs .net 一样.

我并不是为了唱高调,也不是为了给自己不想学习jsf找任何借口
我只是想表达一下自己对jsf浅薄的看法 以及听一听不同的声音.

交流讨论的目的是为了充分表达自己的观点,而不是为了"战胜"对方.

对JSF反对的声音一直很多,但是我也注意到jsf这两年正在越来越受到重视.
但是我觉得它受重视的原因主要还是商业运作上的成功
sun提出的,标准的 规范的 统一的.... 在这些形容词修饰下的JSF 对那些银行 电信 电力之类的大型企业确实很有诱惑力.
而且借助ide 确实可以让众多水平参差不齐的软件蓝领 代码机器们高效的运转.

但是这种成功 我觉得不是真正的成功. 我还是坚持认为 以数据为中心的B/S模式 是更正确的.



0 请登录后投票
   发表时间:2008-04-11  
原来B系统和S系统那篇文章是你写的。
hint:我是TY。
0 请登录后投票
   发表时间:2008-04-12  
我决定好好研究研究JSF 然后再来和大家继续讨论

我下一步打算 封装一个GT-GRID的 jsf组件版

我研究的目的不纯, 是为了证明 它确实不好. 也许带着这样的动机去研究并不是好事 呵呵

0 请登录后投票
   发表时间:2008-04-12  
真的看了大家的讨论,感觉受益匪浅啊!
一定要努力,努力到能真正看到大家的讨论!
小辈我真的还需要很大很大的努力才能到这个层次啊!
一定要加油!
0 请登录后投票
   发表时间:2008-04-12  
jsf和asp.net的服务端组件技术同出一辙,说白了,简单点就是事件驱动机制的延续,只是为了达成目的所采用的另一种手段而已。你用筷子吃饭,还是用刀叉吃饭,反正你的目的就是要填饱肚子,何必在乎用什么东西吃呢,用你习惯和擅长的就是了
0 请登录后投票
论坛首页 Web前端技术版

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