`
wsc830719
  • 浏览: 166820 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

开篇:netbeans RCP介绍

阅读更多

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

 

 

 

 

 

 

分享到:
评论
2 楼 wmx2003 2011-03-29  
你好,第一次使用Netbeans RCP,有问题想请教下。刚用NetBeans Platform配了一个java editor,支持编译,运行,但是没有语法高亮和智能输入,不知道怎么回事
1 楼 gml520 2010-02-20  
大哥,我也非常的喜欢netbeans ,以后有空多交流哈!~

相关推荐

    Rich Client Programming

    《富客户端编程:接入NetBeans平台》是一本深入探讨如何利用NetBeans Rich Client Platform (RCP) 开发桌面应用的专业书籍。NetBeans RCP 是一个强大的框架,它为开发者提供了构建功能丰富的、交互性强的Java桌面...

    NetBeans RCP - 使用 Node & ExplorerManager 结合 BeanTreeView 编写的一个磁盘文件树 Build20080119

    NetBeans Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它利用Java Swing组件和NetBeans的模块化特性。在这个特定的项目中,"NetBeans RCP - 使用 Node & ExplorerManager 结合 ...

    netbeans RCP应用+源码:MP3管理器

    NULL 博文链接:https://wsc830719.iteye.com/blog/601504

    语言程序设计资料:第13章_开发工具:NetBeans的使用.ppt

    语言程序设计资料:第13章_开发工具:NetBeans的使用.ppt

    语言程序设计资料:NetBeans学习笔记.doc

    语言程序设计资料:NetBeans学习笔记.doc

    语言程序设计资料:NetBeans使用文档.doc

    语言程序设计资料:NetBeans使用文档.doc

    语言程序设计资料:Netbeans.ppt

    NetBeans 是一款由 Sun Microsystems(现已被 Oracle 收购)开发的开源集成开发环境(IDE),主要用于编写 Java 应用程序。它完全基于 Java 语言,因此可以在任何支持 Java 的平台上运行,具备高度的可移植性。...

    windows下PHP开发之环境配置:netbeans+jdk+wamp+xdebug

    本文档旨在详细介绍如何在 Windows 操作系统环境下搭建一个完整的 PHP 开发环境,涉及的主要工具包括 NetBeans IDE、Java Development Kit (JDK)、WAMP 以及 Xdebug。通过本教程的学习,您将能够顺利地进行 PHP 应用...

    语言程序设计资料:NetBeans使用教程.doc

    NetBeans 使用教程 NetBeans 是一个流行的集成开发环境(IDE),它提供了一个功能强大且灵活的平台 для开发 Java 应用程序。在本教程中,我们将学习如何使用 NetBeans 创建一个 Java 应用程序,并编写用于测试的...

    NetBeans-RCP-TaskManager:基于开源Netbeans IDE框架的任务管理器

    NetBeans RCP(Rich Client Platform)任务管理器是一款利用开源NetBeans IDE的框架构建的应用程序,主要用于管理和跟踪任务。NetBeans RCP是一个强大的开发平台,它允许开发者利用Java语言创建功能丰富的桌面应用...

    《Rich Client Programming: Plugging into the NetBeans Platform》

    总之,《富客户端编程:接入NetBeans平台》是一本全面介绍NetBeans RCP开发的指南,无论是对初学者还是有经验的开发者,都能从中获益。通过阅读这本书,你将能够熟练地利用NetBeans RCP构建功能强大、可扩展且易于...

    NetBeansProjects:NetBeans 项目

    NetBeans IDE 提供了丰富的功能,帮助开发者高效地创建、测试和调试应用程序。在这个名为"NetBeansProjects"的压缩包中,我们很可能是得到了一个NetBeans项目的源代码仓库。 NetBeans IDE的特点和关键知识点包括: ...

    语言程序设计资料:netbeans基础教程.doc

    ### NetBeans基础教程知识点概述 #### 一、NetBeans简介及安装 - **NetBeans**是一款功能强大的集成开发环境(Integrated Development Environment, IDE),适用于多种编程语言,包括Java、PHP、C/C++等。 - 由Sun...

    语言程序设计资料:netbeans使用教程-2.doc

    NetBeans 使用教程 - 2 本资源摘要信息是基于 NetBeans 使用教程 - 2 文件的内容,旨在提供一个详细的知识点总结。 1. NetBeans Overview NetBeans 是一个集成开发环境(IDE),它提供了一个功能强大且灵活的...

    Java-netbeans-7.rar

    NetBeans是一款强大的集成开发环境(IDE),尤其适合Java开发者。NetBeans 7版本是在2011年发布的,它包含了多项增强功能,旨在提高Java开发者的效率和代码质量。 NetBeans 7的主要特点包括: 1. **兼容性**:...

    NetBeans——Java桌面、Web与企业级程序开发详解

    NetBeans是一款强大的集成开发环境(IDE),主要用于Java桌面、Web及企业级应用程序的开发。它提供了丰富的特性集,包括代码编辑、调试、构建和部署工具,使得开发者能够高效地进行软件开发工作。以下是对NetBeans在...

    NRCP_LWJGL3:使用LWJGL3的Netbeans RCP模块

    "NRCP_LWJGL3:使用LWJGL3的Netbeans RCP模块" 这个标题表明我们正在讨论一个特定的项目或者教程,它基于NetBeans Rich Client Platform (RCP) 并且整合了 Lightweight Java Game Library 3 (LWJGL3)。NetBeans RCP是...

    netbeans8.2.zip

    这个版本的NetBeans为Windows平台优化,提供了丰富的功能和特性,使得开发过程更为高效。 1. **安装与启动**:下载并解压"NetBeans 8.2.zip"后,用户可以找到安装程序,双击运行进行安装。安装过程中,用户可以选择...

    精通netbeans随书光盘

    1. **NetBeans IDE介绍**:NetBeans IDE是一款开源的、跨平台的开发工具,特别适合于Java开发。它集成了许多开发必需的功能,如代码编辑器、项目管理器、版本控制系统、构建工具等,极大地提高了开发效率。 2. **...

Global site tag (gtag.js) - Google Analytics