新聞中心
【譯文】曾在淺談NetBeans開(kāi)發(fā)Swing有過(guò)介紹:部分Swing應(yīng)用程序開(kāi)發(fā)團(tuán)隊(duì)開(kāi)始轉(zhuǎn)向NetBeans平臺(tái),特別是Java 7重新更新發(fā)展方向,確定JSR-296進(jìn)入永久性冬眠后,這個(gè)趨勢(shì)更加突出。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出都昌免費(fèi)做網(wǎng)站回饋大家。
NetBeans可能是JSR-296項(xiàng)目的最大贏家,它能幫助開(kāi)發(fā)人員在他們的項(xiàng)目中采取下一步行動(dòng),如果沒(méi)有NetBeans,他們可能不知道該怎么做,如他們用JSR-296中的SingleFrameApplication類(lèi)代替了JFrame,因?yàn)槭褂盟芨菀着cJSR-296(我拒絕把它稱(chēng)為Swing應(yīng)用程序框架,SAF,因?yàn)檫@個(gè)名字太自大了,好像就沒(méi)有其它Swing應(yīng)用程序框架似的)接軌,特別是在NetBeans IDE的幫助下,許多開(kāi)發(fā)人員都這樣做了,迅速地看到了他們的開(kāi)發(fā)成果。
但遺憾的是JSR-296已經(jīng)停止開(kāi)發(fā)了,當(dāng)你用最新的NetBeans IDE 6.9創(chuàng)建這種應(yīng)用程序時(shí),它會(huì)警告你JSR-296已經(jīng)沒(méi)有再繼續(xù)開(kāi)發(fā)了,如下圖所示。
圖 1 NetBeans 6.9新建Swing應(yīng)用程序時(shí)的警告信息
因此,現(xiàn)在有更多的開(kāi)發(fā)人員需要NetBeans平臺(tái),因?yàn)橹挥兴転镾wing應(yīng)用程序提供最合理的下一步行動(dòng),特別是當(dāng)你的代碼中大量采用了JSR-296規(guī)范時(shí),如你的代碼中找不到JFrame,你可能將重點(diǎn)放在你的業(yè)務(wù)領(lǐng)域而不是基礎(chǔ)設(shè)施了,因此你需要生命周期管理,Action系統(tǒng)和Task,你現(xiàn)在仍然需要它們,而這些NetBeans平臺(tái)都還為你保留著。
我與一些正在向NetBeans平臺(tái)轉(zhuǎn)移的開(kāi)發(fā)人員深入交談后,總結(jié)出轉(zhuǎn)移到NetBeans平臺(tái)的10個(gè)實(shí)用的技巧,如果你也有轉(zhuǎn)向NetBeans的計(jì)劃,不妨先學(xué)習(xí)一下別人的經(jīng)驗(yàn)。
1、按CRUD教程辦事
現(xiàn)在到處都有各種各樣的教程可供下載閱讀,甚至有視頻教程可以觀看,但我這里推薦的是Netbeans平臺(tái)CRUD應(yīng)用程序教程,我最近遇到一位對(duì)NetBeans平臺(tái)感到很困惑的開(kāi)發(fā)人員,當(dāng)我向他推薦了這個(gè)教程學(xué)習(xí)后,他問(wèn)的問(wèn)題也顯著不同了,這個(gè)教程涵蓋了NetBeans平臺(tái)的典型應(yīng)用場(chǎng)景,通過(guò)它你可以學(xué)到更多,關(guān)于NetBeans平臺(tái),API,過(guò)程等一切需要了解的都應(yīng)有盡有。沒(méi)有理由不看這個(gè)教程就開(kāi)始NetBeans之旅。
2、打印NetBeans平臺(tái)的Refcard
面對(duì)NetBeans平臺(tái)時(shí)一個(gè)很大的問(wèn)題是作用域,換句話說(shuō)就是,NetBeans平臺(tái)到底能干些什么呢?你為什么要使用,什么時(shí)候使用?這個(gè)時(shí)候看視頻教程是最有幫助的了,但你也應(yīng)該打印最基本的NetBeans平臺(tái)Refcard,它涵蓋的內(nèi)容很全面,甚至連最小的細(xì)節(jié)都不會(huì)放過(guò),在你的編程過(guò)程中可以給你很多代碼提示和編碼技巧。
3、原型
快速實(shí)現(xiàn)一個(gè)原型,這樣你才知道你需要些什么,任何事情都是想起來(lái)容易做起來(lái)難,因此使用原型可以盡早知道實(shí)現(xiàn)目標(biāo)的難度,備份你的源代碼,在NetBeans IDE中創(chuàng)建一個(gè)新的NetBeans平臺(tái)應(yīng)用程序,創(chuàng)建一個(gè)新的模塊,然后將你的代碼粘貼到這個(gè)模塊中,接下來(lái)打包所有使用到的第三方開(kāi)發(fā)庫(kù),根據(jù)需要設(shè)置依賴(lài),創(chuàng)建一個(gè)TopComponent,然后在你的新應(yīng)用程序窗口中顯示一些數(shù)據(jù),原型就搭建好了。
4、將外部JAR轉(zhuǎn)換成模塊
開(kāi)發(fā)人員經(jīng)常問(wèn)的一個(gè)頭痛的問(wèn)題是“真的嗎?我需要將我所有的庫(kù)都打包成模塊嗎?為什么?”,有這種想法表示你想創(chuàng)建一個(gè)模塊化應(yīng)用程序,你可以從模塊化中受益,如依賴(lài)管理,版本控制和信息隱藏,你甚至可以將多個(gè)JAR放在相同的模塊中(在“庫(kù)打包成模塊向?qū)А敝邪醋TRL點(diǎn)擊或按住Shift點(diǎn)擊),但是你需要思考將多個(gè)JAR放進(jìn)同一個(gè)模塊的緣由,因?yàn)槟愕哪繕?biāo)是要?jiǎng)?chuàng)建一個(gè)模塊化應(yīng)用程序,因此只應(yīng)該將那些應(yīng)該放在同一模塊的JAR組織在一起,不要顧此失彼。
5、思考一下模塊化的邊界
什么時(shí)候該創(chuàng)建一個(gè)新的NetBeans模塊(或OSGi捆綁)?閱讀“如何將應(yīng)用程序拆分成模塊”(http://java.dzone.com/news/how-to-split-into-modules)文檔很重要。
6、注冊(cè)Action類(lèi)
自NetBeans 6.7以來(lái),你通常不再需要NetBeans平臺(tái)Action類(lèi)的子類(lèi),在“我應(yīng)該使用哪一個(gè)NetBeans平臺(tái)Action類(lèi)”(http://netbeans.dzone.com/news/which-netbeans-platform-action)文章中有詳細(xì)的解釋?zhuān)瑸槭裁茨菢幼鼍秃??因?yàn)楝F(xiàn)在你可以直接從原來(lái)的應(yīng)用程序復(fù)制ActionListeners和AbstractActions,然后粘貼到NetBeans模塊即可,你需要做的就是正確地注冊(cè)它們,然后就大功告成了,這意味著你的Action類(lèi)轉(zhuǎn)移到菜單和工具條了,從鍵盤(pán)快捷鍵調(diào)用它們就只是一個(gè)注冊(cè)問(wèn)題了,而不再涉及到復(fù)雜的編碼。
7、愛(ài)上層
層是你最好的朋友,一個(gè)“層”就是一個(gè)XML文件,每個(gè)模塊最多有一個(gè)層,應(yīng)用程序啟動(dòng)時(shí)每一層都被添加到虛擬文件系統(tǒng),你可以在層上注冊(cè)你喜歡的東西,然后就可以從Java代碼中讀取這個(gè)層了,聽(tīng)起來(lái)似乎很抽象,但如果你看了“可插拔的JXTaskPane”示例(http://blogs.sun.com/geertjan/entry/pluggable_jxtaskpane)后,你就覺(jué)得很簡(jiǎn)單了,這也是你轉(zhuǎn)移應(yīng)用程序最具魔力的地方了,在層中創(chuàng)建一個(gè)文件夾(folder),命名為“Products”,然后每個(gè)模塊提供的新產(chǎn)品在“Products”下注冊(cè)一個(gè)文件夾,在你的代碼中,你可以遍歷Products文件夾,找出所有的產(chǎn)品,然后在應(yīng)用程序的窗口中顯示它們。服務(wù)提供者也可以在層上注冊(cè),具體請(qǐng)參考“NetBeans擴(kuò)展點(diǎn)如何工作?”(http://netbeans.dzone.com/news/netbeans-extension-points)文章。
8、保留JPanels
你的應(yīng)用程序中使用JPanels了嗎?如果你用了,那么你應(yīng)該感到很高興,因?yàn)槟憧梢詿o(wú)用做任何修改繼續(xù)使用它們,創(chuàng)建一個(gè)新的TopComponent類(lèi),然后調(diào)用add(myJPanel)即可,就這么簡(jiǎn)單,你也可以通過(guò)選項(xiàng)或向?qū)Т翱趤?lái)完成,例如,你發(fā)現(xiàn)JPanel可以被用來(lái)配置什么(在選項(xiàng)或向?qū)Т翱冢约白鳛榇翱谥械囊粋€(gè)編輯面板,因此你可以在多個(gè)不同的地方重復(fù)使用它,只需要在你工作的NetBeans平臺(tái)容器中調(diào)用add(myJPanel)即可。
9、參與社區(qū)
通過(guò)參與社區(qū)你一定會(huì)得到更多收獲,在[email protected]郵件列表中你可以看到重要的內(nèi)容,各種各樣的問(wèn)題和響應(yīng)的解答,你了解得越多,你越應(yīng)該利用機(jī)會(huì)向別人分享你的經(jīng)驗(yàn),你也可以參與某些社區(qū)應(yīng)用程序的開(kāi)發(fā)(http://platform.netbeans.org/screenshots.html),為社區(qū)貢獻(xiàn)一份力量。
10、轉(zhuǎn)移是一個(gè)過(guò)程
認(rèn)為轉(zhuǎn)移是一個(gè)過(guò)程,不是一時(shí)半會(huì)兒就能完成的,可能需要發(fā)布幾次產(chǎn)品的迭代,因此需要有相應(yīng)的計(jì)劃,例如,當(dāng)你轉(zhuǎn)移到NetBeans平臺(tái)后發(fā)布第一個(gè)版本時(shí),你可能只是簡(jiǎn)單地將JPanels轉(zhuǎn)移到新平臺(tái)的TopComponents,在下一個(gè)版本中,你可能想將你的業(yè)務(wù)對(duì)象打包成Node類(lèi),以便它們可以顯示在資源管理器視圖中,包括屬性窗口等,這些都應(yīng)根據(jù)你自己的步伐進(jìn)行調(diào)整。根據(jù)要轉(zhuǎn)移的規(guī)模,你花在轉(zhuǎn)移上的時(shí)間可能需要數(shù)周或數(shù)月,這都很正常,如果你沒(méi)有那么多時(shí)間,你應(yīng)該考慮分步實(shí)施,為每一個(gè)版本確定好要轉(zhuǎn)移的功能,沒(méi)有什么規(guī)則可循,只要根據(jù)你自己的需要安排就行了。
這就是我總結(jié)的技巧,讀了這篇文章你有何感想呢?你還有其它建議嗎?希望看到你的評(píng)論!
原文出處:netbeans.dzone.com/10-tips-4-porting-2-netbeans
原文名:10 Tips for Porting to the NetBeans Platform
作者:Geertjan Wielenga
【譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文出處及作者!】
【編輯推薦】
- NetBeans 6.9是完美的開(kāi)發(fā)環(huán)境嗎?
- NetBeans 6.9正式版發(fā)布(附下載地址)
- NetBeans下如何設(shè)計(jì)UML模式
- NetBeans SVN經(jīng)驗(yàn)總結(jié)之全程攻略
- GlassFish3.0.1發(fā)布 捆綁NetBeans 6.9
本文名稱(chēng):轉(zhuǎn)移到NetBeans平臺(tái)的10個(gè)技巧
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/coipooe.html


咨詢(xún)
建站咨詢(xún)
