(可能还有人不知道VisualWebPack是什么,
VisualWebPack其实是
sun java studio creator2在
netbeans的免费插件<
http://www.netbeans.org/kb/55/vwp-index_zh_CN.html>,主要用于
JSF开发,其拖拉式组件开发是其一个主要卖点。)
首先需要先说说JSF
1、尽管JSF是标准,但不见得标准就是好的。君不见EJB2的状况?像JSF这个复杂(指的是实现的复杂)的一个框架(相对于jsp、struts等),我怀疑它是否是另外一个ejb。而且虽然说JSF是标准,但每个厂商自己的实现多多少少都会有一些扩展(通常是组件的扩展),一个JSF程序一般很难在不同厂商的JSF实现中切换。
2、JSF的生命周期相对jsp来说比较复杂,虽然VisualWebPack已经简化了,但还是复杂,有很多时候我想取一个值(大多数情况是动态值),但是没有取到,我怀疑有一些bug(当然不排除我自己技术没到家),记得之前的项目大部分时间就是耗在这个取值的问题上。
3、JSF的组件设计如果不是使用IDE的拖拉式开发,工作量反而比直接使用JSP、Struts要多。IDE在JSF开发中显得尤为重要。
4、JSF的错误提示太多无用的信息,不能对错误迅速定位。
5、在ajax大行其道的今天,JSF这种把一切都包揽在server端的做法,我还真是有所保留!虽然有Ajax4JSF项目,但这个项目好像不是标准来的。
6、相对与ASP.NET和Tapestry,JSF对HTML的侵入性比较大,令Dreamver这些优秀的网页设计工具无用武之地。
现在来说说NetBeans+VisualWebPack:
1、项目、资料、社区的支持度:现在使用JSF开发的项目还比较少,用NetBeans+VisualWebPack的就更少了。同时,由于VisualWebPack的出现比较晚,相关资料实在太少了,就算它的前身sun Java Studio Creator2的资料也是很少。缺少成熟的、稳定的、可持续的资料、社区的支持,如果出了问题,还真不知如何解决呢。
2、团体合作:(1)与美工比较难配合。我们很难说服一个用惯Dreamvwear的美工转用这个VisualWebPack。其实也是不可能的,你没有理由要求一个美工去学习JSF、VisualWebPack的标签,可能有人会认为,即使只是使用VisualWebPack的拖拉式也一样可以做出漂亮的界面。不过正如没有一个美工不懂HTML的道理一样,不懂JSF标签的美工,做界面总会有点美中不足。(2)由于NetBeans+VisualWebPack对某些文件极为敏感,很多时候,把一个工程打包到另外一个机器的时候,往往不能打开;有时候还要解决包引用的问题(NetBeans说这个是它的优点,但我反而觉得是一个不足);更加不用说使用cvs版本控制了。到目前为止,VisualWebPack给我的感觉就是很难做大项目。
3、IDE的问题:不得不说,VisualWebPack还有很多bug,功能比较弱,组件偏少,而且耗资源很大,速度慢得有点受不了;跟Visual Studio相比,感觉还是有相当的差距。JSF本来对IDE的依赖就比较大,VisualWebPack的不足无疑是雪上加霜!
4、组件性开发:VisualWebPack的拖拉式组件开发从表面上看好像是很方便,不过用起来却是诸多不足,如果某一个功能可以有现成的组件实现,那倒很方便,如果没有,那是一件很痛苦的事情(同时由于VisualWebPack组件相对不足,令这种痛苦更加升级)。桌面程序不同于web程序,一般人对他们都不会有额外的美工要求,基本就是堆上组件就可以了。而web就不同,情况要复杂得多,经常有千奇百怪的要求,这种要求,通常用javascript实现可能比较容易,但由于VisualWebPack偏重于server端以及生命周期的限制,注定它跟客户端的javascript比较难结合,换言之,web的特殊效果也就很难实现。比较常见的是菜单、IFrame等。
5、与旧有项目结合:我们以前已经习惯了spring+hibernate做底层,现在发现VisualWebPack跟他们集成在一起好像问题比较大(或者说,处理系统分层比较麻烦)。例如,VisualWebPack的表格组件,对数据库的操作都推荐使用那个DataProvider。到目前为止,我们还没有找到集成的方法(还望高人指导)。另外,VisualWebPack里处理数据库的DataProvider用得最多得是CachedDataProvider,这个东西也真够古怪的,sun默认的例子是把数据缓存到Session里面。我真搞不懂,为什么sun那么喜欢把数据缓存到Session里面。
6、历史的倒退:(1)JSF有值绑定和控件绑定两种绑定方法(不知是不是这样叫),VisualWebPack默认是控件绑定的,在取得用户输入值得时候,我发现这是一个倒退,因为我还是需要一个一个控件调用getText(),这种操作我觉得跟request.getParameter倒是没有什么区别(可能就是增加了验证和类型转换吧)。(2)JSF刚出来的时候就嘲笑Struts的action必须要继承Action,因为JSF的managed bean是一个普通的java类(POJO)。但VisualWebPack现在的managed bean却走回struts的旧路,需要集成AbstrackPageBean。
7、风险成本:无论是从人员贮备、资源文档、厂商支持、安全稳定来说,相当多公司使用VisualWebPack基本都是亮红灯的。风险成本不容忽视!
8、其余问题:(1)VisualWebPack基本上是抛弃jsf的标准组件而使用自己的一套组件,这样多多少少会增加一些学习成本(不过这点也说不上是缺点)。(2)jsp文件对应的java文件,里面有一大堆的getter/setter,把源代码搞得很乱,同时,很难从IDE的“成员试图”中迅速定位。(3)NetBeans由于是使用Swing,字体显得比较丑。同时,字体边缘会有一些模糊。(4)有时候,修改了jsp文件或者java文件后,可视化设计就不能使用,由于提示不足,很难知道错在哪里,有时甚至需要重建页面。
谈就谈到这里,希望高手们都来说说自己的观点,并指出我的不足,谢谢
- 大小: 104.7 KB
分享到:
相关推荐
【NETBEANS VISUAL WEB PACK 教程】 NetBeans Visual Web Pack是一款强大的集成开发环境(IDE),专为JavaServer Faces (JSF) 和Web应用程序设计而优化。它提供了直观的可视化工具,使得开发者能够更轻松地创建、...
**NetBeans Visual Web Pack 5 入门指南** NetBeans Visual Web Pack 5 是一个强大的集成开发环境(IDE)插件,专为简化JavaServer Faces(JSF)应用的开发而设计。它提供了可视化的工具,使开发者能够更加高效地...
1. **新建Web项目**:在NetBeans中通过“File”>“New Project”>“Web”>“Web Application”来创建一个新的Web项目。 - 项目结构将自动生成,包括默认的JSP文件。 2. **运行Web项目**:配置完成后,可以直接在...
**在NetBeans Visual Web Pack中开发自定义JSF组件**,你可以享受到以下优势: 1. **可视化设计**:通过插件提供的图形界面,你可以直观地设计组件的布局和交互,而不仅仅是编写代码。 2. **自动代码生成**:...
开发工具:netBeans+mySql 应用服务器:Apache Tomcat 7.0 2 系统需求 --- 2.1 系统总体需求说明 学生成绩管理系统主要用于学校学生成绩信息管理,能实现学生、老师、院系、班级、课程的增删改查操作,同时学生能...
netbeans+JAVADB 试题管理系统 程序+数据库+文档 javaDB netbeans jdbc jsf div/css+javascript 三层结构 servlet entitybean managedbean 登录验证 权限选择。
NetBeans是一款强大的集成开发环境(IDE),而SSH指的是Spring、Struts和Hibernate三个开源框架的缩写,它们共同构成了Java Web应用的常用开发框架。 【NetBeans IDE】 NetBeans是基于Java的开源IDE,提供了一整套...
### NetBeans IDE 使用说明与示例教程 #### 准备工作与环境搭建 - **下载与安装** - 下载地址:本教程推荐了几个官方下载站点,包括`http://www.neea.edu.cn`、`http://www.ncre.cn/`以及`...
【标题】"java进销存源码NetBeans+sql server2005" 涉及的核心技术点主要集中在Java编程语言、进销存系统设计、集成开发环境NetBeans以及数据库管理系统sql server 2005。以下是这些知识点的详细说明: 1. Java编程...
NetBeans+Java快速入门 本资源为NetBeans IDE 6.0 Java快速入门指南,旨在指导用户快速了解NetBeans IDE的工作流程和基本功能。以下是本资源的详细知识点: 一、NetBeans IDE概述 * NetBeans IDE是一个集成开发...
《NetBeans+IDE开发指导(英文版)》是一本针对使用NetBeans IDE进行Java编程的详细教程,适合有一定英语基础的开发者阅读。NetBeans IDE是一款功能丰富的集成开发环境,广泛应用于Java应用程序的开发,包括桌面应用...
在本项目中,"java+netbeans+swing MP3程序" 是一个使用Java语言,并在NetBeans IDE上开发的用户界面应用,主要用于处理或播放MP3音频文件。 Swing是Java Foundation Classes (JFC)的一部分,提供了一组用于创建...
本文将详细介绍如何在Netbeans中配置Xdebug进行PHP调试,并解决在配置过程中可能遇到的“正在等待连接”的问题。 #### 一、准备工作与软件版本 在开始配置之前,首先需要明确使用的软件版本: - 操作系统:Windows...
NetBeans IDE 使用说明 本文档提供了 NetBeans IDE 的使用说明,包括准备、基本概念、实践示例等内容。通过本文档,读者可以快速掌握 NetBeans IDE 的使用方法,并了解 NetBeans IDE 中国教育考试版(2007)的特点...
2. **Path**:添加到系统 PATH 变量中,以便于全局调用 JDK 的 bin 目录下的工具。 3. **CLASSPATH**:指定 Java 类库的加载路径。 **具体步骤**: 1. **JAVA_HOME** 设置:打开系统环境变量设置界面(通过右键...
【NETBEANS做的WEB登录页面】是一个基础的Web开发教程,特别适合NETBEANS的新手。NETBEANS是一款流行的开源集成开发环境(IDE),广泛用于Java、PHP、HTML5等Web开发。它提供了丰富的功能,如代码编辑、调试、版本...
NetBeans拥有活跃的用户社区,你可以在论坛、邮件列表或者Stack Overflow等平台上找到问题的答案,或者与其他开发者交流心得。 通过深入学习和实践,你将能够充分利用NetBeans IDE的强大功能,提升编程效率,打造...
【标题】:“中小学教师学生交互系统 netbeans+jsp+servlet+oracle” 【正文】: 中小学教师学生交互系统是一种在线平台,旨在促进师生之间的沟通、学习资料的共享以及教学活动的管理。该系统采用的是经典的Java ...
这个教程主要关注在NetBeans集成开发环境中使用JavaFX和FXML进行基本控件的实践。FXML(FXML Layout)是JavaFX中用于声明式设计UI的一种语言,它允许我们将UI逻辑与业务逻辑分离,使代码更易于维护和理解。 1. **...