原創(chuàng)|行業(yè)資訊|編輯:楊鵬連|2021-02-03 09:43:41.790|閱讀 216 次
概述:今天在DHTMLX客戶焦點(diǎn)訪談中的嘉賓是德國軟件服務(wù)提供商scholz.msconsulting – ChristophHüsson的一名高級開發(fā)人員。Christoph與我們分享了他與DHTMLX Gantt合作并將其集成到基于Angular和ASP.Net的公司產(chǎn)品中的經(jīng)驗(yàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
dhtmlxGantt是用于跨瀏覽器和跨平臺應(yīng)用程序的功能齊全的Gantt圖表。可滿足項(xiàng)目管理應(yīng)用程序的所有需求,是最完善的甘特圖圖表庫。它允許你創(chuàng)建動態(tài)甘特圖,并以一個(gè)方便的圖形化方式可視化項(xiàng)目進(jìn)度。有了dhtmlxGantt,你可以顯示活動之間的依賴關(guān)系,顯示具有完成百分比陰影的當(dāng)前任務(wù)狀態(tài)以及組織活動到樹結(jié)構(gòu)。
今天在DHTMLX客戶焦點(diǎn)訪談中的嘉賓是德國軟件服務(wù)提供商scholz.msconsulting – ChristophHüsson的一名高級開發(fā)人員。Christoph與我們分享了他與DHTMLX Gantt合作并將其集成到基于Angular和ASP.Net的公司產(chǎn)品中的經(jīng)驗(yàn)。
你好克里斯托夫!很高興今天有您成為我們的客人。對于我們來說,這是獲得反饋并了解有關(guān)使用DHTMLX Gantt背后故事的更多機(jī)會。
我們也很高興接受這次采訪,因?yàn)槲覀優(yōu)榭蛻籼峁┝讼嗤牧鞒蹋⒏兄x他們的反饋。交流知識和觀點(diǎn)很高興,并且這樣做是個(gè)好主意。謝謝你的邀請。
隨時(shí)歡迎你!Christoph,您能談?wù)勀约海诠局械慕巧约澳捻?xiàng)目嗎?
我已經(jīng)在公司工作了將近15年。我的兄弟邀請我,因?yàn)樗苍诠竟ぷ鳌N矣?006年開始實(shí)習(xí),并迅速成為學(xué)徒兩年。我擔(dān)任兼職高級開發(fā)人員已有一段時(shí)間了。我從為集成甘特圖而構(gòu)建的Angular項(xiàng)目開始。Gantt是我在該項(xiàng)目中的第一步,我主要負(fù)責(zé)實(shí)施本身。
該scholz.msconsulting有限公司是一家consulting-和軟件公司由家族肖爾茨擁有和經(jīng)營。該公司已經(jīng)進(jìn)入市場約30年,提供了稱為Vemas.NET的ERP解決方案。該產(chǎn)品是為面向服務(wù)的公司開發(fā)的,并與之相關(guān),這些公司旨在將CRM,項(xiàng)目管理,時(shí)間記錄和發(fā)票的所有流程集成到一個(gè)解決方案中。我們的甘特圖反映了整個(gè)項(xiàng)目和資源管理,并包含了約會和缺席情況。Vemas.NET是作為標(biāo)準(zhǔn)解決方案提供的,但幾乎在每個(gè)單獨(dú)的項(xiàng)目中都是自定義的。
您最近開始使用DHTMLX Gantt,不是嗎?
是的,我們前一段時(shí)間開始實(shí)施。基本上,我們從評估開始,在該評估中,我們試圖獲得快速原型,以查看該產(chǎn)品如何滿足我們的需求。實(shí)際上,我們尚未發(fā)布Gantt。只有兩三個(gè)客戶將其用作測試設(shè)置。我們非常希望在未來幾周內(nèi)推出該產(chǎn)品,并獲得眾多客戶的反饋。但是有許多客戶已經(jīng)在演示中看到了甘特,并且我們也就如何與一些客戶進(jìn)行計(jì)劃進(jìn)行了非常深入的討論。我們已經(jīng)建立了一些反饋,但是真正的壓力測試將在接下來的幾周內(nèi)進(jìn)行。
是否涉及DHTMLX Gantt的本地解決方案?
Vemas.NET作為內(nèi)部解決方案和稱為Vemas.Cloud的云服務(wù)提供。我們的合作伙伴“柏林互聯(lián)網(wǎng)提供商”(IPB)為我們的客戶提供了在兩個(gè)冗余數(shù)據(jù)中心上運(yùn)行的云解決方案。
您如何在市場上其他類似的解決方案中選擇DHTMLX Gantt?
這不是我們的第一個(gè)甘特圖實(shí)現(xiàn)。我們很久以前就開始了Gantt。我們從Microsoft Access版本開始,然后是Silverlight控件–但是不再支持該技術(shù),因此我們不得不尋找一種新方法。我們在甘特(Gantt)產(chǎn)品方面擁有一些經(jīng)驗(yàn),并建立了有關(guān)市場上的產(chǎn)品及其陷阱的知識庫。我們進(jìn)行了長時(shí)間的調(diào)查,進(jìn)行了激烈的討論。但是,在可定制性,性能,用戶舒適度和文檔方面,這是一個(gè)非常容易的決定。
我們也曾考慮過Syncfusion Gantt,但是它太昂貴了,并且沒有任何好處可以證明這一點(diǎn)。我們看到DHTMLX的許多示例已經(jīng)提供了對我們很重要的用例。因此,我們非常確定我們可以實(shí)現(xiàn)我們想要實(shí)現(xiàn)的事情,因?yàn)榭梢蕴幚硪恍┦纠N覀儷@得了一些關(guān)鍵功能,例如按資源分組,自動調(diào)度,撤消,但是總的來說,這是高性能和易于使用的。另一個(gè)非常重要的事情是資源拆分視圖,其中我們的項(xiàng)目在頂部,資源在底部。這基本上是我們目前提供的唯一視圖,因?yàn)閷τ诳蛻舳裕谟?jì)劃項(xiàng)目時(shí)查看員工的工作量非常重要。但可以肯定的是,不久將有更多的觀點(diǎn)。
使用DHTMLX Gantt是否遇到任何困難?學(xué)習(xí)API很難嗎?
該API并不難學(xué)習(xí)。我對普通的JavaScript編程并不熟悉。在進(jìn)入該項(xiàng)目之前,我們一直基于ASP.NET架構(gòu),因此我們重新研究了技術(shù)堆棧,并切換到JavaScript和Angular。我們試圖在太慢的Angular環(huán)境中實(shí)現(xiàn)它。這可能是由于我們當(dāng)時(shí)的體系結(jié)構(gòu)或我們在Angular中的實(shí)現(xiàn)而引起的,但是每當(dāng)我們將Gantt放入Angular應(yīng)用程序中時(shí),使用它的速度就太慢了。因此,我們決定將其發(fā)布并使用隔離的HTML。我們努力將其引入到我們的應(yīng)用程序中,在這種情況下,我們有點(diǎn)犧牲了對應(yīng)用程序技術(shù)框架的集成。很遺憾,但是我們將在中期更改此設(shè)置,并且已經(jīng)看到您現(xiàn)在具有本機(jī)Angular組件。另一個(gè)問題是使用工作日歷時(shí)的性能本身。由于我們每天都會為每位員工存儲有關(guān)工作時(shí)間的信息,因此它們對于我們的擔(dān)憂非常緩慢。此外,我們存儲手動分配給每個(gè)員工和任務(wù)的每個(gè)工作負(fù)載,每個(gè)用戶每天可以分配十或二十個(gè)任務(wù)。例如,我想查看特定員工本周的工作時(shí)間-因此我們必須進(jìn)行日期范圍的查找,使用Gantt API時(shí),這太慢了。這就是為什么我們除了DHTMLX的數(shù)據(jù)結(jié)構(gòu)之外,還實(shí)現(xiàn)了用于存儲此數(shù)據(jù)的分段樹數(shù)據(jù)結(jié)構(gòu)的原因。這個(gè)問題花了很多時(shí)間。然后,您想到了虛擬渲染,在這里您僅渲染用戶范圍或視口內(nèi)的內(nèi)容。
服務(wù)器端的錯(cuò)誤處理對我們來說有點(diǎn)奇怪,因?yàn)槲覀兺ǔ却?wù)器響應(yīng)您所做的更改,然后再將其最終應(yīng)用到客戶端。就像DHTMLX Gantt中的概念分裂一樣。也許這已經(jīng)改變了。但是,當(dāng)我們在客戶端上更改某些內(nèi)容并向服務(wù)器發(fā)送請求以存儲此更改時(shí),客戶端當(dāng)前對服務(wù)器上的內(nèi)容不再感興趣。如果服務(wù)器說“不,這是不可能的”,我們必須手動對撤消進(jìn)行編程。我認(rèn)為這不是最佳方法,因?yàn)槟仨氼A(yù)期發(fā)送數(shù)據(jù)時(shí)可能會發(fā)生服務(wù)器錯(cuò)誤。
這些就是我們發(fā)現(xiàn)的陷阱。其他事情運(yùn)行得很好。該API是高度可定制的。這對我們而言非常重要,因?yàn)槲覀儗W⒂谧稍兒透能浖蚴蛊溥m應(yīng)客戶的需求,并且他們對如何工作有非常具體的想法。我們的大多數(shù)客戶本身就是軟件公司,因此有時(shí)我們會進(jìn)行非常技術(shù)性的討論。我們不能只說不可能實(shí)現(xiàn)某件事,因?yàn)樗麄儠c我們爭論為什么這是不可能的。因此,可定制性對我們非常重要。良好的用例說明了如何定制和非常容易地實(shí)現(xiàn)事物。我們可以使用許多掛鉤來更改Gantt的行為,這使我們能夠獲得所需的解決方案。上周,我們?yōu)槭紫瘓?zhí)行官和我們的銷售管理人員進(jìn)行了演示,他們對結(jié)果感到非常滿意。我們得到了產(chǎn)品良好,實(shí)施良好的確認(rèn),因此目前我們都很高興。
您與DHTMLX Gantt一起在后端使用什么技術(shù)?
在后端,我們使用ASP.NET Core。它只是向我們的API發(fā)送一些請求。這是一個(gè)共享的組件。我們的Angular-project和Gantt使用相同的API來處理數(shù)據(jù)。
您會建議我們在DHTMLX Gantt中進(jìn)行哪些改進(jìn)?
如果尚未解決服務(wù)器端錯(cuò)誤處理的此問題,則應(yīng)解決該問題。另一重要的事情是能夠一次發(fā)送所有數(shù)據(jù)的能力。我認(rèn)為這是有一個(gè)概念的,但是不久前我從您的支持中得到了一個(gè)響應(yīng),即使用REST模式時(shí)該響應(yīng)不可用。但是對我們而言,一次發(fā)送所有數(shù)據(jù)非常重要,因?yàn)楦捻?xiàng)目的各個(gè)部分絕不僅是一項(xiàng)任務(wù)的孤立更改。依賴關(guān)系及其約束也必須得到滿足。一次更改三個(gè)任務(wù)需要在數(shù)據(jù)庫上進(jìn)行事務(wù)。發(fā)送所有數(shù)據(jù)將允許一個(gè)事務(wù),而單獨(dú)發(fā)送它將不允許在不違反REST的概念(如無狀態(tài)性)的情況下進(jìn)行事務(wù)。您不允許在這些任務(wù)的三個(gè)更改之間維持狀態(tài),因此您必須立即執(zhí)行此操作。除此以外,您必須維護(hù)會話或要知道此更改與其他兩個(gè)更改一起存在的信息。目前,我們已將其推遲了,因?yàn)镚antt API沒有提供任何概念,因此我們將在第2階段中進(jìn)行處理。順便說一下,實(shí)際上您很快就可以使用新版本和較小修訂,所以這是一件好事。但是,可能很難跟上它的進(jìn)度,但這是我們的問題。
Christoph,非常感謝您的真誠反饋!我們會將您的意見轉(zhuǎn)告我們的開發(fā)團(tuán)隊(duì)。我們很高興得知DHTMLX Gantt能夠滿足您的需求,并希望將來能有富有成果的合作。
關(guān)產(chǎn)品推薦:
VARCHART XGantt:支持ActiveX、.Net等平臺的C#甘特圖控件
AnyGantt:構(gòu)建復(fù)雜且內(nèi)容豐富的甘特圖的理想工具
jQuery Gantt Package:基于HTML5 / jQuery的跨平臺jQuery Gantt包
phGantt Time Package:對任務(wù)和時(shí)間的分配管理的甘特圖
APS幫助提升企業(yè)生產(chǎn)效率,真正實(shí)現(xiàn)生產(chǎn)計(jì)劃可視化呈現(xiàn)與控制,快速有效響應(yīng)不同場景的生產(chǎn)計(jì)劃,提高準(zhǔn)時(shí)交貨能力,提高產(chǎn)能和資源利用率
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: