搭建Java桌面應(yīng)用程序原型(一)

字號(hào):

在這篇文章里,我將描述一個(gè)Java桌面應(yīng)用的原型,我把它叫做JImageing。我打算把焦點(diǎn)集中在應(yīng)用的框架上,解釋我怎么做技術(shù)上的決定和我怎么解決在開(kāi)發(fā)過(guò)程中出現(xiàn)的問(wèn)題。
    為什么要建造一個(gè)原型?
    很多應(yīng)用程序的開(kāi)發(fā)都是由于幾個(gè)原因從一個(gè)原型開(kāi)始的。這些原因中的第一條就是,你必須確定用現(xiàn)有的技術(shù)能夠滿足用戶的需求。例如,在不用本地代碼的Swing應(yīng)用程序中Windows集成不能夠被實(shí)現(xiàn),這就導(dǎo)致喪失了一些Java跨平臺(tái)的優(yōu)勢(shì)。SWT提供了一個(gè)和操作系統(tǒng)有限制的集成,這就允許你在很多本地平臺(tái)上運(yùn)行同一應(yīng)用程序。在很多場(chǎng)合,J2SE平臺(tái)提供給你需要搭建復(fù)雜桌面應(yīng)用程序的豐富性能。在搭建大型Java桌面工程之前,你總是應(yīng)該搭建一個(gè)原型去看J2SE是否滿足應(yīng)用程序的需求。
    另一方面證明你的想法能夠被實(shí)現(xiàn)并且你的技術(shù)決定是正確的,一個(gè)原型能夠在開(kāi)發(fā)過(guò)程中盡早的獲得用戶的反饋。原型也能幫助你估計(jì)完成你的工程所需要的時(shí)間和資源?;ù罅康墓ぷ魅ゴ罱ㄒ粋€(gè)有著菜單,對(duì)話框,拖拽特性、剪切版支持、恢復(fù)管理、打印等功能的用戶接口。在開(kāi)始這些工作之前,你應(yīng)該知道搭建應(yīng)用程序核心功能有多困難。如果你不得不用第三方自定義組件,你應(yīng)該測(cè)試他們看看是否能和你的原型一起工作。如果你不得不解決擴(kuò)展和性能問(wèn)題,你應(yīng)該通過(guò)原型狀態(tài)找到解決方案。
    用戶需求
    JImageing原型是一個(gè)桌面應(yīng)用程序,這個(gè)應(yīng)用程序允許你給圖片注釋。Email可能是最流行的“協(xié)作工具”,但是可以通過(guò)圖片工具提高在截圖上做注釋的能力,這種圖片工具可以讓你畫線,畫矩形、橢圓并且可以寫注釋信息在圖片上。
    如果JImageing的用戶使用一個(gè)以上的操作系統(tǒng),那么對(duì)于這樣的一個(gè)應(yīng)用程序Java是很自然的選擇。當(dāng)Windows支配桌面市場(chǎng)的時(shí)候,有一些用戶選擇Mac或者Linux。例如,當(dāng)Java開(kāi)發(fā)者通過(guò)互聯(lián)網(wǎng)對(duì)一個(gè)項(xiàng)目進(jìn)行合作的時(shí)候,有一可能性是他們可以不用同一種操作系統(tǒng)。