`
leebai
  • 浏览: 64792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

从JSF和Ext看WebUI开发--给对JavaScript 有恐惧感的朋友

阅读更多

话题由来:http://www.iteye.com/post/523520?page=1

把其中我的观点整理出来:

100%支持fins!!! B端和S端彻底分开,分别有自己的框架,“UI层与系统其他层面的东西的唯一联系应该是"数据" ,UI层应该是在后台系统不变的情况下可切换的”,这种架构策略完全可行,而且实际代码上也比JSF/asp.net等“server page”变种优雅,本人已经在N个项目中实践过:

http://www.xjawa.org/xjawa/kontent/10020.html

使用这个7wxAop框架(浏览器端7wx + 服务器端Aop),有个朋友喜欢用Ext做前端,他就把7wx替换成Ext, 照样跑得很好:

http://www.deepsoft.com.cn/ext-aop/demo.html


那些不理解fins得同学,可能是没做过ajax开发,或者ajax用的比较少,或者思想已经被“server page ”方式禁锢。虽然本质上 jsf 还是“server page”,但确实比jsp、tag强很多;但是比起B/S完全分开得架构,jsf还是很丑陋。 我们公司有个项目组用得是SAP得WebDynpro,和jsf类似,要比jsf成熟,但实际开发起来也是很多问题。

个人认为,fins设想的这种架构之所以未被普遍关注,是因为它损害了J2ee大厂商的商业利益,因此他们控制的主流IT媒体不愿宣传。想想:如果Server只是用来接受数据->处理逻辑->返回数据,服务器端将非常Lightweight和Performance,大厂商的J2EE服务器还有高性能硬件还会有几个项目需要? 

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

。。。正如我前面提到的,不理解fins的人大多是思想被“server pages”禁锢者,总认为浏览器只能负责 html render,其他一切都应该在服务器上完成,就如IT业早期的主机-字符终端模式。这种思想本质上是把浏览器看作21世纪的字符终端,完全忽略和闲置了目前运行浏览器pc的强大计算功能。

。。。在一个server和UI无关的模式下(下面称为“server business”,与“server pages”对应),server只是一个business logic server(只接受UI请求改变或查询系统的state),大致相当于砍掉了J2EE的Web层,Lightweight是肯定的了,至于Performance,除了节省处理
'UI layer'(NOT ONLY 'presentation layer') 的CPU开销,更重要的是大量节省服务器的出口带宽开销。

。。。“server business”模式(SB)与“server pages”模式(SP)本质上是不同的,SP下的'presentation layer'概念并不适合SB模式。

。。。将ajax单纯地视为transition technology本身也没什么错,虽然Ext等前端组件已经超越了这一概念。用Javascript framework称呼基于浏览器的“全功能UI Layer"并不适当,后者 = HTML + DHTML(DOM) + JS,JS只是一个粘合剂,Ext等前端组件本质上只是扩展了HTML Element,假设HTML 6.0包含了功能强大的TreeView、ListView(GRID)等通用UI组件,则JS将回归为单纯的DHTML API操纵语言。 至于RIA(javaFx or Flex),我认为它是侧重多媒体表现的“全功能UI Layer"的等价物,它的发展前景取决于厂商对它的定位,如果你认同RIA,就没有理由不认同“全功能UI Layer"的思路。
 



JSF:基于服务器端的UI模型,Ext:基于浏览器端的UI模型。

很多人质疑以JavaScript为中心的UI开发,其实是对html/JavaScript的恐惧。

1、 不要把《 HTML(含CSS) + DHTML(或DOM)API + JavaScript开发》 简单理解成 JavaScript 开发。很多人觉得“JavaScript”难以掌握,是因为他们混淆了JavaScript脚本语言本身和它所要操纵的API:其实JavaScript本 身 非常简单,但它所要操纵的API“非常复杂”,因为HTML(含CSS) + DHTML(或DOM)API所涉及的API对象、属性、方法、事件数量巨大,可以说和Win32 API,JDK API(不单是swing/awt)同一个数量级。

2、HTML(含CSS)作为UI的表达语言,其“潜在的”界面表达能力应该说远远超越任何已有高端UI组件库(asp.net,jsf,Ext...),因为它们本 身 都是基于HTML(含CSS)开发的,要想完整地(还不含绘图)、无障碍表达WebUI,掌握HTML(含CSS)及其API--DHTML(或DOM)是必由之路。

3、所有高端UI组件库的设计思想都是提高组件粒度,以掩盖HTML(含css)的复杂性。不同在于,服务器端UI组件(asp.net,jsf)试图“彻底”掩盖,它们排斥直接使用HTML(含css),并且操纵UI组件的API面向后端语言(C#,VB,java);而浏览器端UI组件(Ext等)是“开放性的”封装,允许直接操作HTML(含css),操纵UI组件的API面向javascript。

4、服务器端UI组件的使用者,一般不太关心组件的具体实现,而且使用中也缺乏HTML+JS的训练,当组件功能满足不了要求时,自己扩展组件的难度很大,也就时说使用组件和开发组件之间存在巨大鸿沟。而浏览器端UI组件的使用者,一般会大致了解组件的实现,使用中频繁接触HTML,JS操纵能力也得到训练,因此他们会比较自然地形成组件改造扩展能力,使用组件和扩展组件之间得学习曲线是平滑的。

5、因此,从开发人员自身职业发展的角度看,要想成为无障碍的Web开发者,使用浏览器端UI组件模式应该是更好的选择。

作为Web开发者,必须热情拥抱HTML(css)和javascript,否则只能是半拉子开发人员。

 

分享到:
评论
114 楼 leebai 2008-05-24  
<p>to zqrain: <br/><br/>说你们“!!!<span style='color: #ff0000;'>看帖不认真<img src='../../../../../../images/smiles/icon_eek.gif' alt=''/></span>!!!”,一点也没冤枉你们: <br/><br/>“<span style='color: #ff0000;'>B端和S端彻底分开</span>” 那是fins帖子的观点,我如果要论证支持fins的观点,<span style='color: #ff0000;'>又何必另起一贴</span>? 我引用fins帖子当中我的回复文字,只是告诉大家“!<span style='color: #ff0000;'>话题由来</span>!”而不是在本帖中继续讨论fins的主题。 <br/><br/>“<span style='color: #ff0000;'>作为Web开发者,必须热情拥抱HTML(css)和javascript,否则只能是半拉子开发人员</span>。” 是我的主贴通过5段论述之后的<span style='color: #ff0000;'>总结陈词</span>,所以我说这是本帖的“<span style='color: #ff0000;'>中心思想</span>”,怎么就“<span style='color: #ff0000;'>偷换主题</span>”了? 你再读读主贴<img src='../../../../../../images/smiles/icon_cool.gif' alt=''/>。</p>
<p> </p>
113 楼 zqrain 2008-05-24  
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>谁说支持JSF是对Javascript有恐惧?! <br/><br/>(1)谁告诉我你用JSF就可以完全不写Javascript? <br/>(2)按你的逻辑是不是用ruby的人就是对Java的恐惧?!(可能这个比喻还不够恰当,因为至少Java EE和ruby有比较好的可比性)。 <br/>是不是用Spring的人就是对EJB的恐惧?! <br/>使用JS框架的人是不是对手写JS的恐惧?! <br/>是不是使用java这种高级语言就是对汇编的恐惧?! <br/><br/><strong>只知其一,不知其二的时候,最好是先把自己不清楚的东西先搞透彻!</strong> <br/><br/><strong>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</strong> <br/><br/>JSF的初衷是提供大粒度的组件,早期的实现版本根本就和JS框架没有任何竞争关系;目前rich client的JSF实现,同样是提供大粒度组件,甚至有些框架本身就提供了很强大的JS lib供browser端程序员使用,那些JS库的功能非常类似你们熟悉的EXT,DOJO等框架。 <br/><br/><br/><br/><br/></div>
<p> </p>
<p>我的原话是: <span style='color: #888888;'>很多人质疑以JavaScript为中心的UI开发,其实是对html/JavaScript的恐惧</span></p>
<p>对看帖不认真、逻辑不清楚的朋友,我建议:先认真看贴,再仔细整理并表达自己的思路,否则各说各话,讨论没有意义。</p>
</div>
<p>我的回帖,本来根本没有专门指你,</p>
<p>但是,你的标题和言论实质上已经在误导一些人。</p>
<p>然后你又跟我玩文字游戏!太无聊了。</p>
<p>恳请javaeye上的朋友,在宣传你自己的技术的时候,不要随便拿自己不太懂的技术去做比较。</p>
<div class='quote_title'>写道</div>
<div class='quote_div'>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</div>
<p>如果想比,也很好,讨论可以帮助技术不断进步和创新,但是,请事<strong>先研究清楚!</strong></p>
<p>至少在你不清楚的时候,不要误导别人。</p>
</div>
<p>不想和你打口水战。</p>
<p>请反驳本帖的中心思想:</p>
<p><span style='color: #888888;'><br/>作为Web开发者,必须热情拥抱HTML(css)和javascript,否则只能是半拉子开发人员。</span></p>
<p> </p>
<p>你说JSF有一万条有点我都不反对。但,<strong>我没研究清楚JSF</strong>的前提下判断:精通<span style='color: #808080;'>JSF的开发者</span>在一些情况下还必须学习使用<span style='color: #888888;'>HTML(css)和javascript</span> ,而<span style='color: #888888;'>浏览器端UI</span><span style='color: #808080;'>开发者</span>却没有必须学习<span style='color: #808080;'>JSF</span>的时候,有问题吗?  </p>
</div>
<p>本来实在不想再回这个帖子了。</p>
<p><strong>你的偷换主题的能力怎么如此强?!</strong> 如果像你这样修正自己的主题,我猜世界上实在很难有人能跟你辩论!呵呵,I 服了U!<strong/></p>
<div class='quote_title'>写道</div>
<div class='quote_div'>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</div>
<p>最后,我清楚的重申一下,<strong>我没有特别的反驳或者赞成<span style='text-decoration: underline;'><em><span style='font-size: small;'>你</span></em></span>的观点,我只是担心你的帖子以及回复会误导一些人</strong>。(这一点,我用你的话教育一下你自己:<span style='color: #ff0000; background-color: #ffffff;'>对看帖不认真、逻辑不清楚的朋友,我建议:先认真看贴,再仔细整理并表达自己的思路,否则各说各话,讨论没有意义</span>)</p>
<p>如果你只是强调<span style='color: #ff0000;'>Javascript在web开发中的重要性</span>,你完全可以跟FLEX等browser端技术比啊,你拿JSF当靶子是什么意思?!明明就是在误导人!</p>
<div class='quote_title'>写道</div>
<div class='quote_div'>把其中我的观点整理出来: <br/><br/>
引用
100%支持fins!!! B端和S端彻底分开 ...
 <br/><br/> </div>
<p> 如果你的观点是<span style='color: #ff0000;'>B端和S端彻底分开,</span><span style='color: #000000;'>那请你回到你的真正主题!</span></p>
<p>另外,无论你的主题是什么,请你确保你先把你要比较的技术搞清楚,以免再误导他人。(如果不是很清楚,当然也是人之常情,谁都有不熟悉的东西。但这个时候,请不要动不动就来个批判,让人家以为你很懂,这样不好!)</p>
112 楼 csf177 2008-05-23  
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'>
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'><br/><br/><br/>HTML和JS仅仅是前端模块必须的 一个project需不需要拥抱HTML跟JS与用不用JSF没有任何关系吧 <br/><br/>不要以为JSF提供了点前端的东西就觉得JSF是专门为替代前端技术出现的 JSF是在模仿.NET <br/></div>
<p><br/>前面那句,你的观点就是我的观点。</p>
<p>后面那句,在很多人看来,JSF确实就是为了掩盖HTML/JS的复杂性而设计的技术,我也是这么认为,不同的是,我认为这种掩盖不会很成功,而且对开发人员的技术积累不利。</p>
</div>
<p><br/>JSF只是为前端提供了一个封装方式而已 跟.net很像 </p>
<p>难道你会以为.net就靠几个原生控件活着?</p>
<p>那几个控件其实就像用MFC生成的窗体向导一样 只是给最最初级的使用者SOLO方便用的 </p>
<p>你能说MFC是为了消除Windows编程复杂性而设计的么 那只是个类库 基于ATL封装WindowsAPI成Class而已</p>
<br/></div>
<p> </p>
<p>sorry,我一直理解的jsf就是 <span style='color: #ff0000;'>基于服务器端的UI模型</span>(对应的是我认为<span style='color: #ff0000;'>更合理</span>的<span style='color: #ff0000;'> 基于浏览器端的UI模型</span>),如有问题请指正。</p>
<p><span style='color: #000000;'><span style='color: #ff0000;'><span style='color: #000000;'>难道你的理解是:</span>前端UI模型</span>=<span style='color: #ff0000;'>几个控件</span>?感觉我们确实“对问题理解的不一致”</span></p>
<p>MFC基于ATL封装WindowsAPI?你保证没记错<img src='../../../../../../images/smiles/icon_biggrin.gif' alt=''/>?MFC怎就和窗体向导扯一块了,没有向导不行?JavaScript语法细节和C++差不多<img src='../../../../../../images/smiles/icon_biggrin.gif' alt=''/>?别欺负俺不懂C++/MFC,俺可是从苹果II时代一步一步走过来的程序员。</p>
</div>
<p>不好意思不好意思 MFC基于ATL是胡扯了 我好像把ATL跟MFC的基本逻辑部分搞混了</p>
<p><span style='color: #ff0000;'>基于服务器端的UI模型 </span>这个说的倒没错 不过好像服务端UI模型不是没有UI的模型吧 怎么按你题目的意思是使用基于服务端UI模型就是恐惧JavaScript+CSS+XHTML了?</p>
<p>说.net的几个控件和MFC只是举个例子说 原生提供的几个东西只是技术的一小部分</p>
<p>只是帮你理解的一个类比:</p>
<p>MFC的IDE提供了窗体生成向导,新手可以不需要编程基础方便的创建简单窗体,但向导跟MFC完全没关系。<br/>JSF提供了一些原生的UI控件,新手可以不需要接触JS/CSS创建简单网页,但这些UI控件跟JSF没有直接关系。</p>
<p>至于<span style='color: #ff0000;'>前端UI模型</span>=<span style='color: #ff0000;'>几个控件</span>我看不出我的话里有任何地方可能被理解成这个。</p>
111 楼 rainlife 2008-05-23  
引用
哪个HTML元素需要成为“组件宿主”,就给它加一个“id=controlName”,然后在代码中引用controlName,这个HTML元素也就成为“7wx组件”

看到这里,个人觉得可能类似于tapestry的方式。
110 楼 leebai 2008-05-23  
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'>
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'><br/><br/><br/>HTML和JS仅仅是前端模块必须的 一个project需不需要拥抱HTML跟JS与用不用JSF没有任何关系吧 <br/><br/>不要以为JSF提供了点前端的东西就觉得JSF是专门为替代前端技术出现的 JSF是在模仿.NET <br/></div>
<p><br/>前面那句,你的观点就是我的观点。</p>
<p>后面那句,在很多人看来,JSF确实就是为了掩盖HTML/JS的复杂性而设计的技术,我也是这么认为,不同的是,我认为这种掩盖不会很成功,而且对开发人员的技术积累不利。</p>
</div>
<p><br/>JSF只是为前端提供了一个封装方式而已 跟.net很像 </p>
<p>难道你会以为.net就靠几个原生控件活着?</p>
<p>那几个控件其实就像用MFC生成的窗体向导一样 只是给最最初级的使用者SOLO方便用的 </p>
<p>你能说MFC是为了消除Windows编程复杂性而设计的么 那只是个类库 基于ATL封装WindowsAPI成Class而已</p>
<br/></div>
<p> </p>
<p>sorry,我一直理解的jsf就是 <span style='color: #ff0000;'>基于服务器端的UI模型</span>(对应的是我认为<span style='color: #ff0000;'>更合理</span>的<span style='color: #ff0000;'> 基于浏览器端的UI模型</span>),如有问题请指正。</p>
<p><span style='color: #000000;'><span style='color: #ff0000;'><span style='color: #000000;'>难道你的理解是:</span>前端UI模型</span>=<span style='color: #ff0000;'>几个控件</span>?感觉我们确实“对问题理解的不一致”</span></p>
<p>MFC基于ATL封装WindowsAPI?你保证没记错<img src='../../../../../../images/smiles/icon_biggrin.gif' alt=''/>?MFC怎就和窗体向导扯一块了,没有向导不行?JavaScript语法细节和C++差不多<img src='../../../../../../images/smiles/icon_biggrin.gif' alt=''/>?别欺负俺不懂C++/MFC,俺可是从苹果II时代一步一步走过来的程序员。</p>
109 楼 csf177 2008-05-23  
顺便再接一句 JavaScript本身就非常复杂 语法细节超级多 比C++都差不多
108 楼 csf177 2008-05-23  
记得周爱民blog里写过
争论并非源于观点不一致 而是源于对问题理解的不一致
非常有道理啊
107 楼 csf177 2008-05-23  
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'><br/><br/><br/>HTML和JS仅仅是前端模块必须的 一个project需不需要拥抱HTML跟JS与用不用JSF没有任何关系吧 <br/><br/>不要以为JSF提供了点前端的东西就觉得JSF是专门为替代前端技术出现的 JSF是在模仿.NET <br/></div>
<p><br/>前面那句,你的观点就是我的观点。</p>
<p>后面那句,在很多人看来,JSF确实就是为了掩盖HTML/JS的复杂性而设计的技术,我也是这么认为,不同的是,我认为这种掩盖不会很成功,而且对开发人员的技术积累不利。</p>
</div>
<p><br/>JSF只是为前端提供了一个封装方式而已 跟.net很像 </p>
<p>难道你会以为.net就靠几个原生控件活着?</p>
<p>那几个控件其实就像用MFC生成的窗体向导一样 只是给最最初级的使用者SOLO方便用的 </p>
<p>你能说MFC是为了消除Windows编程复杂性而设计的么 那只是个类库 基于ATL封装WindowsAPI成Class而已</p>
106 楼 leebai 2008-05-23  
<div class='quote_title'>csf177 写道</div>
<div class='quote_div'><br/><br/><br/>HTML和JS仅仅是前端模块必须的 一个project需不需要拥抱HTML跟JS与用不用JSF没有任何关系吧 <br/><br/>不要以为JSF提供了点前端的东西就觉得JSF是专门为替代前端技术出现的 JSF是在模仿.NET <br/></div>
<p><br/>前面那句,你的观点就是我的观点。</p>
<p>后面那句,在很多人看来,JSF确实就是为了掩盖HTML/JS的复杂性而设计的技术,我也是这么认为,不同的是,我认为这种掩盖不会很成功,而且对开发人员的技术积累不利。</p>
105 楼 leebai 2008-05-23  
<div class='quote_title'>kimmking 写道</div>
<div class='quote_div'><br/>问题是我们不是做项目,我们做技术,做jsf框架的研究。把它简单化,屏蔽一些复杂的东西,增加一些灵活性,做一个更方便的框架后,再做一套开发平台,能够根据配置生成项目和业务骨架。 <br/><br/><br/>不知道我描述清楚了没有。</div>
<p> </p>
<p> 明白了,是另一个话题。你是说jsf还不够简单,需要二次封装。</p>
<p>不过这种框架之上的框架,底层框架升级时问题会比较多。</p>
104 楼 csf177 2008-05-23  
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>谁说支持JSF是对Javascript有恐惧?! <br/><br/>(1)谁告诉我你用JSF就可以完全不写Javascript? <br/>(2)按你的逻辑是不是用ruby的人就是对Java的恐惧?!(可能这个比喻还不够恰当,因为至少Java EE和ruby有比较好的可比性)。 <br/>是不是用Spring的人就是对EJB的恐惧?! <br/>使用JS框架的人是不是对手写JS的恐惧?! <br/>是不是使用java这种高级语言就是对汇编的恐惧?! <br/><br/><strong>只知其一,不知其二的时候,最好是先把自己不清楚的东西先搞透彻!</strong> <br/><br/><strong>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</strong> <br/><br/>JSF的初衷是提供大粒度的组件,早期的实现版本根本就和JS框架没有任何竞争关系;目前rich client的JSF实现,同样是提供大粒度组件,甚至有些框架本身就提供了很强大的JS lib供browser端程序员使用,那些JS库的功能非常类似你们熟悉的EXT,DOJO等框架。 <br/><br/><br/><br/><br/></div>
<p> </p>
<p>我的原话是: <span style='color: #888888;'>很多人质疑以JavaScript为中心的UI开发,其实是对html/JavaScript的恐惧</span></p>
<p>对看帖不认真、逻辑不清楚的朋友,我建议:先认真看贴,再仔细整理并表达自己的思路,否则各说各话,讨论没有意义。</p>
</div>
<p>我的回帖,本来根本没有专门指你,</p>
<p>但是,你的标题和言论实质上已经在误导一些人。</p>
<p>然后你又跟我玩文字游戏!太无聊了。</p>
<p>恳请javaeye上的朋友,在宣传你自己的技术的时候,不要随便拿自己不太懂的技术去做比较。</p>
<div class='quote_title'>写道</div>
<div class='quote_div'>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</div>
<p>如果想比,也很好,讨论可以帮助技术不断进步和创新,但是,请事<strong>先研究清楚!</strong></p>
<p>至少在你不清楚的时候,不要误导别人。</p>
</div>
<p>不想和你打口水战。</p>
<p>请反驳本帖的中心思想:</p>
<p><span style='color: #888888;'><br/>作为Web开发者,必须热情拥抱HTML(css)和javascript,否则只能是半拉子开发人员。</span></p>
<p> </p>
<p>你说JSF有一万条有点我都不反对。但,<strong>我没研究清楚JSF</strong>的前提下判断:精通<span style='color: #808080;'>JSF的开发者</span>在一些情况下还必须学习使用<span style='color: #888888;'>HTML(css)和javascript</span> ,而<span style='color: #888888;'>浏览器端UI</span><span style='color: #808080;'>开发者</span>却没有必须学习<span style='color: #808080;'>JSF</span>的时候,有问题吗?  </p>
</div>
<p>HTML和JS仅仅是前端模块必须的 一个project需不需要拥抱HTML跟JS与用不用JSF没有任何关系吧 </p>
<p>不要以为JSF提供了点前端的东西就觉得JSF是专门为替代前端技术出现的 JSF是在模仿.NET</p>
103 楼 kimmking 2008-05-23  
leebai 写道
kimmking 写道
我自己觉得多些点代码无所谓。
但是领导都觉得最好能做出来一个尽量简单的框架,功能要够用,要灵活,要标准化,易扩展。
开发人员几乎不用培训就直接能上手,基本、简单和常用的功能和配置要自动生成,至少要能减少50-70%的工作量。

给了我3-5个几乎不懂web的人(更别说JSF了,不确定人熟是因为他们还有别的工作),两个月的时间。

呵呵

有同样经历的不?


一个项目组中,存在“半拉子”开发人员很正常,从公司薪水支出的角度,也希望采用廉价劳动力。但从开发人员自身的职业发展角度看,情况就不同了。


问题是我们不是做项目,我们做技术,做jsf框架的研究。把它简单化,屏蔽一些复杂的东西,增加一些灵活性,做一个更方便的框架后,再做一套开发平台,能够根据配置生成项目和业务骨架。


不知道我描述清楚了没有。
102 楼 leebai 2008-05-23  
kimmking 写道
我自己觉得多些点代码无所谓。
但是领导都觉得最好能做出来一个尽量简单的框架,功能要够用,要灵活,要标准化,易扩展。
开发人员几乎不用培训就直接能上手,基本、简单和常用的功能和配置要自动生成,至少要能减少50-70%的工作量。

给了我3-5个几乎不懂web的人(更别说JSF了,不确定人熟是因为他们还有别的工作),两个月的时间。

呵呵

有同样经历的不?


一个项目组中,存在“半拉子”开发人员很正常,从公司薪水支出的角度,也希望采用廉价劳动力。但从开发人员自身的职业发展角度看,情况就不同了。
101 楼 leebai 2008-05-23  
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>谁说支持JSF是对Javascript有恐惧?! <br/><br/>(1)谁告诉我你用JSF就可以完全不写Javascript? <br/>(2)按你的逻辑是不是用ruby的人就是对Java的恐惧?!(可能这个比喻还不够恰当,因为至少Java EE和ruby有比较好的可比性)。 <br/>是不是用Spring的人就是对EJB的恐惧?! <br/>使用JS框架的人是不是对手写JS的恐惧?! <br/>是不是使用java这种高级语言就是对汇编的恐惧?! <br/><br/><strong>只知其一,不知其二的时候,最好是先把自己不清楚的东西先搞透彻!</strong> <br/><br/><strong>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</strong> <br/><br/>JSF的初衷是提供大粒度的组件,早期的实现版本根本就和JS框架没有任何竞争关系;目前rich client的JSF实现,同样是提供大粒度组件,甚至有些框架本身就提供了很强大的JS lib供browser端程序员使用,那些JS库的功能非常类似你们熟悉的EXT,DOJO等框架。 <br/><br/><br/><br/><br/></div>
<p> </p>
<p>我的原话是: <span style='color: #888888;'>很多人质疑以JavaScript为中心的UI开发,其实是对html/JavaScript的恐惧</span></p>
<p>对看帖不认真、逻辑不清楚的朋友,我建议:先认真看贴,再仔细整理并表达自己的思路,否则各说各话,讨论没有意义。</p>
</div>
<p>我的回帖,本来根本没有专门指你,</p>
<p>但是,你的标题和言论实质上已经在误导一些人。</p>
<p>然后你又跟我玩文字游戏!太无聊了。</p>
<p>恳请javaeye上的朋友,在宣传你自己的技术的时候,不要随便拿自己不太懂的技术去做比较。</p>
<div class='quote_title'>写道</div>
<div class='quote_div'>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</div>
<p>如果想比,也很好,讨论可以帮助技术不断进步和创新,但是,请事<strong>先研究清楚!</strong></p>
<p>至少在你不清楚的时候,不要误导别人。</p>
</div>
<p>不想和你打口水战。</p>
<p>请反驳本帖的中心思想:</p>
<p><span style='color: #888888;'><br/>作为Web开发者,必须热情拥抱HTML(css)和javascript,否则只能是半拉子开发人员。</span></p>
<p> </p>
<p>你说JSF有一万条有点我都不反对。但,<strong>我没研究清楚JSF</strong>的前提下判断:精通<span style='color: #808080;'>JSF的开发者</span>在一些情况下还必须学习使用<span style='color: #888888;'>HTML(css)和javascript</span> ,而<span style='color: #888888;'>浏览器端UI</span><span style='color: #808080;'>开发者</span>却没有必须学习<span style='color: #808080;'>JSF</span>的时候,有问题吗?  </p>
100 楼 kimmking 2008-05-23  
我自己觉得多些点代码无所谓。
但是领导都觉得最好能做出来一个尽量简单的框架,功能要够用,要灵活,要标准化,易扩展。
开发人员几乎不用培训就直接能上手,基本、简单和常用的功能和配置要自动生成,至少要能减少50-70%的工作量。

给了我3-5个几乎不懂web的人(更别说JSF了,不确定人熟是因为他们还有别的工作),两个月的时间。

呵呵

有同样经历的不?
99 楼 kimmking 2008-05-23  
我用JSF做项目
也几乎研究了myfaces的每一段代码

but,我写了大量的javascript
98 楼 zqrain 2008-05-23  
<div class='quote_title'>leebai 写道</div>
<div class='quote_div'>
<div class='quote_title'>zqrain 写道</div>
<div class='quote_div'>谁说支持JSF是对Javascript有恐惧?! <br/><br/>(1)谁告诉我你用JSF就可以完全不写Javascript? <br/>(2)按你的逻辑是不是用ruby的人就是对Java的恐惧?!(可能这个比喻还不够恰当,因为至少Java EE和ruby有比较好的可比性)。 <br/>是不是用Spring的人就是对EJB的恐惧?! <br/>使用JS框架的人是不是对手写JS的恐惧?! <br/>是不是使用java这种高级语言就是对汇编的恐惧?! <br/><br/><strong>只知其一,不知其二的时候,最好是先把自己不清楚的东西先搞透彻!</strong> <br/><br/><strong>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</strong> <br/><br/>JSF的初衷是提供大粒度的组件,早期的实现版本根本就和JS框架没有任何竞争关系;目前rich client的JSF实现,同样是提供大粒度组件,甚至有些框架本身就提供了很强大的JS lib供browser端程序员使用,那些JS库的功能非常类似你们熟悉的EXT,DOJO等框架。 <br/><br/><br/><br/><br/></div>
<p> </p>
<p>我的原话是: <span style='color: #888888;'>很多人质疑以JavaScript为中心的UI开发,其实是对html/JavaScript的恐惧</span></p>
<p>对看帖不认真、逻辑不清楚的朋友,我建议:先认真看贴,再仔细整理并表达自己的思路,否则各说各话,讨论没有意义。</p>
</div>
<p>我的回帖,本来根本没有专门指你,</p>
<p>但是,你的标题和言论实质上已经在误导一些人。</p>
<p>然后你又跟我玩文字游戏!太无聊了。</p>
<p>恳请javaeye上的朋友,在宣传你自己的技术的时候,不要随便拿自己不太懂的技术去做比较。</p>
<div class='quote_title'> 写道</div>
<div class='quote_div'>另外,需要强调的是,支持JSF跟反对Javascript根本就风牛马不相及!</div>
<p>如果想比,也很好,讨论可以帮助技术不断进步和创新,但是,请事<strong>先研究清楚!</strong></p>
<p>至少在你不清楚的时候,不要误导别人。</p>
97 楼 csf177 2008-05-23  
从大家的想法中看到更多的是偏执的自信:我现在所使用的架构是优越的。
96 楼 leebai 2008-05-23  
maku 写道
对 js + html 恐惧?
java不知比它们复杂多少倍,你们学没学?其实大家之所以学不好js,基本都是因为没把它当回事,js不简单,但也绝不像java一样复杂。

对 EXT等框架 恐惧?
没有它们之前大家就没写过客户端代码吗?


逻辑不清。。。我都不知道如何回帖
95 楼 leebai 2008-05-23  
zqrain 写道
更可气的是,为什么很多人认为支持JSF的人就对JS和JS框架没有深入研究?!

笑话!如果对JS没有深入研究,人家怎么开发rich client的JSF组件?!

难道一个不熟悉Javascript的Java天才可以通过意念或者超能力,让他的程序可以在browser端发送Ajax请求?!


100个jsf使用者,其中有多少个“对JS和JS框架没有深入研究”?
100个浏览器UI使用者,其中又有多少个“对JS和JS框架没有深入研究”?

jsf要求使用者必须掌握和浏览器UI使用者一样的js功力?
同样的时间付出,同样的项目经验,js训练水平上,jsf使用者的能达到浏览器UI使用者的程度?

不认真看帖,瞎激动






相关推荐

    javaee.jar,jsf-api.jar,jsf-impl.jar,jstl-1.2.jar

    Java EE (Java Platform, Enterprise Edition) 是一个用于开发和部署企业级应用程序的框架,它包含了多个组件和服务,如Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)等。在给定的文件列表中,...

    jsf-api.jar和jsf-impl.jar

    **jsf-api.jar** 文件包含JSF框架的接口和抽象类,这些定义了JSF应用开发所需的主要API。开发者通常需要这个库来编译他们的JSF项目,因为编译时需要知道JSF提供的公共接口和抽象类。它不包含具体的实现,而是提供了...

    jsf-api-2.0.3.jar.zip_jsf api_jsf jar包_jsf-api-2.0.3.jar_jsf-api

    在实际开发中,为了确保项目顺利运行,开发者需要将`jsf-api-2.0.3.jar` 和其他必要的JSF库添加到项目的`WEB-INF/lib`目录下,或者使用构建工具(如Maven或Gradle)进行依赖管理。同时,还需要配置Tomcat服务器,使...

    JSF编程WEB-INF下lib内所用到的jar包集成

    `webui-jsf.jar`包含了基本的JSF UI组件,如按钮、输入字段等,而`webui-jsf-suntheme.jar`则提供了Sun Microsystems的主题样式,用于定制UI的外观和感觉。 2. **jsf-impl.jar** 和 **jsf-api.jar**: 这是JSF的...

    JSF2整合Spring3------JSF学习笔记4

    **JSF2整合Spring3——JSF学习笔记4** 在Java服务器端开发中,JavaServer Faces(JSF)和Spring...总的来说,JSF2与Spring3的整合是一个复杂但非常有价值的过程,它能帮助开发者构建更高效、更模块化的Java Web应用。

    jsf-impl.jar jsf-api.jar

    总之,`jsf-impl.jar` 和 `jsf-api.jar` 在JavaServer Faces框架中起着核心作用,它们共同构成了JSF的运行基础,使得开发者能够高效地构建富交互的Web应用程序。在实际项目中,理解并熟练掌握这两个库的功能和用法...

    JSF-AV-rules.rar_JSF AV rule_JSF-AV_JSF-AV-rules_航空C++编程规范

    《JSF-AV-rules.rar》是一个压缩包文件,包含了航空C++编程规范,这个规范主要针对的是在航空系统开发中使用C++编程时应当遵循的一系列规则和标准。航空系统的软件开发对于安全性、可靠性和可维护性有着极高的要求,...

    jsf-spring-boot-starter-2.2.6.zip

    【标题】"jsf-spring-boot-starter-2.2.6.zip" 是一个基于Java Server Faces (JSF) 和Spring Boot的启动器项目,版本为2.2.6。这个压缩包通常包含了用于快速搭建JSF应用在Spring Boot环境中的必要组件和配置。 ...

    JSF.rar_0 猜迷-jsf_JSF

    JavaScript Server Faces(JSF)是Java平台上用于构建Web应用程序的一种模型-视图-控制器(MVC)框架。这篇教程——"JSF.rar_0 猜迷-jsf_JSF",显然旨在帮助初学者逐步掌握JSF的核心概念和技术。作为网络编程人员,...

    jsf1.2 source code

    本文将深入探讨JSF 1.2的源码,重点关注`jsf-api`、`jsf-ri`、`jsf-tools`和`jsf-doc`这四个关键部分。 ### 1. `jsf-api` `jsf-api`包含了JSF框架的公共接口和类,这些定义了开发者如何在他们的应用程序中与JSF...

    一个简单的jsf例子------JSF2学习笔记1

    - `jsf-impl.jar` 和 `jsf-api.jar` 包含了JSF2的核心实现和API,供应用程序使用。 - `commons-collections-3.1.jar` 提供了集合操作的扩展,常常用于辅助处理数据。 - `commons-beanutils-1.8.0.jar` 提供了对...

    jsf-api,jsf-impl,jst1-1.2,javaee

    JavaServer Faces(JSF)是Java平台上的一种用于构建用户界面的服务器端框架,它简化了Web应用程序的开发,特别是处理用户交互和业务逻辑的集成。JSF提供了组件模型、事件处理和生命周期管理机制,使得开发者可以...

    JSF2.0-hello-world-example-2.1.7.zip

    **JSF 2.0(JavaServer Faces 2.0)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。...这将有助于理解JSF的基本工作流程,为进一步学习和开发复杂的JSF应用程序打下基础。

    JSF.rar_JSF_myfaces-all.j

    JavaScript Server Faces(JSF)是Java平台上用于构建Web应用程序的框架,它简化了用户界面的开发,特别是对于那些需要大量动态交互的Web应用。在这个"JSF.rar"压缩包中,我们关注的是"JSF_myfaces-all.j",这可能是...

    JavaEE源代码 jsf-api

    JavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-apiJavaEE源代码 jsf-...

    jsf-1.2_07-b03-FCS.rar

    这个"jsf-1.2_07-b03-FCS.rar"压缩包文件包含了JSF 1.2的开发资源,以及可能的示例项目,帮助开发者更好地理解和使用这个框架。 JSF的核心概念包括组件、事件、监听器和渲染器,这些元素共同构建了其强大的功能体系...

    jsf教程 JSF为JAVA的 Web应用用户界面

    JSF为JAVA的 Web应用用户界面的开发人员提供了标准的编程接口、丰富可扩展的UI组件库(一个核心的JSP标记库用来处理事件、执行验证以及其他非UI相关的操作和一个标准的HTML 标记库来表示 UI组件)、事件驱动模型等...

Global site tag (gtag.js) - Google Analytics