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