免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
JavaEE 快速開(kāi)發(fā)框架 Wabacus 作者訪談
Wabacus是一個(gè)JavaEE快速開(kāi)發(fā)框架,采用面向聲明的開(kāi)發(fā)模式,可以不用編程或極少編程即可實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)展示、數(shù)據(jù)編輯、表單處理等功能,將JavaEE的開(kāi)發(fā)效率提高5倍以上,代碼減少60%以上。 

為了使大家對(duì)Wabacus框架有一個(gè)全面的了解,我們采訪了該框架的作者。 

項(xiàng)目地址:http://code.google.com/p/wabacus 
論壇地址:http://wabacus.btedu.gov.cn/ 

目前該框架最新穩(wěn)定版本為3.4,你可以通過(guò)以下演示地址來(lái)了解: 

演示地址1
演示地址2
演示地址3

如果你在部署和使用Wabacus上有任何問(wèn)題,可以與作者聯(lián)系(QQ:349446658),或進(jìn)入QQ 群:203873792、94291972、35530847進(jìn)行討論,還可以進(jìn)入Wabacus論壇進(jìn)行提問(wèn)。


歡迎大家推薦更多開(kāi)源項(xiàng)目給我們,支持中國(guó)的開(kāi)源項(xiàng)目發(fā)展,如果您和您的團(tuán)隊(duì)希望展示你的創(chuàng)業(yè)理念和有趣之處,或者有朋友在創(chuàng)造這樣的價(jià)值,請(qǐng)聯(lián)系我們,發(fā)信到blog@csdn.net即可。


1、Wabacus是什么? 

Wabacus是一個(gè)JavaEE快速開(kāi)發(fā)框架,能快速實(shí)現(xiàn)完整的JavaEE功能,包括前臺(tái)后臺(tái),因此與常見(jiàn)的框架jQuery、Extjs、Struts、Spring、Hibernate等不同,它們均只提供某一個(gè)方面的解決方案,開(kāi)發(fā)人員必須組合使用它們才能完成JavaEE功能的開(kāi)發(fā)。 

另外,Wabacus與國(guó)內(nèi)的很多快速開(kāi)發(fā)平臺(tái)也不同,國(guó)內(nèi)很多快速開(kāi)發(fā)平臺(tái)只是對(duì)常用功能進(jìn)行了一下封裝,或者對(duì)簡(jiǎn)單基礎(chǔ)代碼進(jìn)行了一下自動(dòng)生成,并沒(méi)有在開(kāi)發(fā)思想這個(gè)層次上有什么改進(jìn),這種改變只能說(shuō)是“物理變化”,而不是“化學(xué)變化”。 

Wabacus則是在開(kāi)發(fā)思想這個(gè)層次上進(jìn)行改進(jìn),最大限度將開(kāi)發(fā)人員從考慮“如何做”中解放出來(lái),只需考慮做什么即可。因此與傳統(tǒng)開(kāi)發(fā)思想相比,相當(dāng)于發(fā)生了“化學(xué)變化”,能成倍地提高JavaEE開(kāi)發(fā)效率。

2、Wabacus所適用的領(lǐng)域,提供了哪些功能? 

Wabacus是一個(gè)JavaEE快速開(kāi)發(fā)框架,能適用于任意類(lèi)型的JavaEE項(xiàng)目、產(chǎn)品及應(yīng)用。不過(guò)由于前臺(tái)展示采用的是JS/CSS/HTML等,因此也只適用于B/S結(jié)構(gòu)的JavaEE項(xiàng)目,對(duì)于采用AWT/SWT等進(jìn)行前臺(tái)展示的C/S結(jié)構(gòu)的項(xiàng)目則不適用。 

Wabacus框架不僅從開(kāi)發(fā)思想層面給開(kāi)發(fā)人員帶來(lái)了很大的好處,讓他們盡量從“如何做”中解放出來(lái),而且對(duì)常用且很多是很復(fù)雜的功能提供了良好的支持,讓開(kāi)發(fā)人員要開(kāi)發(fā)這些功能時(shí)變得非常容易,只需簡(jiǎn)單聲明即可,例如: 

列過(guò)濾、列選擇、凍結(jié)行列標(biāo)題的報(bào)表、輸入聯(lián)想、文件上傳/下載、行/列分組報(bào)表、樹(shù)形表格、數(shù)據(jù)導(dǎo)入/導(dǎo)出、數(shù)據(jù)打印、交叉統(tǒng)計(jì)報(bào)表、主從報(bào)表、行排序等。 

當(dāng)然,Wabacus框架給開(kāi)發(fā)人員帶來(lái)的好處主要還是開(kāi)發(fā)思想方面的根本改進(jìn),這個(gè)才是主要的,帶來(lái)的好處也是巨大的。

3、開(kāi)發(fā)這個(gè)框架的初衷,它與其它框架相比有什么優(yōu)勢(shì)? 

本人從事JavaEE開(kāi)發(fā)與架構(gòu)將近9年的時(shí)間,后面大部分時(shí)間是負(fù)責(zé)公司各類(lèi)項(xiàng)目、產(chǎn)品方面的架構(gòu)設(shè)計(jì),在這方面積累了較為豐富的經(jīng)驗(yàn),這個(gè)框架的思想也是多年架構(gòu)經(jīng)驗(yàn)的積累,用過(guò)在很多項(xiàng)目和產(chǎn)品中,取得了非常好的效果,凡是本人用這個(gè)思想設(shè)計(jì)的架構(gòu),在前期開(kāi)發(fā)和后期維護(hù)方面都非常方便,新進(jìn)來(lái)的開(kāi)發(fā)人員能快速上手,后期的各種維護(hù)改造工作也很容易。 

印象比較深的就是用這個(gè)思想開(kāi)發(fā)的一個(gè)大型網(wǎng)站項(xiàng)目,在開(kāi)發(fā)時(shí),幾個(gè)開(kāi)發(fā)人員快速地配置了幾百個(gè)數(shù)據(jù)展示功能,在后期維護(hù)差不多每年一次的改版中,這幾百個(gè)數(shù)據(jù)展示功能也是最容易和方便改的,只要改幾個(gè)JS/CSS文件以及少數(shù)的幾個(gè)系統(tǒng)級(jí)配置文件就可以對(duì)它們的顯示效果、顯示結(jié)構(gòu)進(jìn)行整體調(diào)整。因此在項(xiàng)目組和客戶(hù)方面都反映非常好。 

正是基于這些項(xiàng)目、產(chǎn)品的成功實(shí)施經(jīng)驗(yàn),本人決定將這個(gè)思想轉(zhuǎn)化為一個(gè)成熟的框架,讓更多朋友受益,也改變一下國(guó)內(nèi)開(kāi)源框架原創(chuàng)性比較少的局面(比如國(guó)外搞IOC、AOP、O/R Mapping等方面的框架,國(guó)內(nèi)很多朋友也是照著這些思想搞這些方面的框架,只是實(shí)現(xiàn)方式上進(jìn)行一些改變,沒(méi)有提出原創(chuàng)性的思想)。 


關(guān)于和其它框架的比較,我認(rèn)為Wabacus最大的優(yōu)勢(shì)就是開(kāi)發(fā)思想的改進(jìn),將開(kāi)發(fā)人員由傳統(tǒng)的“面向過(guò)程”、“面向?qū)ο蟆彼枷胫修D(zhuǎn)入更容易、更高效的“面向聲明”的思想中,大幅提高開(kāi)發(fā)效率和降低開(kāi)發(fā)復(fù)雜度。

4、代碼減少60%,開(kāi)發(fā)效率提升5倍以上,是如何實(shí)現(xiàn)的? 

首先說(shuō)明一下,這里說(shuō)的“60%”、“5倍”都是一個(gè)概數(shù),不是一個(gè)精確值,因?yàn)殚_(kāi)發(fā)效率不能像性能一樣,能通過(guò)工具準(zhǔn)確定量測(cè)試,就好比問(wèn)“交流時(shí)說(shuō)話比打字快多少倍?”一樣,我們也不能給出一個(gè)精確數(shù),因?yàn)榇蜃钟锌煊新?,說(shuō)話的語(yǔ)速也有快有慢,沒(méi)辦法精確說(shuō)一定快多少倍,但我們知道整體上要快好幾倍。 

wabacus為什么能大幅減少代碼量,成倍提高開(kāi)發(fā)效率呢?原因就是它采用“面向聲明”的開(kāi)發(fā)思想,我們來(lái)介紹一下什么是“面向聲明”的開(kāi)發(fā)思想: 

所謂“聲明”,就是只要把要做的功能說(shuō)出來(lái),而不需開(kāi)發(fā)人員考慮如何實(shí)現(xiàn),具體如何實(shí)現(xiàn)交給Wabacus來(lái)完成,就好比“視頻聊天”,只要把字說(shuō)出來(lái),而不需考慮如何寫(xiě)出這些字,就能表達(dá)自己的意思,因此比“寫(xiě)字聊天”、“打字聊天”的方式都要快很多倍,因?yàn)楹髢煞N方式都要考慮將字實(shí)現(xiàn)出來(lái)才能表達(dá)自己的意思,而傳統(tǒng)的開(kāi)發(fā)思想就好比“寫(xiě)字聊天”或“打字聊天”,要開(kāi)發(fā)人員編寫(xiě)大量的代碼將“字”實(shí)現(xiàn)出來(lái)。 

使用wabacus開(kāi)發(fā),不僅大幅提高了開(kāi)發(fā)效率,而且對(duì)開(kāi)發(fā)人員的要求也比較低,因?yàn)椴惶枰P(guān)注實(shí)現(xiàn),只需聲明,就好比“視頻聊天”一樣,不需考慮將字寫(xiě)出來(lái),因此文盲都能順利地交流。 

其實(shí)面向聲明的開(kāi)發(fā)思想也不是Wabacus獨(dú)創(chuàng),在很多框架中都有使用,而且都取得非常不錯(cuò)的效果。比如Spring,就是將對(duì)象的依賴(lài)關(guān)系做成可聲明,提高對(duì)象依賴(lài)的靈活性和可維護(hù)性;再比如EJB或Spring,提供聲明性事務(wù),提高了事務(wù)控制的靈活性,減低了開(kāi)發(fā)難度等等。但是它們只是著眼某一個(gè)方面,做的不夠徹底,帶來(lái)的改善是局部的。而Wabacus框架在更大的范圍提供了聲明性編程,盡量將用戶(hù)的整體開(kāi)發(fā)效率提到最高,所以它對(duì)JavaEE開(kāi)發(fā)帶來(lái)的好處是立體的,全方位的。

5、Wabacus擴(kuò)展性如何? 

Wabacus做為一個(gè)框架,需要滿(mǎn)足各種復(fù)雜的場(chǎng)合,因此非常注重可擴(kuò)展性,也提供了非常靈活的擴(kuò)展接口,大體體現(xiàn)在如下方面: 

  • 允許開(kāi)發(fā)人員新增容器類(lèi)型、報(bào)表/表單類(lèi)型、數(shù)據(jù)類(lèi)型、輸入框類(lèi)型,數(shù)據(jù)源類(lèi)型等等,并允許用戶(hù)在新增這些類(lèi)型時(shí),在配置文件中為這些類(lèi)型新增自己的配置屬性和配置標(biāo)簽。
  • 允許開(kāi)發(fā)人員在攔截器的各攔截方法中控制報(bào)表/表單各個(gè)生命周期的行為,比如控制加載、保存的數(shù)據(jù),阻止保存操作或者自己完成保存操作等等。
  • 允許開(kāi)發(fā)人員在靜態(tài)模板、動(dòng)態(tài)模板中控制報(bào)表/表單的顯示,并且可以在其中自己定制輸入框。
Wabacus靈活的可擴(kuò)展性源于它優(yōu)雅的面向?qū)ο笤O(shè)計(jì),看過(guò)Wabacus源碼的,即使只看懂了一部分的朋友,都會(huì)對(duì)Wabacus的巧妙設(shè)計(jì)有著很深的印象。曾經(jīng)有一個(gè)8年JavaEE開(kāi)發(fā)經(jīng)驗(yàn)的架構(gòu)師,在研究Wabacus源碼超過(guò)2個(gè)多月后對(duì)此有過(guò)高度評(píng)價(jià)。

6、Wabacus能否與其它框架共存在同一個(gè)項(xiàng)目中,比如在已有項(xiàng)目中加入Wabacus框架快速開(kāi)發(fā)新功能? 

Wabacus前臺(tái)采用的是標(biāo)準(zhǔn)JS/CSS/HTML,后臺(tái)采用的是標(biāo)準(zhǔn)Java實(shí)現(xiàn),都沒(méi)有用到其它框架,從它依賴(lài)的第三方j(luò)ar包中可以看到,除了數(shù)據(jù)庫(kù)驅(qū)動(dòng)包,只有少數(shù)幾個(gè)第三方組件,因此不會(huì)與任何現(xiàn)有的框架有沖突,可以與它們(比如常用的SSH、SSI等)共存在一個(gè)項(xiàng)目中。 

現(xiàn)在使用框架的朋友中,有很大一部分都是在老項(xiàng)目中用Wabacus開(kāi)發(fā)新功能,而之前用其它框架開(kāi)發(fā)的功能要么保持不變,要么逐步遷移,運(yùn)行時(shí)互不影響。 

根據(jù)本人這么久的技術(shù)支持經(jīng)驗(yàn),很多朋友在用了Wabacus以后,雖然項(xiàng)目中可能還有其它框架,但有了新需求,第一時(shí)間想到的就是如何用Wabacus來(lái)實(shí)現(xiàn),盡量避開(kāi)其它框架,因?yàn)橄啾绕渌蚣埽琖abacus的開(kāi)發(fā)效率高太多,只有當(dāng)使用Wabacus不方便實(shí)現(xiàn)的時(shí)候,才會(huì)用其它框架開(kāi)發(fā)。

7、Wabacus支持哪些數(shù)據(jù)庫(kù)類(lèi)型? 

Wabacus內(nèi)置了對(duì)SQL Server、Oracle、MySQL、DB2四種常用數(shù)據(jù)庫(kù)的支持,每個(gè)數(shù)據(jù)庫(kù)類(lèi)型對(duì)應(yīng)一個(gè)Provider類(lèi),比如Oracle數(shù)據(jù)庫(kù)的Provider類(lèi)為:com.wabacus.config.database.type.Oracle,MySQL的Provider類(lèi)為:com.wabacus.config.database.type.MySql等等,如果要新增對(duì)其它數(shù)據(jù)庫(kù)的支持,只要參照內(nèi)置的數(shù)據(jù)庫(kù)類(lèi)型提供一個(gè)相應(yīng)的Provider類(lèi)即可。

8、早期沒(méi)有完全開(kāi)放源碼,是什么原因? 

Wabacus的源代碼開(kāi)放是逐步的,在早期,只公開(kāi)了80%左右的Java源碼,后面又開(kāi)放了99%的源碼,現(xiàn)在已經(jīng)將所有Java源代碼開(kāi)放了。 

早期沒(méi)有開(kāi)放所有源碼是沒(méi)有對(duì)所有朋友開(kāi)放源碼,但對(duì)正在使用框架的朋友還是開(kāi)放了他們想修改的任意源碼,也就是說(shuō)他們想修改的源碼如果沒(méi)有在公開(kāi)的80%或99%之中,他們是可以向我要的,我會(huì)發(fā)給他們,并教他們?nèi)绾胃?。這樣做的目的有兩個(gè):第一、鼓勵(lì)大家使用框架;第二:早期版本不夠穩(wěn)定,我有可能會(huì)進(jìn)行比較大的重構(gòu),因此如果讓他們修改了太多源碼的話,以后升級(jí)會(huì)非常困難。 

不過(guò)現(xiàn)在Wabacus架構(gòu)已經(jīng)非常成熟,所有Java源代碼都已經(jīng)公開(kāi)了。

9、你所知道的有哪些項(xiàng)目使用了該框架? 

因?yàn)橐话沩?xiàng)目用了什么框架都是一個(gè)保密的內(nèi)容,很多朋友不愿公開(kāi),尤其是外網(wǎng)能訪問(wèn)到的網(wǎng)站之類(lèi)的項(xiàng)目更是這樣,包括我自己用Wabacus的思想開(kāi)發(fā)的大型門(mén)戶(hù)網(wǎng)站,也不愿意公開(kāi)說(shuō)出是哪一家,所以很多使用Wabacus的用戶(hù)我也不知道他們的項(xiàng)目名字,這里我列出一些愿意公開(kāi)的項(xiàng)目: 

  • 金昶網(wǎng)絡(luò)科技電信增值業(yè)務(wù)平臺(tái)
  • 哈爾濱市文化和新聞出版局辦公系統(tǒng)
  • 實(shí)聯(lián)化工業(yè)務(wù)支撐系統(tǒng)
  • 愛(ài)爾英語(yǔ)辦公系統(tǒng)
  • 威海市公安信通部門(mén)辦公系統(tǒng)
  • 江蘇無(wú)錫某銀行營(yíng)業(yè)網(wǎng)點(diǎn)業(yè)務(wù)支持系統(tǒng)、資金流監(jiān)控系統(tǒng)
  • 哈爾濱工程大學(xué)綜合評(píng)教系統(tǒng)
其他更多的項(xiàng)目可以從Wabacus的論壇上通過(guò)別人的提問(wèn)看得到,不過(guò)那里只是一部分用戶(hù)的發(fā)貼,還有很多是私下找我咨詢(xún),沒(méi)有在論壇上發(fā)貼。

10、用戶(hù)如何提交bug、參與貢獻(xiàn)? 

目前用戶(hù)如果在使用過(guò)程中發(fā)現(xiàn)BUG,或者有需要改進(jìn)的地方,都是通過(guò)在QQ或QQ群中聯(lián)系我,然后我登記下來(lái),盡早解決。此外,還可以通過(guò)在Wabacus論壇中登記BUG。 

目前用戶(hù)參與貢獻(xiàn)都是進(jìn)行比較外圍的工作,比如錄制視頻、對(duì)新手進(jìn)行技術(shù)支持、制作新的主題風(fēng)格、提供DEMO演示服務(wù)器和論壇服務(wù)器、進(jìn)行捐助等等,在框架開(kāi)發(fā)上的貢獻(xiàn)較少。 

如果有朋友希望參與Wabacus框架的開(kāi)發(fā),可以開(kāi)發(fā)IDE工具之類(lèi)的,Wabacus的核心還是不希望太多人經(jīng)手,擔(dān)心搞亂,畢竟框架代碼比較復(fù)雜。

11、作者簡(jiǎn)介 

本人2003年畢業(yè),一直從事JavaEE方面的開(kāi)發(fā)與架構(gòu),開(kāi)發(fā)的項(xiàng)目涉及銀行、政府、企業(yè)、證券等行業(yè)。對(duì)Java底層知識(shí)、面向?qū)ο蟮脑O(shè)計(jì)、可復(fù)用軟件的設(shè)計(jì)非常感興趣。 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JavaEE平臺(tái)的學(xué)習(xí) - 筆記 - 王維樹(shù) - CSDN學(xué)生大本營(yíng) - Powered ...
2017最新版JavaEE學(xué)習(xí)路線圖
Eclipse 直接生成 SSH 項(xiàng)目集成開(kāi)發(fā)環(huán)境的工具
從職位中預(yù)測(cè)2008年Java框架之爭(zhēng)
java開(kāi)發(fā)出現(xiàn)bug怎么辦丨蘇州哪里可以學(xué)java
程序員最受用的前端框架QUICK UI 4.0正式發(fā)布
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服