您好,欢迎访问一九零五行业门户网

转移到NetBeans平台的10个技巧

欢迎进入java社区论坛,与200万技术人员互动交流 >>进入 netbeans可能是jsr-296项目的最大赢家,它能帮助开发人员在他们的项目中采取下一步行动,如果没有netbeans,他们可能不知道该怎么做,如他们用jsr-296中的singleframeapplication类代替了jframe,因为
欢迎进入java社区论坛,与200万技术人员互动交流 >>进入
    netbeans可能是jsr-296项目的最大赢家,它能帮助开发人员在他们的项目中采取下一步行动,如果没有netbeans,他们可能不知道该怎么做,如他们用jsr-296中的singleframeapplication类代替了jframe,因为使用它能更容易与jsr-296(我拒绝把它称为swing应用程序框架,saf,因为这个名字太自大了,好像就没有其它swing应用程序框架似的)接轨,特别是在netbeans ide的帮助下,许多开发人员都这样做了,迅速地看到了他们的开发成果。
    但遗憾的是jsr-296已经停止开发了,当你用最新的netbeans ide 6.9创建这种应用程序时,它会警告你jsr-296已经没有再继续开发了,如下图所示。
图 1 netbeans 6.9新建swing应用程序时的警告信息
    因此,现在有更多的开发人员需要netbeans平台,因为只有它能为swing应用程序提供最合理的下一步行动,特别是当你的代码中大量采用了jsr-296规范时,如你的代码中找不到jframe,你可能将重点放在你的业务领域而不是基础设施了,因此你需要生命周期管理,action系统和task,你现在仍然需要它们,而这些netbeans平台都还为你保留着。
    我与一些正在向netbeans平台转移的开发人员深入交谈后,总结出转移到netbeans平台的10个实用的技巧,如果你也有转向netbeans的计划,不妨先学习一下别人的经验。
    1、按crud教程办事
    现在到处都有各种各样的教程可供下载阅读,甚至有视频教程可以观看,但我这里推荐的是netbeans平台crud应用程序教程,我最近遇到一位对netbeans平台感到很困惑的开发人员,当我向他推荐了这个教程学习后,他问的问题也显著不同了,这个教程涵盖了netbeans平台的典型应用场景,通过它你可以学到更多,关于netbeans平台,api,过程等一切需要了解的都应有尽有。没有理由不看这个教程就开始netbeans之旅。
    2、打印netbeans平台的refcard
    面对netbeans平台时一个很大的问题是作用域,换句话说就是,netbeans平台到底能干些什么呢?你为什么要使用,什么时候使用?这个时候看视频教程是最有帮助的了,但你也应该打印最基本的netbeans平台refcard,它涵盖的内容很全面,甚至连最小的细节都不会放过,在你的编程过程中可以给你很多代码提示和编码技巧。
    3、原型
    快速实现一个原型,这样你才知道你需要些什么,任何事情都是想起来容易做起来难,因此使用原型可以尽早知道实现目标的难度,备份你的源代码,在netbeans ide中创建一个新的netbeans平台应用程序,创建一个新的模块,然后将你的代码粘贴到这个模块中,接下来打包所有使用到的第三方开发库,根据需要设置依赖,创建一个topcomponent,然后在你的新应用程序窗口中显示一些数据,原型就搭建好了。
    4、将外部jar转换成模块
    开发人员经常问的一个头痛的问题是“真的吗?我需要将我所有的库都打包成模块吗?为什么?”,有这种想法表示你想创建一个模块化应用程序,你可以从模块化中受益,如依赖管理,版本控制和信息隐藏,你甚至可以将多个jar放在相同的模块中(在“库打包成模块向导”中按住ctrl点击或按住shift点击),但是你需要思考将多个jar放进同一个模块的缘由,因为你的目标是要创建一个模块化应用程序,因此只应该将那些应该放在同一模块的jar组织在一起,不要顾此失彼。
    5、思考一下模块化的边界
    什么时候该创建一个新的netbeans模块(或osgi捆绑)?阅读“如何将应用程序拆分成模块”(http://java.dzone.com/news/how-to-split-into-modules)文档很重要。
    6、注册action类
    自netbeans 6.7以来,你通常不再需要netbeans平台action类的子类,在“我应该使用哪一个netbeans平台action类”(http://netbeans.dzone.com/news/which-netbeans-platform-action)文章中有详细的解释,为什么那样做就好?因为现在你可以直接从原来的应用程序复制actionlisteners和abstractactions,然后粘贴到netbeans模块即可,你需要做的就是正确地注册它们,然后就大功告成了,这意味着你的action类转移到菜单和工具条了,从键盘快捷键调用它们就只是一个注册问题了,而不再涉及到复杂的编码。
    7、爱上层
    层是你最好的朋友,一个“层”就是一个xml文件,每个模块最多有一个层,应用程序启动时每一层都被添加到虚拟文件系统,你可以在层上注册你喜欢的东西,然后就可以从java代码中读取这个层了,听起来似乎很抽象,但如果你看了“可插拔的jxtaskpane”示例(http://blogs.sun.com/geertjan/entry/pluggable_jxtaskpane)后,你就觉得很简单了,这也是你转移应用程序最具魔力的地方了,在层中创建一个文件夹(folder),命名为“products”,然后每个模块提供的新产品在“products”下注册一个文件夹,在你的代码中,你可以遍历products文件夹,找出所有的产品,然后在应用程序的窗口中显示它们。服务提供者也可以在层上注册,具体请参考“netbeans扩展点如何工作?”(http://netbeans.dzone.com/news/netbeans-extension-points)文章。
    8、保留jpanels
    你的应用程序中使用jpanels了吗?如果你用了,那么你应该感到很高兴,因为你可以无用做任何修改继续使用它们,创建一个新的topcomponent类,然后调用add(myjpanel)即可,就这么简单,你也可以通过选项或向导窗口来完成,例如,你发现jpanel可以被用来配置什么(在选项或向导窗口),以及作为窗口中的一个编辑面板,因此你可以在多个不同的地方重复使用它,只需要在你工作的netbeans平台容器中调用add(myjpanel)即可。
    9、参与社区
    通过参与社区你一定会得到更多收获,在dev@platform.netbeans.org邮件列表中你可以看到重要的内容,各种各样的问题和响应的解答,你了解得越多,你越应该利用机会向别人分享你的经验,你也可以参与某些社区应用程序的开发(http://platform.netbeans.org/screenshots.html),为社区贡献一份力量。
    10、转移是一个过程
    51cto认为转移是一个过程,不是一时半会儿就能完成的,可能需要发布几次产品的迭代,因此需要有相应的计划,例如,当你转移到netbeans平台后发布第一个版本时,你可能只是简单地将jpanels转移到新平台的topcomponents,在下一个版本中,你可能想将你的业务对象打包成node类,以便它们可以显示在资源管理器视图中,包括属性窗口等,这些都应根据你自己的步伐进行调整。根据要转移的规模,你花在转移上的时间可能需要数周或数月,这都很正常,如果你没有那么多时间,你应该考虑分步实施,为每一个版本确定好要转移的功能,没有什么规则可循,只要根据你自己的需要安排就行了。
    这就是我总结的技巧,读了这篇文章你有何感想呢?你还有其它建议吗?希望看到你的评论!
原文名:10 tips for porting to the netbeans platform
    作者:geertjan wielenga
其它类似信息

推荐信息