銀彈,是針對(duì)狼人等超自然怪物的特效武器。后來(lái)也被比喻為具有極端有效性的解決方法,作為殺手锏、最強(qiáng)殺招、王牌等的代稱(chēng)。
作為一個(gè)在php開(kāi)發(fā)崗位上小有幾年經(jīng)驗(yàn)的開(kāi)發(fā)者,我的日常工作是從事基于TP框架的php項(xiàng)目開(kāi)發(fā)。一直以來(lái),我都執(zhí)著于獨(dú)立自主開(kāi)發(fā),包括最基本的用戶(hù)管理和后臺(tái)管理系統(tǒng)。最困擾我的東西就是權(quán)限管理、用戶(hù)的登陸注冊(cè)等等。每個(gè)項(xiàng)目的需求不一樣,所以我采用的方式就是修修改改,維護(hù)自己的用戶(hù)管理系統(tǒng)。然后應(yīng)用到各種項(xiàng)目中。
直到有一天,我在OSC上看到一個(gè)新的開(kāi)源項(xiàng)目——OpenCenterphp用戶(hù)管理系統(tǒng)。讓我突然產(chǎn)生一種相見(jiàn)恨晚的感覺(jué)。
我為什么會(huì)有這種感覺(jué)呢?
首先,OC是遵循Apache2.0開(kāi)源協(xié)議的,也就是和TP一樣的協(xié)議。打消了我在版權(quán)方面的疑慮。
再者,它作為一款用戶(hù)管理系統(tǒng),提供了較為完善的用戶(hù)注冊(cè)流程,包括多種注冊(cè)方式,如手機(jī)號(hào)注冊(cè)、郵箱注冊(cè)、用戶(hù)名注冊(cè),同時(shí)還支持真實(shí)性驗(yàn)證,可見(jiàn)開(kāi)發(fā)團(tuán)隊(duì)的誠(chéng)意。
另外,它對(duì)用戶(hù)權(quán)限管理方面所做的努力,也可見(jiàn)一斑,開(kāi)發(fā)團(tuán)隊(duì)稱(chēng)繼承自O(shè)neThink,我也曾經(jīng)在項(xiàng)目中使用OneThink,發(fā)現(xiàn)OC還是有很大不同之處的,它還加入了前臺(tái)權(quán)限的管理。
為了給廣大tper一個(gè)參考,我特別拿OneThink和OC進(jìn)行了一個(gè)比較。
1.開(kāi)源協(xié)議
兩者都是基于Apache2.0的,沒(méi)什么好比較的。
2.系統(tǒng)框架
兩者都是基于ThinkPHP的。不過(guò)OC基于OneThink,這一點(diǎn)讓我很疑惑。因?yàn)閺谋砻嫔?,很難看出來(lái)兩個(gè)系統(tǒng)的是同一個(gè)內(nèi)核。不過(guò)研究之后,還是發(fā)現(xiàn)一些共同之處。OC有很濃重的OneThink基因。
前端方面,OC采用zui,算是一個(gè)比較大膽的嘗試(據(jù)我所知,zui就是bootstrap的一個(gè)改進(jìn)版本,學(xué)習(xí)成本比較低),OneThink比較傳統(tǒng),采用了bootstrap。
3.系統(tǒng)重點(diǎn)
OneThink著重于內(nèi)容管理,從后臺(tái)的結(jié)構(gòu)也可以看出來(lái)。導(dǎo)航欄中可以很醒目地看到內(nèi)容管理的部分,內(nèi)容管理部分的功能也已經(jīng)初具雛形。
OC著重于用戶(hù)管理,所以后臺(tái)導(dǎo)航完全沒(méi)有內(nèi)容管理的部分,比較有特色的是,導(dǎo)航部分把“模塊”概念突出了,左側(cè)欄位專(zhuān)門(mén)放置模塊,同時(shí)也支持模塊的安裝卸載,這一點(diǎn)應(yīng)該說(shuō)是比較大的改進(jìn)吧。
&OC還有一個(gè)比較突出的特性,就是支持用Php構(gòu)建后臺(tái)管理頁(yè)面,這對(duì)像我這樣的,沒(méi)有太多前端經(jīng)驗(yàn)的后端開(kāi)發(fā)人員來(lái)說(shuō),是最大的吸引力。通過(guò)AdminBuilder類(lèi)庫(kù),可以純php來(lái)構(gòu)建管理頁(yè)面。還有更牛的開(kāi)發(fā)者自己改進(jìn)了一套用于前臺(tái)的AdminBuilder。
圖一、OC后臺(tái)局部截圖
4.前臺(tái)功能
這方面,兩者均只提供了一個(gè)基礎(chǔ)的demo,OneThink提供了一個(gè)博客形式的demo。而OC更加徹底,只提供了一個(gè)演示模塊和一個(gè)演示首頁(yè)。不過(guò)OC的默認(rèn)風(fēng)格更加小清新,可能和采用zui框架作為前端有一定關(guān)系吧。
OneThink注冊(cè)登錄方面,并沒(méi)有提供完整的流程。在這方面,OC做得可圈可點(diǎn)。多種形式的注冊(cè)登錄、第三方登陸、同時(shí)還支持頭像的裁剪、擴(kuò)展字段,密碼修改等功能。值得一提的是,OC還提供了一種消息機(jī)制,研究之后,發(fā)現(xiàn)是基于輪詢(xún)技術(shù)實(shí)現(xiàn)的,這里,我覺(jué)得還有可改進(jìn)的空間。不過(guò)基本都能滿足我的需求。
圖二、資料修改界面
圖三、消息提醒菜單
5.擴(kuò)展
說(shuō)到擴(kuò)展,我覺(jué)得OneThink還是做得比較贊的,OneThink有比較多的開(kāi)發(fā)者貢獻(xiàn)插件,算是一個(gè)比較大的競(jìng)爭(zhēng)優(yōu)勢(shì)。而OC,因?yàn)閯偝鰜?lái),沒(méi)有這方面的支持,不過(guò)我試著把OneThink的插件移植到OC上,發(fā)現(xiàn)還是比較好兼容的,畢竟父子關(guān)系擺在那里。
不過(guò)OC的官方也是比較努力的,提供了一些內(nèi)置插件,比如圖片水印,空間換膚等。值得一提的是,開(kāi)發(fā)團(tuán)隊(duì)改進(jìn)了一些OneThink的第三方插件之后仍然保留作者,比起某些所謂的“具有分享精神”的人高尚一點(diǎn)。
6.文檔
文檔這塊,我個(gè)人感覺(jué)OC還不具備和OneThink比較的能力。首先,OC的文檔不夠齊全,這一點(diǎn)也算是OC的痛處吧。雖然開(kāi)發(fā)團(tuán)隊(duì)提供了一個(gè)離線文檔,但還是很不詳細(xì)。比起OneThink還差很多。不過(guò)群里面每天都有更新進(jìn)度,也算是不錯(cuò)的了。
7.開(kāi)發(fā)者
其實(shí)這一項(xiàng)進(jìn)行比較,對(duì)OC挺不公平的,畢竟一個(gè)年前才推出第一個(gè)版本,而OneThink已經(jīng)發(fā)布有個(gè)把年頭了。不過(guò)個(gè)人覺(jué)得,OC作為一款用戶(hù)管理系統(tǒng),還是大有可為的,畢竟不是每個(gè)開(kāi)發(fā)人員都喜歡自己去開(kāi)發(fā)維護(hù)一套用戶(hù)管理系統(tǒng)的,有一個(gè)現(xiàn)成可以用的項(xiàng)目會(huì)方便很多。
8.總結(jié)
通過(guò)對(duì)兩個(gè)開(kāi)源項(xiàng)目的比較,不知道大家是不是了然了。從我個(gè)人的角度來(lái)說(shuō),不管黑貓白貓,能抓住老鼠就是好貓,看需求!
我個(gè)人的選擇建議:
1.如果你是做CMS類(lèi)的項(xiàng)目,那么首選OneThink,這個(gè)毫無(wú)疑問(wèn),畢竟OC,還沒(méi)有這方面的模塊擴(kuò)展,而從OneThink中再整合這個(gè)部分,可謂難度不小。
2.如果你是做一些需要用戶(hù)系統(tǒng),并且用戶(hù)交互比較多的新項(xiàng)目,那么選OC吧,OC的存在,無(wú)疑會(huì)讓你如虎添翼,節(jié)省下大量的開(kāi)發(fā)時(shí)間。
期待
通過(guò)兩個(gè)開(kāi)源項(xiàng)目的比較,很顯然,OC目前尚達(dá)不到銀彈的程度,但最近我發(fā)現(xiàn)OC在開(kāi)源中國(guó)OSC@GitPHP類(lèi)目排名是第一名,無(wú)疑也是給了開(kāi)發(fā)者一個(gè)不錯(cuò)的選擇。
留在本文最后,容我發(fā)表一下自己對(duì)OC未來(lái)發(fā)展的期望。模塊化的系統(tǒng)構(gòu)建理念不錯(cuò),如果OC的開(kāi)發(fā)團(tuán)隊(duì)能夠重視開(kāi)發(fā)者,給開(kāi)發(fā)者提供更多的支持,相信會(huì)有越來(lái)越多的php開(kāi)發(fā)者采用OC,同時(shí)也希望用過(guò)OC的開(kāi)發(fā)者能夠積極分享功能擴(kuò)展,這樣OC才能夠越走越遠(yuǎn)。
我們專(zhuān)注高端建站,小程序開(kāi)發(fā)、軟件系統(tǒng)定制開(kāi)發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開(kāi)發(fā)、各類(lèi)API接口對(duì)接開(kāi)發(fā)等。十余年開(kāi)發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿意為止,多一次對(duì)比,一定讓您多一份收獲!