netbeans platform 俗称RCP,因为eclipse把其平台称为eclipse RCP,他们是为了一样的目的,提供了基于IDE自身构建综合桌面应用的能力,为了不混淆概念,因此一般都统一称为RCP开发。
有时候选择的依据很有可能就是根据swing还是swt来进行的。因为eclipse是建立在swt基础上的,而netbeans是建立在swing基础上的。两者很难共处,虽然有java框架做这些工作,但是基本没有成功的,而且这样用的人及其少。eclipse的RCP多以开发工具或插件存在。eclipse只能保证在win下运行良好,即便在win下,也会偶尔发生突然整个窗体消失(网上经常出现的词是crash)。因为它是通过一个层来调用本地操作系统来绘制界面的,其稳定性要依赖很多环境,如果其他软件或系统层次的东西影响到了它,就会出现不稳定的现象,另外,eclipse非常吃内存,尤其与win类似,经常占据着很多虚拟内存不放。它的优点就是具备本地的界面特征,其中一个特大的好处就是 当使用中文输入软件时显得和其他win的软件一致,而相比swing(包括netbeans平台),它会多出现一个小的窗口,永中office也是用swing做的,但是它的界面就能把这个小窗口去掉,应该做了一些修正工作,这个不太好说,不过总之,应该可以做到。不过,我觉得应该java自己做下修正最好。
至于平台间的基本差别,网上很多相关文章都谈到了。不过相比来说没有谈到实质里面去,只是一个表面的对比。而我也只是在网上看了几篇eclipse的RCP教程,也没动手做做,我只是做过一些netbeans RCP。因此,我也无法准确对比两者。又由于我比较偏向netbeans 平台的RCP,因此我只能从netbeans的特点来说说了,因此本文的标题为netbeans RCP介绍:
1 netbeans平台 与jdk有着紧密的联系,尤其jdk的swing部分,如果对swing比较熟悉,那么netbeans其实就是swing的扩展,它没有另起炉灶,而是完全构建于swing基础上。它基于完善的MVC结构,严格地划分了 视图(窗口API); 控制器(资源浏览器API);模型(数据对象API、文件系统API、节点API),然后是其他相关API如 动作API、文本API 、xml API 、项目API这些根据你的功能需求来选择。而底层就是核心API和模块API了,他们负责管理整个平台,这些底层的API我们一般不会直接接触到。
这是它的API列表:http://bits.netbeans.org/dev/javadoc/overview-summary.html
模型: 文件系统API 》《数据对象API 》《节点API 》《控制器:资源浏览器API 》《 窗口系统API
文件系统:可以代表任何以文件存在的资源,硬盘 zip jar 虚拟的目录 netbeans层描述目录(layer.xml文件)
操作的是文件本身(如 复制 粘贴 删除 重命名等)
数据对象:将文件系统上升为 表示其数据的对象,可以操作数据(即文件的内容)
节点API:当然数据对象只是表示了文件所表示的数据内容,但是不能展现给用户呀。因此必须再次提升,这就是节点(Node API)
上述三者都提供了详尽的API进行互操作以及相互获得对方,可以执行的功能获取所需对象,比如 一个项目的节点下,显示出了这个项目的所属的所有文件,这些就是由节点展现出来的,比如处理 拖拽、选择,这些都和下面要讲到的控制器联系起来
控制器——资源浏览器API :Explorer API,它带有一个ExplorerManager类,能够向窗口中展现数据,具体展现成什么样,取决于选择了何种视图。通过将动作以及绑定的能力与资源管理器相连,并提供给节点使用,从而决定了节点都能进行哪些操作,以及菜单和工具栏相关按钮的状态(可用还是不可用等,甚至动态的改变菜单工具条内容)。
视图——窗口API,提供了各种视图,这些视图使用了一致的模型,因此,达到了MVC式的完整的分离,模型不依赖具体
视图,可以随意更换,而不必更改模型,模型不用变,那么底层当然可以不变。
而视图只需被提供节点的根或一个子节点(作为根),就可以了。因此,数据改变了 如果视图无需变化,那么又不用管视图部分了,可以说一个解耦了的应用。
2 API清晰 正如上面所述,各个API紧紧围绕MVC展开,并提供了与之相关的API,动作API,则提供给节点和数据对象,以表征他们有何操作,什么时候或条件下可用。关于如何做到这些,请参阅官方的API说明,以及相关教程。
3 良好的继承层次 组件都基于swing组织起来的,swing比较抽象以及比较粗糙,不适合直接使用。而netbeans把swing有效的组织起来,只需很少的代码就可以做出高端的应用出来。我们只需根据要求做做核心的那部分业务代码就可以了,而关联以及展示 等都由内部机制关联起来了。
与struts spring hibernate 非常类似,其中提供了lookup API,可以通过它来得到相关的对象,比如当前被选择的节点等,以及与之整个系统相关的侦听器系统。无不体现了面向对象的思想。
可以说netbeans 平台是世界上唯一也是最强大的swing平台框架。
4 面向模块化 netbeans平台是完全面向模块的,包括组织以及运行。首先netbeans可以通过更新中心管理各个模块的升级,而底层有着严格的版本系统,依赖管理系统,Java有个扩展说明 ,netbeans严格按照这个说明来执行的。
jdk7将使用更好的模块化系统,到时候netbeans将会直接集成。当模块发生错误时会停止安装,已经安装的模块发现错误时会自动禁用。新安装的模块会马上启用并可以投入使用,而无需重启netbeans。那么到底有多模块化:举个情况来说明下:
比如做个模块开发,例如做个netbeans插件, 我们可以通过两种方式来运行并测试它:
4.1 运行: 即使用一个单独的netbeans实例来安装并运行这个插件————需要再开启一个同样的netbeans
4.2 在当前IDE中安装 :可以直接安装在当前IDE中 ————这个无需额外的内存开销
至于使用哪种,完全根据个人喜好。出现错误会停止安装 或自动禁用,不会危及netbeans。
当改动代码后,可以选择 重新安装 (根据上面所选有不同的选项):那么 改动的部分会生效,如果只改动一个类,那么部署时间不会超过5秒,至于需要多少重部署时间,取决于你改动了多少类,大致花费几秒的时间,至于多模块化,
那么重部署前,可以在启动的IDE里选择一段文本,当重部署完成之后,那段文本仍然是和原来一样的,包括那选择的内容。
因此,这些都保证了高速的开发效率。
5 基于标准JDK的 jdk的每次升级都会对netbeans平台的性能产生提升,并且
其实写到这,我还真感觉词尽了,贴个官网的比较吧,这个算是很中肯的,且真实:
http://platform.netbeans.org/articles/diff-nb-eclipse.html
分享到:
相关推荐
《富客户端编程:接入NetBeans平台》是一本深入探讨如何利用NetBeans Rich Client Platform (RCP) 开发桌面应用的专业书籍。NetBeans RCP 是一个强大的框架,它为开发者提供了构建功能丰富的、交互性强的Java桌面...
NetBeans Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它利用Java Swing组件和NetBeans的模块化特性。在这个特定的项目中,"NetBeans RCP - 使用 Node & ExplorerManager 结合 ...
NULL 博文链接:https://wsc830719.iteye.com/blog/601504
语言程序设计资料:第13章_开发工具:NetBeans的使用.ppt
语言程序设计资料:NetBeans学习笔记.doc
语言程序设计资料:NetBeans使用文档.doc
NetBeans 是一款由 Sun Microsystems(现已被 Oracle 收购)开发的开源集成开发环境(IDE),主要用于编写 Java 应用程序。它完全基于 Java 语言,因此可以在任何支持 Java 的平台上运行,具备高度的可移植性。...
本文档旨在详细介绍如何在 Windows 操作系统环境下搭建一个完整的 PHP 开发环境,涉及的主要工具包括 NetBeans IDE、Java Development Kit (JDK)、WAMP 以及 Xdebug。通过本教程的学习,您将能够顺利地进行 PHP 应用...
NetBeans 使用教程 NetBeans 是一个流行的集成开发环境(IDE),它提供了一个功能强大且灵活的平台 для开发 Java 应用程序。在本教程中,我们将学习如何使用 NetBeans 创建一个 Java 应用程序,并编写用于测试的...
NetBeans RCP(Rich Client Platform)任务管理器是一款利用开源NetBeans IDE的框架构建的应用程序,主要用于管理和跟踪任务。NetBeans RCP是一个强大的开发平台,它允许开发者利用Java语言创建功能丰富的桌面应用...
总之,《富客户端编程:接入NetBeans平台》是一本全面介绍NetBeans RCP开发的指南,无论是对初学者还是有经验的开发者,都能从中获益。通过阅读这本书,你将能够熟练地利用NetBeans RCP构建功能强大、可扩展且易于...
NetBeans IDE 提供了丰富的功能,帮助开发者高效地创建、测试和调试应用程序。在这个名为"NetBeansProjects"的压缩包中,我们很可能是得到了一个NetBeans项目的源代码仓库。 NetBeans IDE的特点和关键知识点包括: ...
### NetBeans基础教程知识点概述 #### 一、NetBeans简介及安装 - **NetBeans**是一款功能强大的集成开发环境(Integrated Development Environment, IDE),适用于多种编程语言,包括Java、PHP、C/C++等。 - 由Sun...
NetBeans 使用教程 - 2 本资源摘要信息是基于 NetBeans 使用教程 - 2 文件的内容,旨在提供一个详细的知识点总结。 1. NetBeans Overview NetBeans 是一个集成开发环境(IDE),它提供了一个功能强大且灵活的...
NetBeans是一款强大的集成开发环境(IDE),尤其适合Java开发者。NetBeans 7版本是在2011年发布的,它包含了多项增强功能,旨在提高Java开发者的效率和代码质量。 NetBeans 7的主要特点包括: 1. **兼容性**:...
NetBeans是一款强大的集成开发环境(IDE),主要用于Java桌面、Web及企业级应用程序的开发。它提供了丰富的特性集,包括代码编辑、调试、构建和部署工具,使得开发者能够高效地进行软件开发工作。以下是对NetBeans在...
"NRCP_LWJGL3:使用LWJGL3的Netbeans RCP模块" 这个标题表明我们正在讨论一个特定的项目或者教程,它基于NetBeans Rich Client Platform (RCP) 并且整合了 Lightweight Java Game Library 3 (LWJGL3)。NetBeans RCP是...
这个版本的NetBeans为Windows平台优化,提供了丰富的功能和特性,使得开发过程更为高效。 1. **安装与启动**:下载并解压"NetBeans 8.2.zip"后,用户可以找到安装程序,双击运行进行安装。安装过程中,用户可以选择...
1. **NetBeans IDE介绍**:NetBeans IDE是一款开源的、跨平台的开发工具,特别适合于Java开发。它集成了许多开发必需的功能,如代码编辑器、项目管理器、版本控制系统、构建工具等,极大地提高了开发效率。 2. **...