最近做了一個(gè)日志管理系統(tǒng)
個(gè)人覺得采用了一套非常非常創(chuàng)新或者變態(tài)的開發(fā)方式,就像題目說的那樣,使用web的方法開發(fā)桌面應(yīng)用程序,當(dāng)然所有的技術(shù)都是基于java的。
總結(jié)一下在整個(gè)項(xiàng)目中使用到的技術(shù)
1、底層服務(wù)器的開發(fā)socket通信、http報(bào)文解析、反射機(jī)制(這些技術(shù)其實(shí)就是開發(fā)了一款小型的服務(wù)器,讓我們的web代碼能夠在本地運(yùn)行起來,之所以選擇自己開發(fā)服務(wù)器的原因是,tomcat對(duì)于我們這個(gè)小桌面程序來說還是太大了點(diǎn),如果作為桌面啟動(dòng),用戶不可能等待程序啟動(dòng)這么長的時(shí)間,我給這個(gè)服務(wù)器起了個(gè)名字叫做jnet)
2、SWT,包括的瀏覽器控件和窗口等。
3、使用installanywhere來打包程序,方便發(fā)布
4、前臺(tái)展現(xiàn)數(shù)據(jù)使用了ext2.2
5、擴(kuò)展自己開發(fā)的服務(wù)器jnet,開發(fā)出自己的“action”,應(yīng)該來說還是符合MVC的
數(shù)據(jù)庫使用的是access,采用jdbc的方式訪問,你知道,如果在桌面軟件上使用hibernate...
好了,不說廢話
先貼出成品的效果圖
1、桌面圖標(biāo)
2、登錄界面
3、登錄效果圖
4、主界面
是不是覺得還不錯(cuò)呢?JAVA也可以揚(yáng)眉吐氣開發(fā)出這樣的桌面系統(tǒng),可惜的是因?yàn)槭褂玫搅薙WT,所以整個(gè)項(xiàng)目并不能跨平臺(tái),放到linux系統(tǒng)下去運(yùn)行。
好了先理一理,發(fā)一張項(xiàng)目的原理圖

看圖說話,我們整個(gè)項(xiàng)目的構(gòu)架,就是這個(gè)樣子的,采用SWT封裝了IE作為前臺(tái)展現(xiàn),后臺(tái)使用自己開發(fā)的服務(wù)器作為后臺(tái)來處理數(shù)據(jù),中間數(shù)據(jù)通信方式當(dāng)然就只能是http了
所以中心思想就是,我開發(fā)了個(gè)服務(wù)器,這個(gè)服務(wù)器能夠讓用戶擴(kuò)展自己的類,自己的方法,然后用戶就可以根據(jù)自己的需要來書寫自己的系統(tǒng),最最最重要的就是,讓我們這些寫慣了J2EE的人能夠使用已經(jīng)形成的思維來編寫桌面系統(tǒng),我們可以不需要再去學(xué)swing和swt,可以使用html的方式來做前臺(tái)的布局,因?yàn)槔蠈?shí)說我每次寫桌面程序的時(shí)候,總會(huì)把代碼弄得一團(tuán)糟,在web系統(tǒng)上容易規(guī)規(guī)矩矩的寫出分層的代碼,桌面系統(tǒng)...布局就讓我頭大(我的意思是當(dāng)你跑出去接私活干的時(shí)候,不用再學(xué)一套東西,呵呵)。
好了,這個(gè)帖子只是一個(gè)簡單的介紹,整個(gè)系統(tǒng)具體的實(shí)現(xiàn)方式,會(huì)在后續(xù)的帖子中一步步解析,大家有什么意見或者建議可以給我留言,謝謝!