一月十四號(hào),釘釘正式發(fā)布6.0版,其中推出的“標(biāo)注在一起”功能可以實(shí)現(xiàn)多人如編輯文檔等實(shí)時(shí)編輯圖片,引起了很多開發(fā)者的關(guān)注。在釘釘自研的協(xié)作框架技術(shù)背后,多人實(shí)時(shí)協(xié)作應(yīng)用程序的開發(fā)就像開發(fā)單人本地應(yīng)用程序一樣簡(jiǎn)單,而且協(xié)作框架也將對(duì)釘釘開發(fā)者開放。下面就有小編為您帶來多人協(xié)作編輯文檔的相關(guān)介紹。
在企業(yè)辦公場(chǎng)景中,“打工人”們的工作協(xié)作基本離不開 IM 軟件,而大家卻也常常被圖片消息確認(rèn)難這樣一種困境所困擾,比如:當(dāng)群組里有一個(gè)人發(fā)了一張技術(shù)架構(gòu)圖請(qǐng)其他幾位同事做確認(rèn)時(shí),接收信息的每一個(gè)人可能都需要在圖片上進(jìn)行標(biāo)注,用畫筆圈出需要修改的地方,然后保存到手機(jī)再發(fā)送到群里,還可能要反復(fù)修改,整個(gè)過程十分不順暢。在這種需要多人協(xié)作的場(chǎng)景中,工作效率就大大降低了。
但現(xiàn)在,情況開始有了轉(zhuǎn)變。1 月 14 日,釘釘正式發(fā)布 6.0 版本,其戰(zhàn)略定位也從過去基于 IM 的協(xié)同辦公平臺(tái),升級(jí)為企業(yè)級(jí)協(xié)同辦公平臺(tái)和企業(yè)級(jí)應(yīng)用開發(fā)平臺(tái),這是繼“云釘一體”戰(zhàn)略后,釘釘最重要的版本升級(jí)。
而此次釘釘眾多上新的能力中,包含了一個(gè)叫做“一起標(biāo)注”的功能,它可以實(shí)現(xiàn)像編輯文檔一樣多人、實(shí)時(shí)編輯一張圖片。只要點(diǎn)擊圖片進(jìn)行標(biāo)注,所有接收到圖片信息的協(xié)作者就可以看到編輯過程及編輯者的名字標(biāo)簽,很好地解決了我們開篇提到的如何在圖片消息的討論上實(shí)現(xiàn)更高效的問題。
可以再設(shè)想這樣一個(gè)場(chǎng)景:團(tuán)隊(duì)歡迎新同學(xué)加入一起聚餐,合照發(fā)到群組中,大家可以一起在照片上涂鴉圈人,新同學(xué)將自己圈出來,照片上會(huì)自動(dòng)顯示名字標(biāo)簽。“大家看看新來的 UED 同學(xué)在哪里?”,通過這種多人實(shí)時(shí)互動(dòng),給工作帶來更多的趣味與溫度。
如 Google Docs、Trello、石墨文檔、騰訊文檔……各種各樣的協(xié)同辦公工具為什么會(huì)受到企業(yè)的歡迎?就是因?yàn)樗鼈冊(cè)谝欢▓?chǎng)景中能夠解決團(tuán)隊(duì)協(xié)作的需求,“多人”、“實(shí)時(shí)”、“協(xié)同”是團(tuán)隊(duì)協(xié)作的關(guān)鍵點(diǎn)。
對(duì)于普通開發(fā)者來說,開發(fā)一個(gè)本地的單機(jī)版應(yīng)用很容易,但要從 0 到 1 開發(fā)一套支持多人實(shí)時(shí)協(xié)作的應(yīng)用則要面臨底層工程架構(gòu)、算法相關(guān)的復(fù)雜問題,技術(shù)門檻較高。
在底層工程架構(gòu)方面,需要關(guān)心平臺(tái)適配、網(wǎng)絡(luò)、存儲(chǔ)等問題,開發(fā)者可能需要做 Android、iOS、Windows、Mac、Web 版本、小程序端等多平臺(tái)的適配;而且還需要關(guān)注網(wǎng)絡(luò)問題的處理,如丟包、無網(wǎng) / 弱網(wǎng)問題、離線狀態(tài)恢復(fù)問題、網(wǎng)絡(luò)容災(zāi)等等,最終保證信息的實(shí)時(shí)推送;
另外,在數(shù)據(jù)存儲(chǔ)上也需要考慮保證在無網(wǎng) / 弱網(wǎng)環(huán)境下應(yīng)用的連續(xù)性。而在算法方面,如何解沖突?即不同的操作之間的合并、沖突解決等等也是開發(fā)者將要面臨的問題,因此要設(shè)計(jì)出滿足多人協(xié)同的數(shù)據(jù)結(jié)構(gòu)需要龐大的技術(shù)投入。
釘釘面向 To B 的企業(yè)級(jí)市場(chǎng),離不開創(chuàng)新產(chǎn)品與技術(shù)。因此,釘釘?shù)墓こ處焸冮_始思考一種方式,如何能夠用一套框架解決這個(gè)大難題,讓開發(fā)變得更容易。
數(shù)據(jù)通道上,協(xié)同框架底層的推送通道使用了釘釘?shù)臄?shù)據(jù)同步平臺(tái)。數(shù)據(jù)同步平臺(tái)作為釘釘?shù)幕A(chǔ)設(shè)施,為釘釘數(shù)百個(gè)業(yè)務(wù)提供可靠的服務(wù)端到客戶端的數(shù)據(jù)下發(fā)通道,提供了統(tǒng)一的海量、可靠、實(shí)時(shí)、全端覆蓋的數(shù)據(jù)同步服務(wù)。
數(shù)據(jù)同步平臺(tái)同時(shí)支持推送實(shí)時(shí)信令、即時(shí)消息、可延時(shí)數(shù)據(jù)等不同時(shí)效等級(jí),通過通道隔離、下行數(shù)據(jù)優(yōu)先級(jí)智能調(diào)度、弱網(wǎng)感知優(yōu)化等多種手段,保障了各個(gè)接入業(yè)務(wù)都能使用到高性能、高可用的數(shù)據(jù)同步服務(wù)。在 2020 年疫情期間,數(shù)據(jù)同步平臺(tái)很好地支撐了釘釘?shù)囊曨l會(huì)議、IM、DING 等多個(gè)重量級(jí)產(chǎn)品,每日同步數(shù)據(jù)數(shù)千億,系統(tǒng)流量高峰時(shí)刻 TPS 超過千萬。
底層設(shè)計(jì)上,引擎將協(xié)同過程抽象為有限狀態(tài)機(jī)模型,它包括離線工作和跨多設(shè)備多用戶協(xié)同 的能力,同時(shí)能提高數(shù)據(jù)的安全性、隱私性、長(zhǎng)期保存性和用戶控制權(quán),保證在網(wǎng)絡(luò)狀況不佳的環(huán)境下,也能夠?qū)崿F(xiàn)無差別協(xié)作的工作。
比如在弱網(wǎng)、離線情況下,也能保證能夠繼續(xù)進(jìn)行圖片標(biāo)注,在網(wǎng)絡(luò)恢復(fù)后操作同步。協(xié)同框架提供了多平臺(tái)的 SDK,包括主流移動(dòng)端、桌面端、Web 端,也包括服務(wù)端 SDK。架構(gòu)設(shè)計(jì)上基于對(duì)等原則,所有接入 SDK 的協(xié)同端,不管是客戶端、Web 端還是服務(wù)端,都是對(duì)等 Agent。
同時(shí),多人實(shí)時(shí)協(xié)同問題的本質(zhì)某種程度上是一個(gè)分布式領(lǐng)域的問題,釘釘協(xié)同框架結(jié)合了操作變換 OT(Operational Transformation)與無沖突復(fù)制數(shù)據(jù)類型 CRDT (Conflict-free Replicated Data Types) 技術(shù),用于實(shí)現(xiàn)協(xié)同操作合并與沖突解決,并讓各個(gè)協(xié)同端狀態(tài)達(dá)到最終一致。
對(duì)于不同的協(xié)同場(chǎng)景,可以選擇其合適的協(xié)同算法與協(xié)作策略,但這些底層復(fù)雜的技術(shù)細(xì)節(jié),對(duì)于使用協(xié)同框架的上層業(yè)務(wù)都是透明的,開發(fā)者只需要操作協(xié)同數(shù)據(jù)結(jié)構(gòu)與協(xié)同組件即可。
以本次釘釘 6.0 發(fā)布的“一起標(biāo)注”功能為例,這個(gè)產(chǎn)品功能的實(shí)現(xiàn)是基于名為 CoPixel 的數(shù)據(jù)結(jié)構(gòu)。CoPixel 本身作為數(shù)據(jù)層,與 UI 無關(guān),用于承載筆畫圖形的數(shù)據(jù),而 UI 層則通過將 CoPixel 封裝為一個(gè)協(xié)同畫布組件。
用戶在協(xié)同畫布上每畫一筆,都會(huì)對(duì) CoPixel 產(chǎn)生對(duì)應(yīng)修改,進(jìn)而自動(dòng)協(xié)同到所有參與協(xié)作的用戶端,其他用戶端的 CoPixel 會(huì)回調(diào) UI 層的畫布組件,從而新筆畫得到展現(xiàn)。當(dāng)多名用戶同時(shí)操作,這些動(dòng)作會(huì)合并并自動(dòng)解決其中可能產(chǎn)生的沖突。
1 月 14 日的釘釘 6.0 發(fā)布會(huì)上,宣布了此次戰(zhàn)略升級(jí)帶來的 3 個(gè)重要變化:
1、推出釘釘宜搭等低代碼開發(fā)工具,讓不懂代碼的用戶,也能快速開發(fā)新應(yīng)用;
2、推出角色工作臺(tái),讓 CEO、HR、財(cái)務(wù)、老師等不同角色擁有自己的專屬工作臺(tái);
3、推出全新協(xié)同辦公套件,讓用戶可以打破組織邊界,進(jìn)行“以事為中心”的協(xié)同。
阿里云智能總裁張建鋒也曬出了釘釘?shù)谋姸喑煽?jī)單:截止 2020 年 9 月 30 日,有超過 1700 萬企業(yè)組織、4 億用戶選擇用釘釘開啟數(shù)字化;釘釘開放平臺(tái)入駐的開發(fā)者已超過 27 萬,開發(fā)應(yīng)用數(shù) 70 萬個(gè)以上,開發(fā)者服務(wù)的企業(yè)組織數(shù)超過 640 萬家……
另外,釘子還深入開發(fā)了群聊、智能人事、客戶管理等核心產(chǎn)品技術(shù),并共開發(fā)了超過1300個(gè)API,供開發(fā)者、合作伙伴和用戶使用。本論文對(duì)釘釘?shù)膮f(xié)同框架技術(shù)做了部分解讀,管中窺豹,可見這次釘釘戰(zhàn)略升級(jí)背后的技術(shù)也在向業(yè)界深度開放,期待后續(xù)的協(xié)同框架迭代和完善,我們也會(huì)繼續(xù)關(guān)注釘釘?shù)募夹g(shù)能力。 以上就是小編為您介紹的釘釘多人協(xié)作編輯文檔,希望對(duì)您有所幫助。
[免責(zé)聲明]
文章標(biāo)題: 釘釘多人協(xié)作編輯文檔的發(fā)展路徑
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會(huì)在3個(gè)工作日內(nèi)處理。