最近做了一個日誌管理系統,個人覺得採用了一套非常非常創新或者變態的開發方式,就像題目說的那樣,使用web的方法開發桌面應用程序,當然所有的技術都是基於java的.
總結一下在整個項目中使用到的技術
1、底層伺服器的開發socket通信、http報文解析、反射機制(這些技術其實就是開發了一款小型的伺服器,讓我們的web代碼能夠在本地運行起來,之所以選擇自己開發伺服器的原因是,tomcat對於我們這個小桌面程序來說還是太大了點,如果作為桌面啟動,用戶不可能等待程序啟動這麼長的時間,我給這個伺服器起了個名字叫做jnet)
2、SWT,包括的瀏覽器控制項和窗口等.
3、使用installanywhere來打包程序,方便發布
4、前台展現數據使用了ext2.2
5、擴展自己開發的伺服器jnet,開發出自己的「action」,應該來說還是符合MVC的
資料庫使用的是access,採用jdbc的方式訪問,你知道,如果在桌面軟體上使用hibernate……
成品的效果圖
1、桌面圖標
2、登錄界面
3、登錄效果圖
4、主界面
是不是覺得還不錯呢?JAVA也可以揚眉吐氣開發出這樣的桌面系統,可惜的是使用到了SWT,所以整個項目並不能跨平台,放到linux系統下去運行.
好了先理一理,發一張項目的原理圖
看圖說話,我們整個項目的構架,就是這個樣子的,採用SWT封裝了IE作為前台展現,後台使用自己開發的伺服器作為後台來處理數據,中間數據通信方式當然就只能是http了
所以中心思想就是,我開發了個伺服器,這個伺服器能夠讓用戶擴展自己的類,自己的方法,然後用戶就可以根據自己的需要來書寫自己的系統,最最最重要的就是,讓我們這些寫慣了J2EE的人能夠使用已經形成的思維來編寫桌面系統,我們可以不需要再去學swing和swt,可以使用html的方式來做前台的布局,老實說我每次寫桌面程序的時候,總會把代碼弄得一團糟,在web系統上容易規規矩矩的寫出分層的代碼,桌面系統……布局就讓我頭大(我的意思是當你跑出去接私活乾的時候,不用再學一套東西,呵呵).
[火星人 ] 顛覆JAVA,用WEB的方式開發桌面程序(一)已經有1361次圍觀