設(shè)計(jì)網(wǎng)站怎樣做色卡百度快照排名
本人一直研究這個(gè)軟件,1.7.0版本最近剛剛發(fā)布,里面有個(gè)大變化,增加了消息流的功能,這個(gè)功能和IBM的Node-Red很相似。
Node-Red那個(gè)圖形化流程很多年前就給了我很深刻的印象,我個(gè)人理解是,通過(guò)這樣的圖形化編程機(jī)制把軟件開發(fā)直接分成了兩個(gè)層次。
1. 一個(gè)是應(yīng)用層面,給用戶、項(xiàng)目實(shí)施技術(shù)人員或維護(hù)人員能夠在不需要掌握深入技術(shù)的前提下,還可以快速實(shí)現(xiàn)業(yè)務(wù)需要,并且極大的降低后續(xù)業(yè)務(wù)微調(diào)成本。畢竟靈活的圖形化流程能夠在線修改和調(diào)整。
2. 二是在節(jié)點(diǎn)開發(fā)上,則需要一定技術(shù)能力的程序員來(lái)完成,但開發(fā)方式上就好比制造有一定技術(shù)規(guī)范的零件,零件功能通過(guò)流程節(jié)點(diǎn)的封裝,屏蔽了復(fù)雜的底層知識(shí)。
這兩個(gè)層次在軟件工程角度,面對(duì)各種紛繁復(fù)雜應(yīng)用的業(yè)務(wù)場(chǎng)合,基本上是個(gè)最優(yōu)解了。IOT-Tree中的文檔介紹里面說(shuō),節(jié)點(diǎn)應(yīng)該是偏向有一定封裝的中粒度功能,而不是使用細(xì)致到每個(gè)if else都用這樣的圖型流程實(shí)現(xiàn)——這樣的話估計(jì)流程會(huì)龐大到還不如若干行代碼了。
下面,我就簡(jiǎn)單介紹一下IOT-Tree的這個(gè)消息流了。先給一張里面的演示控制流程圖:
1 這是后端用Java實(shí)現(xiàn),前端js的消息流實(shí)現(xiàn)
Node-Red基于Node.js實(shí)現(xiàn),估計(jì)在國(guó)內(nèi)相關(guān)程序員比較低很多,搞Java可以研究看看了,畢竟這是一種比較新的系統(tǒng)實(shí)現(xiàn)模式。
本質(zhì)上,雖然IOT-Tree里面的消息流是系統(tǒng)的一部分,但我感覺(jué)這個(gè)可以完全獨(dú)立出來(lái)。當(dāng)然,這個(gè)軟件也是通過(guò)提供特定的一些節(jié)點(diǎn)來(lái)和底層設(shè)備、通信和監(jiān)控?cái)?shù)據(jù)進(jìn)行交互的。雖然可以通過(guò)這些節(jié)點(diǎn)反過(guò)來(lái)實(shí)現(xiàn)控制邏輯,但本質(zhì)上之前的這些功能也可以看成是這個(gè)消息流的節(jié)點(diǎn)插件。
2 這個(gè)消息流充分利用了java特點(diǎn)
這個(gè)消息流一些節(jié)點(diǎn)帶了旋轉(zhuǎn)標(biāo)識(shí),表面是個(gè)異步運(yùn)行節(jié)點(diǎn)——本質(zhì)就是有自己的內(nèi)部運(yùn)行線程,這樣你可以通過(guò)這樣的節(jié)點(diǎn)調(diào)整控制流程的時(shí)間效率,如果對(duì)線程運(yùn)行機(jī)制不了解那么這個(gè)理解起來(lái)會(huì)稍微難一些。不過(guò),這個(gè)對(duì)于Javaer來(lái)說(shuō),那就比較親切了,可以讓你設(shè)計(jì)流程的時(shí)候有更好的掌控能力。
3 在線調(diào)試功能比較強(qiáng)
IOT-Tree的消息流每個(gè)節(jié)點(diǎn)都可以打開彈出節(jié)點(diǎn)運(yùn)行狀態(tài)信息板,這個(gè)比Node-Red方便多了。并且Debug節(jié)點(diǎn)更強(qiáng)大,直接在自己的狀態(tài)信息板顯示接收到的信息列表。
直接看里面自帶的那個(gè)演示項(xiàng)目,就可以看出這個(gè)使用效果,可以說(shuō)是比較有創(chuàng)新的。
下面說(shuō)說(shuō)美中不足
1 目前文檔還缺一些,里面說(shuō)了可以使用標(biāo)準(zhǔn)java webapp開發(fā)提供節(jié)點(diǎn)插件,但雖有例子但還缺點(diǎn)文檔,估計(jì)是剛推出的緣故。
2 節(jié)點(diǎn)實(shí)現(xiàn)和Node-Red相比,需要實(shí)現(xiàn)Java類和對(duì)應(yīng)的參數(shù)配置界面,復(fù)雜不少。
不過(guò)這個(gè)我認(rèn)為其實(shí)問(wèn)題不大,事實(shí)上實(shí)現(xiàn)節(jié)點(diǎn)需要的接口再多也即是那些函數(shù),實(shí)現(xiàn)節(jié)點(diǎn)真正的復(fù)雜還是在節(jié)點(diǎn)自身功能上。
最后,如果感興趣給大家推薦一個(gè)鏈接
iot-tree/web/doc/cn/doc/msgnet/mf_for_ctrl.md at main · bambooww/iot-tree · GitHub
如果上面的鏈接圖片沒(méi)法看,看下面這個(gè)鏈接
web/doc/cn/doc/msgnet/mf_for_ctrl.md · Jason Zhu/iot-tree - Gitee.com