1. 程式人生 > >2020年度總結 | 葡萄城軟體開發技術回顧

2020年度總結 | 葡萄城軟體開發技術回顧

本文由葡萄城技術團隊原創並首發

轉載請註明出處:葡萄城官網,葡萄城為開發者提供專業的開發工具、解決方案和服務,賦能開發者。

 

2020年是不平凡的一年,雖然疫情為整個社會都帶來了巨大的衝擊,但IT技術人們卻從未停止過創新和發展的步伐。

葡萄城是全球領先的軟體開發技術提供商。在專注軟體開發技術的40年中,葡萄城逐漸形成了吸納全球頂尖技術人才的分散式研發架構,並先後研發出各類開發控制元件、商業智慧報表工具、低程式碼開發平臺等,引領開發技術的發展。

在2020年,葡萄城仍然秉承著“賦能開發者”使命,用技術至上的工匠精神在前後端技術方面都有著一些創新。下面,就讓我們一同來回顧一下吧。

前端(JavaScript、TypeScript):

 

(圖片來源於網路)

 

1.      Canvas繪製模型:使用 HTML5 Canvas 繪製引擎,而非DOM拼接的方式展示表格資料,避免了重複建立和銷燬DOM元素時的效能損耗,在畫布的繪製過程中,打破了DOM元素渲染對UI的諸多限制,可以繪製種類更為豐富的UI元素,如線形、特殊圖形等,通過畫法邏輯,還可以實現更加精準的UI介面渲染,解決了瀏覽器差異造成的樣式誤差。

2.      雙快取繪製技術:將不易改變的主體圖層繪製在快取的Canvas中,在發生改變需要更新圖層時,只需要將快取Canvas中的主體圖層直接通過影象克隆的方式繪製在主Canvas上,大幅優化了頁面繪製效能。

3.      稀疏矩陣儲存策略:相較於傳統的鏈式儲存或陣列儲存,稀疏矩陣儲存構建了基於行索引的資料字典,在鬆散佈局的表格資料中,稀疏矩陣只會對非空資料進行儲存,而不需要對空資料開闢額外的記憶體空間。

4.  前端技術的前瞻性研究:技術團隊自WebAssembly釋出就開始了投入研究工作,面對可能對前端類似高負載運算等場景帶來極大效能提升的全新開放技術,開發團隊對其做了大量的效能分析和適配性研究。

以上技術應用於葡萄城純前端表格控制元件SpreadJS,純前端線上報表控制元件ActiveReportsJS等產品。

 

後端(.NET、.NET Core、Java):

 

(圖片來源於網路)

 

1.      減少垃圾回收:消除了單元格的概念,使用double 儲存數字、文字、布林和錯誤型別,將行儲存改成列儲存,並結合 C# 的泛型,用字典儲存值型別的資料,以此克服垃圾回收的影響,提升處理效能。

2.      共享儲存及樣式壓縮:所謂共享儲存,就是把整個軟體中重複的資料物件只生成一份,放在一個全域性的地方,每個物件用一個數字做ID,其它地方只存這個ID,這樣做可以用來降低記憶體消耗。進一步減少觸發GC回收的次數,從而提高程式執行效率。

3.      充分利用快取記憶體: CPU在讀取資料的時候,會先從最近的快取中讀,如果沒命中,才從下一級快取中讀,然而,越高速的儲存介質離CPU越近,速度越快,因此,提升CPU的快取命中率對改善效能意義重大。

4.      框架整體遷移:在過去的2020年,全面將服務端技術棧從.NET Framework遷移到.Net Core。大規模的重構和遷移,為了使得更多開發者能夠基於國產化作業系統使用。

5.     微服務架構及自研運算引擎:藉助Akka實現 Server + N Workers之間的通訊,達到叢集和分散式部署的能力;其中自主研發的高效能大資料運算引擎(COT),更可將分析億級資料達到秒級。

以上技術應用於葡萄城服務端高效能表格元件GcExcel、企業級低程式碼開發平臺活字格、嵌入式商業智慧和報表軟體Wyn Enterprise等多個產品。

在過去的2020年,葡萄城相繼通過十數次的版本釋出迭代,將上述創新的前後端技術反映在產品中與廣大使用者見面,為開發者大大提升了開發效率。

 

 

 

銘記初心,持續為開發者賦能

開發者是各項軟體技術的創造者,是軟體產業發展的核心力量。葡萄城以“賦能開發者”為使命,就是希望能夠全面的支援和賦能一切具有創新精神的開發者,幫助大家創新開發模式,提升開發效率。

因此,除了在產品和技術方面精心打磨,2020年葡萄城也在服務和社群方面做了大量建設。

面向開發者推出的葡萄城公開課,完全免費,課程內容涵蓋實戰開發經驗、未來技術發展、軟體專案落地等話題,講師由葡萄城使用者、研發團隊和產品經理等擔綱;葡萄城新手訓練營,針對初次瞭解產品和技術的客戶推出,通過三到五天的集中學習,採用直播授課、互動答疑、動手練習等多種方式,幫助使用者快速體驗產品,構建技術整體概念,為後續工作的開展打下堅實的基礎。

而在技術社群方面,我們持續耕耘部落格園等社群的技術部落格,參加中國.NET開發者峰會等技術會議。2020年我們相繼獲得了“最佳技術團隊”、“中國技術品牌影響力企業”、“中國低程式碼領軍企業”等社群榮譽獎項,同時有超過200w的使用者閱讀過葡萄城的社群技術文章。

2020年,克難求進;2021年,未來可期。

這裡也打個小廣告吧,葡萄城正在招聘開發和技術人員:

瞭解職位資訊請點選https://www.grapecity.com.cn/career/socialrecruitment,歡迎你加入我們,一起為開發者賦能,簡歷直送:[email protected],會有HR小姐姐和您取得聯