netbeans提供了与eclipse下同等的gwt插件,并且风格与netbeans web(如jsp+servlet)一致。
当前版本即netbeans6.8更新中心带的gwt插件是2.6.14版本。
该版本提供了最基本的功能,但是不建议安装这个,可能很多人不知道,其实去它的插件网页下载最新的容易获得最新的特性。这点已经体现在好几个插件上了。比如ireport插件,按照更新里的安装,就不如去ireport官网下的那个功能全。再比如UML插件 官网给的插件明显比开发的那个官网网站的插件旧很多。
现在讨论的是GWT,它的插件开发网址是 http://gwt4nb.dev.java.net/
可以到这个页面下载最新的2.6.20版本,这个版本相比2.6.14多了很多功能:
1 多了3个向导,14版只有建立RPC向导,而20版本,还有:
创建 GWT常量;创建GWT模块;创建UiBinder 三个向导。
这个UiBinder 是GWT2里的新特性,它可以通过xml文件来定义UI的布局以及样式。使得GWT不必太依赖可视化的设计工具了,它的编写和HTML语法类似,确切的说就是和faceslets学的,就是靠标签来体现的。
2 布局及样式xml文件,增加了标签自动补全以及智能提示功能。这个14版本是没有的。
有了GWT2以及这个20版本的插件,基本上做GWT开发应该是又容易了很多,在netbeans下做开发的朋友不妨去试试了。
当然eclipse下有GWT designer可视化设计工具,这是netbans比不了的,不过这个插件是收费的。而Google官方推荐的那个插件就是和netbeans类似的。不过由于GWT2的到来,使得布局就像HTML那样容易,就使得可视化开发不必须了。你要是熟悉手写html的话,就马上就可以上手了。
如果你稍微深入或了解下GWT,就会想知道GWT的外观扩展。这里节约你的时间,我给你介绍下:
mygwt已经停止了,它以前排名第一,不过早不存在了,库也很老,它合并入ext了,ext收费了,GWT-ext,呢也差不多,因为ext收费了,这两个我们一般就不考虑了。
而ext-gwt呢也停止了,开始了一个smartgwt的完全的东西,ext-gwt主页上推荐到smartgwt,smartgwt由smartclient合成而来。这个是目前最强大的库,发展也很快,gwt出了2.0,它也更新到2.0.因此这个是首选了了。
它分免费版和企业版,企业版肯定是要收费的。
另外一个就是GWT的孵化器了,组件很少,是GWT的组件的前沿使用场所,通过的就加入正式库,我看了,基本没使用价值。
千万不要认为netbeans耗费内存了,gwt编译都比他多的多,看看调试模式下的内存占用吧:
我的netbeans从早上跑到现在了,本来就是完整功能版本还安装了ireport报表插件 gwt插件 ,而我做的测试,gwt+smartgwt整合,就只是一个按钮ImgButton ,看看调试运行的内存占用吧:
把netbeans的内存压到100M了。真是奇怪,gwt编译及运行居然这么高消耗。比EJB还要高耗呀。
我感觉GWT,犹如EJB般昂贵,甚至有过之而不及。它的编译尤其要是使用第三方类库的情况下,需要几百M的内存。此外,编译时间很长。
因此,就这两点来讲,大大阻碍了它的流行。
另外,既然是富客户应用,那么和后台的交互通常会相当多,除非只是为了在客户端展示效果,带有很少的交互数据,但是这种情况,使用JQuery extjs之类的不是更好吗?何必使用这么大的一个家伙呢。
因此,这里有个更彻底的ajax框架 ——echo,现在到3.0beta8了,加入了客户端js。应该来说做的更彻底了,直接在服务端保存用户数据,而只把用户数据发到客户端,而客户端用对应的js组件去展示数据。 每个服务端的Java组件都有一个客户端的js组件与之对应。理解这点很重要,因为要想用好它,做自己的组件相当的需要。
他俩的区别吧,可以说正好相反,一般的区别网上有,我就不废话了:
1 首先echo是由servlet生成一个Java类,当然他们是单例的,这个Java类保存在服务器上,并通过固定的接口方法把js文件发给请求的客户端,这样就建立了对应关系。只有客户端请求到某些类时,相应的js才会发给客户端。
2 有人说,echo耗费服务器,说是靠服务器生成swing图形,然后响应客户端,这是大错特错的,它只是保存一个javabeans对象,然后与客户端的js组件对应,js组件通过事件代码,把一些值发到服务端,这些值保存在用户上下文中,而对应的组件只有一份。如果使用消息队列,那么客户端会周期地询问服务端,默认是500毫秒。因此,只要js组件产生事件,而这个事件中改变的属性值做了服务器端的关联,那么就需要与服务器端连接,所有才耗费服务器的。
因此,可以多安装几个服务器,比如tomcat就应该行了,因为它需要的连接太频繁。
之所以说它比GWT耗费资源,我觉得2点: 1 连接频繁 2 session(用户上下文:app实例及相关实例)需要保存很多用户数据。当然按照它的说法,session不活动时(钝化)会把用户数据移到硬盘上把内存留出来给其他用户使用。
所以,我们不能说它是因为使用了类似swing的组件才耗费服务器的,因为它只有一份,任何动态网站都需要服务器储存数据,echo肯定是多了东西,但是这不是决定因素。
3 客户端的js框架和服务端的Java组件 API是一样的。因此js是面向对象的语法,如果做对比的话,有点像javafx、flex等的形式。服务端的组件和js组件一样用。因此,如果注重性能,可以多做客户端的组件,而少做关联,即少与服务器通信。
上面提到,js组件和服务端Java组件API是一模一样的,因此,每个动作都要与服务器端通信的。正是这样,echo的组件都是具备必须的事件。 可以看下API,Java组件都没有鼠标的移动事件,否则的话,自己想象下就有意思了。
要想做到这些,你想要继承现有组件(这里是指客户端js组件),添加你感兴趣的事件,不需要和服务器关联的就不关联,只在客户端运行。比如客户端js验证,这个你总需要吧。
总结:echo组件都不应该拿来就用,一般最好的实践就是扩展他们。echo的架构思想也是围绕这些展开的。
先到这,我会专门开个文章介绍下echo3.以及如何才能在netbeans下做相应的开发。
分享到:
相关推荐
NetBeans是一个功能丰富的集成开发环境(IDE),特别适合Java开发。将Struts2.0与NetBeans结合,可以提升开发者的工作效率,使得开发Struts2应用更加便捷。 标题中的"NetBeans下的Struts2.0插件"指的是专门为...
4. **插件开发流程**:首先,开发者需要设置Liferay SDK,然后在NetBeans中创建一个新的Liferay项目。接着,选择合适的项目类型(如Portlet或Service Builder),配置相应的Liferay版本和部署目标。编写代码后,可以...
2011年6月更新的NetBeans7.0.1开发Android的插件(nbandroid 1.7),补救了以往的插件中在编辑xml文件时没有代码提示的缺憾,使程序员在NetBeans下开发Android软件也能像在Eclipse那样得心应手,方便好用,现在分享...
nbstruts2support,当前的netbeans即使是6.5版本也只是支持struts1,该插件可以使其支持struts2,下载该两个插件,打开“工具”-->“插件”选择已下载,将插件导入,打上勾,安装即可
2. NetBeans C/C++ Pack:NetBeans C/C++ Pack 是 NetBeans 的一个插件,提供了 C 和 C++ 语言的开发支持。可以从官方网站下载 NetBeans C/C++ Pack 的安装包。 3. MinGW:MinGW 是一个开源的 C/C++ 编译器,适用于 ...
scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)scala netbeans 插件(3)
- **安装插件开发工具包(Platform SDK)**:在NetBeans官网下载并安装,它包含开发插件所需的库和工具。 - **创建新项目**:在NetBeans中选择“New Project”,然后选择“Java with Ant > NetBeans Module”创建一...
netBeans开发ANdroid插件 NetBeans添加插件后 在配置中 添加 名字随便起 http://kenai.com/downloads/nbandroid/updates.xml 添加 重启后能用
总的来说,"br-com-claudius-netbeans-jvmsettings.nbm"插件是NetBeans开发环境的一个实用增强工具,它简化了对JVM启动参数的调整过程,从而帮助用户根据自身需求优化IDE的运行效率。对于那些经常面临内存限制问题或...
总的来说,NetBeans的Codeigniter插件旨在使开发者在使用这款PHP框架时拥有更好的开发环境,提升开发质量和效率。通过安装和利用这些插件,你可以更加专注于你的项目,而不是被琐碎的代码细节所困扰。同时,保持插件...
总的来说,NetBeans下的Struts2插件为Java Web开发者提供了一个高效、易用的开发工具,使得基于Struts2的应用开发变得更加得心应手。无论是新手还是经验丰富的开发者,都可以从中受益,快速构建出高质量的Web应用...
在本文中,我们将深入探讨如何开发一个基于NetBeans平台的音乐播放器插件。NetBeans是一个流行的开源集成开发环境(IDE),它支持多种编程语言,包括Java、C++和JavaScript等。开发NetBeans插件允许我们扩展其功能,...
NetBeans IDE 是一个流行的开源集成开发环境(IDE),支持多种编程语言,包括 Java。`javafx-2_0-beta-netbeans-windows-i586.zip` 文件是一个专门为 NetBeans IDE 配置的 JavaFX 2.0 插件,专为 Windows 的 i586...
scala netbeans 插件(2)scala netbeans 插件(2)scala netbeans 插件(2)
### 构建NetBeans的JSP开发环境 #### 一、环境搭建与配置 ##### 1. 开发环境概述 为了构建一个适用于JSP开发的环境,我们需要准备以下软件及版本: - **JDK**: JDK1.6 Update 3 - **IDE**: NetBeans 5.5.1 - **...
NetBeans IDE 5.5.1 是一个广泛使用的开源集成开发环境,主要用于Java应用程序的开发。WSIT(Web Services Interoperability Technology)是SUN Microsystems(现在已被Oracle收购)推出的一套工具集,用于增强Java...
Android for NetBeans 插件是专门为开发者设计的一款集成开发环境(IDE)扩展,它使得开发者能够在NetBeans平台上进行Android应用的开发。这个插件的出现,弥补了NetBeans IDE在原生支持Android开发上的不足,使得...
对于NetBeans的Android开发环境搭建,虽然NetBeans主要用于Java和Web开发,但通过插件也可支持Android。不过,Eclipse更常用,因此NetBeans的配置在此不再详述。如果你需要在NetBeans中开发Android,建议查找专门...
本篇文章将详细介绍如何在NetBeans环境下配置Struts2插件,以便更好地利用该框架进行开发。 首先,我们需要理解Struts2的核心概念。Struts2框架基于Action和Result,通过DispatcherServlet进行请求分发。Action类...