近日美國“開源軟件”項目Openbiz新發(fā)布了一款名為Openbiz Cubi Dev的PHP的應用開發(fā)利器,宣稱可以讓開發(fā)人員在3分鐘內(nèi)通過配置和向?qū)瓿蓜?chuàng)建一個功能完善的企業(yè)級應用程序。這是空穴來風 還是 鋒芒畢露,讓我們拭目以待。
上手體驗:與 Openbiz的第一次接觸
筆者下載了開發(fā)安裝包后,發(fā)現(xiàn)它提供了一個可以在Windows下運行的自動部署工具。跟著官方提供的安裝視頻教程,很方便就安裝在了本地。進入我本機的運行環(huán)境,是進一步的數(shù)據(jù)庫配置向?qū)Ш统跏蓟到y(tǒng)向?qū)А=o人的第一感覺就是界面風格很清新完全不象以往開源軟件“不堪入目”的樣子,倒是感覺更像一個成熟的商業(yè)軟件的風格。
登陸后根據(jù)提示看到了一個功能豐富的管理面板,包括用戶、角色、組這些基礎(chǔ)的系統(tǒng)元素,也就是說如果我基于Openbiz Cubi開發(fā)程序,那么如何進行用戶權(quán)限劃分和會話管理都完全不需要我在重新考慮,直接在已經(jīng)完善的系統(tǒng)架構(gòu)之上去開發(fā)我關(guān)系的應用程序就可以了,這個管理面板還提供了很多高級功能的設(shè)置,比如緩存、自動備份、安全防火墻、多語言翻譯、主題切換。還有最近比較熱門的社交登陸、支付集成、短信發(fā)送這些模塊。
這里值得一提的是正如Openbiz官方宣傳的那樣,這次主要是面對中國大陸用戶做了優(yōu)化,我們可以在所社交網(wǎng)絡列表中看到 新浪微博、騰訊、淘寶、支付寶的影子,還有支付寶的付款集成,以及多家國內(nèi)的短信網(wǎng)關(guān)服務商。
在進行進一步初始化設(shè)置的時候,我們還可以看到廠商精心設(shè)計的方便實用的這個“新手向?qū)?rdquo;,除了能很方便能讓我這樣的操作人員摸清楚門路,同時我自己開發(fā)的新的應用程序也可以重用這個功能來給用戶提供入門向?qū)В@樣將可以減輕很多售后的服務工作。
也許你覺得我什么還都沒做,但是是實際上我的開發(fā)工作已經(jīng)完成了30%, 對!因為用戶管理、角色管理這些功能都已經(jīng)有了。簡單設(shè)置一下默認的屬性,我們就已經(jīng)將這些可重用的功能設(shè)置為我需要的模式。
小試牛刀:用它做一個資料管理系統(tǒng)吧
現(xiàn)在讓我們來看一下這個開發(fā)環(huán)境真正的開發(fā)工具,傳說中的利器登場。
就是直到11月才發(fā)布出來的 Openbiz Appbuilder 2.0 。
看起來很酷吧!它主要包括了 新應用創(chuàng)建向?qū)А⒛K連接向?qū)?和 元數(shù)據(jù)可視化編輯器。讓我們跟著應用創(chuàng)建向?qū)г囀植僮髁艘幌拢紫瓤吹降氖瞧劣腥さ臍g迎界面如下圖所示。
點擊“下一步”,跟著向?qū)е鸩捷斎脒x擇要要使用的信息,包括使用哪個數(shù)據(jù)庫、哪個表、創(chuàng)建哪些字段,啟用哪些高級特性。這里我們選擇了一個我事先創(chuàng)建好的數(shù)據(jù)表,里面包括了我的資料系統(tǒng)所需要的所有字段,比如 性別、年齡、學籍等信息。在Appbuilder的新應用向?qū)Ю锩胬锓謩e為他們填寫的描述以及信息分組等。
然后設(shè)置是否為這些資料啟用一些高級特性。比如為每條資料添加附件、圖片等特性,并且為資料啟用了分類管理,允許為每一種分類設(shè)置設(shè)置不同的自定義擴展字段。如下圖所示。
然后繼續(xù)下一步,完成!
沒錯,我的要的程序開發(fā)完了,沒有敲一行代碼,難以置信的方式。似乎所有的開發(fā)工作都集中在思考這個數(shù)據(jù)表結(jié)構(gòu) 和 實現(xiàn)一些除了“增刪改查”以外的高級功能特性上,比如,當創(chuàng)建一條資料后 自動發(fā)送郵件或者短信通知,這時候才需要寫幾行代碼。
這些自動生成出來的代碼和我們預想的不同,生成出來并不是PHP的源代碼。而是90%以上的XML文件。這些XML文件僅描述了數(shù)據(jù)影射關(guān)系和業(yè)務邏輯關(guān)系,但完全不包含業(yè)務邏輯的實現(xiàn)代碼。這應該就是Openbiz所提出的元數(shù)據(jù)的編程思想。
這樣的好處是如果當我們?nèi)蘸笮枰獙Τ绦蜻M行維護或改動的時候,例如添加一些字段,我們并不需要去象以前那樣去修改大量的程序源代碼,而只需要更新一下這些簡單易懂的XML文件。
代碼范例如下圖所示
功能測試:這是一個見證奇跡的時刻
這個新生成出來的程序擁有一個默認的看起來也很清新的界面,整體操作界面可以說與Openbiz Cubi的主題風格容為一體,所有系統(tǒng)具備的高級特性 比如,列表頁的數(shù)據(jù)導航、搜索的自動建議、動態(tài)按列排序結(jié)果 這些特性我們的新程序全都支持。如果不是接觸過的Openbiz的人,一定會認為這是我花了幾周 時間完成的精致細節(jié)。
介紹了這么多,到底這個自動生成出來的程序使用起來感覺如何,我們分別做了如下測試并的得到滿意的結(jié)果:
l 創(chuàng)建一個資料條目
l 編輯一個資料條目,并為本次修改進行批注
l 刪除一個和多個資料條目
l 為某個資料條目添加多個相關(guān)的圖片
l 為某個資料條目添加多個相關(guān)的文件附件
l 將某個資料條目對某人隱藏不可見
l 將某個資料條目交由某人管理維護(只有他可以編輯,其他人只能看)
l 將某個資料條目交由某個部門管理維護(只有該部門的人可以編輯)
l 為某一條資料設(shè)置相關(guān)鏈的其它資料
哇,這就是我要做的資料管理軟件!難以置信這么多功能的是在幾下鼠標點擊中自動創(chuàng)建出來的。最后,把它修改為屬于“我的作品”,這也是我最喜歡的功能啦。 看下圖:
替換Logo,替換頁頭,讓他看起來就像是完全為這個應用程序制定的一樣。這個功能實在是太友好啦,都不需要去修改底層的源文件,廠商直接就做出UI來讓你修改。
剩下的事情,喝杯咖啡然后等著去和領(lǐng)導交差了。看看表,是不是真的不到3分鐘的時間。或者說寫完這個這個程序至少比寫完這篇文章輕松的多啦。
此物大有來頭
Openbiz 是一個發(fā)起于2003年的開源項目,這意味著如果你感覺哪里還不夠好,直接修改源代碼去完善,不用被底層的限制所拘束。這一點和使用其他商業(yè)框架比如 Java 和 .Net framework 的感覺完全不同。并且歷經(jīng)9年的不斷完善,相信它的內(nèi)涵遠不止我們所看到的這些表明皮毛。
由于篇幅有限不能將Openbiz Cubi Dev的所有特性向支持我們的讀者逐一介紹,還有更多的功能和技巧等著你的探索。
文:PHPchina