2018年7月20日 星期五

視訊訪談: 趙澤彬:多終端應用下的架構設計




文章摘要: 技術設計上面其實考慮了不同終端應用對目前要解決這個問題理解更深刻他來做可能更合適


趙澤彬: 就目前來說,在我們實際應用的場景中,多終端主要會在兩個方面遇到問題,第一個方面我們是通過視覺化的配置,應用到不同終端,第一個就是在構建的時候,用比較清晰,準確的和可擴充套件性的方式,描述出來構建的內容。第二就是在不同終端時候如何提升開發效率和協作的高效的程度,主要這兩方面的問題。




趙澤彬: 當我們在去面對業務的時候,然後是想要更快速,更高效的去交付出來,中間這個過程都需要有哪幾個關鍵點,在我看來主要是,第一就是基礎設施的完善程度,第二就是流程的完整程度,第三個就是在應用的時候這個架構設計是不是合理,是不是好用,有沒有帶來其他的額外的問題,主要這三個方面。


第一就是基礎設施。比如說我們從前端這個領域來說,我在去做的時候是不是可以把很多額外的工作都遮蔽掉,然後能夠自動化構建,自動化實現,工程化上面去解決這個問題。



第二就是需要更規範,在日常協作上,先做什麼,再做什麼,包括程式碼分支應用有很多方式,但是我們就按照一個方式來,避免額外的思考成本和負擔,這時候按照統一的方式來就可以做,包括程式碼的一致性方面。


第三方面就是架構設計,就是包括怎麼去組織,包括像今天講的主題,就是能讓功能和程式碼的複用度達到最高,讓大家在做一件事情能產生更多的效果,這三個方面來去做。





趙澤彬: 這個其實我們也有過全盤重寫經驗,但是在發生這樣事情其實是會出現整體的不可控,包括你都不知道什麼時候可以完成,在目前我們去做這件事情的時候,會是這樣思路,就是首先當你引入一個新的技術的時候,那你一定要想明白它是做什麼的,解決什麼樣的問題,能達到什麼樣的價值,從整體架構上面來考慮,每一部分能相互之間的職責能更好的分離,這一部分的它功能和邏輯,或者是解決的問題是相對獨立的,當你有更好的思路去解決這個問題的時候,只是需要去做區域性的替換就可以了。





趙澤彬: 在遺留技術上面其實有時候並不需要去按照新的那種(技術)來,因為技術上面並不是新就是最好的,合適就是最好的。但是學習和成長,這是我們肯定是必然的一個訴求。這個還是需要去結合具體的團隊的實際情況,比方說包括業務,包括團隊的資源的豐富程度,包括接下來的一個規劃,這些情況統一來考慮,比如說我們在新技術上面有的可能是我們大家去學,願意學,我可以組織成興趣小組一起學一下,這個時候只是作爲了解,但是並沒有應用訴求。但是有些,我們就是有很多新技術,包括今天講得GraphQL,以及等等其他的,我們就是要用,這個時候我們就是會比如結合現有的情況需要進行架構調整,這個時候一步一步來,比如我們先可以學習,然後先,把現有的進行梳理好,問題定義清楚,再逐步的應用進來,這樣漸進來做,因為大家自己有興趣和真正能做成還是兩回事。就是讓大家有興趣,並且結合業務又能做成,這個我覺得會是一個更有成就感的事情。





6. 國雙技術實際應用的場景有哪些,目前有了哪些成果?


趙澤彬: 就目前來說,公司其實服務了很多行業和客戶,就包括政府,司法,智慧CRM,包括數字營銷等等方面,在這些方面,其實成果上面比較多,已經服務好了很多大客戶,目前達到很好效果,這其實就已經證明它本身能力,基於這些場景,比如說我是在做敏捷BI和視覺化,相當於我們是一個大資料公司,大資料最終應用的部分,我們是做得是這一部分。這一部分,其實我們會把基於服務客戶這些經驗沉澱下來,然後應用成,做成一個產品,把這個產品化,然後再去更好的服務客戶。






趙澤彬: 這個話題比較大,就是從一些具體目前做過點上來說,就是其實可能最大的一個問題就在於你面對的很多東西都是未知的情況下,或者是頭緒比較亂的情況下,怎麼去把它理清楚,剛纔你問到的是最大的坑是什麼?其實最大的坑,就是也是很多小坑積累下來,然後變成一個大坑,這個大坑就在於,當開始的時候,比如說我們就舉具體例子來說,開始以配置化的方式來做得時候,思路很簡單,就是我在構建端,用配置的方式視覺化去配置,在移動端不同終端去解析去實現,那麼就是這個配置裏面怎麼去定義?我們想很簡單,只要不同內容往裏去加,按照自己的擴充套件性,設計成比較好的數據結構,但是後面發現,低估了這種影響,但並沒有做好補救措施,這個時候可能就會應急性的去相容,這個時候就會帶來了很多歷史版本的問題,因為我們產品會有本地部署這種能力,本地部署可能和我們實際研發已經相距一些時間,這個時候,這個問題會讓我們會很頭疼,但是比如接下來再去做的時候,就會把這個問題去解決,就是很好那個,在去想到一個方案的時候,還是要去做好這些就是不好的一面的可能發生的一些備案,或者防治措施。





趙澤彬: 這個其實我覺得一定是會有影響的,就比如說從技術設計上面,我們在做的時候,做BI和視覺化產品的時候,技術設計上面其實考慮了不同終端應用,這個時候到一個階段,然後有這個需求,然後就去做,做的時候,因為這個需求來了,它的更豐滿一些,那麼做得時候,發現技術上面有不滿足的地方,這個時候技術上面再去完善,完善之後,我們又可以去做其他終端和更高的技術這樣一些點,這個時候你會發現,它是相互促進,相互提升的過程。





趙澤彬: 就從這個方面來說取捨的話,就是,首先我們「取」的一方面就是能讓程式碼的複用度更高,那「舍」的一方面就是削弱了個性化的能力,因為你已經規定好這個地方要怎麼做,做成什麼樣,當需要有更個性的實現,而個性的實現可能更好,更滿足體驗,這個時候你怎麼去平衡怎麼去解決?可能現在我們更關注的就會是怎麼讓效率提升起來,協作能力更提升起來,當這個問題解決好之後,你再去解決那個個性化更好的問題。





趙澤彬: 這個方面確實是這樣的,就是第一方面其實主要是兩個思路,一個思路就是讓大家更清楚的理解,然後並且輔助於一定的那種措施,這種措施包括你工具上面的規範,比如說我要去做的時候按照這個步驟,這個步驟來做,我們去做個功能,去做個技術設計,寫一下,你要怎麼做,大家review一下,這時候還有很多細節是你考慮不到,那就是我們會換成,就是還會有定期的review和評審,看這個程式碼設計和內容,是不是都能滿足這個情況,如果不能滿足,可能有需要去調整,也有可能是我們本身現在的一些不滿足,那這個時候需要去擴充套件,需要去解決另外新的問題。






趙澤彬: 這也沒有絕對的A或B,在實際情況中更可能是這樣,比如說業務上面有壓力了我們會需要有更多的人加入進來一起來去做,因為這個時候可能更多要面對業務上面的壓力,這個時候還有新技術要去做,這個時候需要,比如說是結合具體情況來說,可能是我們團隊內部,對目前要解決這個問題理解更深刻他來做可能更合適。但比如說,還有一種情況就是,就是我們需要去做,但是我們團隊也沒有那麼瞭解,這個時候,如果有外面更資深的人加入其實是最大的幫助,所以具體情況還是根據具體選擇最合適的方式纔是最好。





http://www.buzzfunnews.com/20180725346.html

心情煩悶需要新鮮事刺激一下嗎?請上:http://www.buzzfunnews.com

沒有留言:

張貼留言