葡萄城首席架構師:前端開發與Web表格控制項技術解讀

2021-01-10 IT168

講師:Issam Elbaytam,葡萄城集團全球首席架構師(Chief Software Architectof GrapeCity Global)。

曾任 Data Dynamics.Inc 創始人兼資深產品經理,個人研究方向主要為 MS.NET語言及平臺、動態化系統構建,以及高性能大型分布式Web系統架構,主導了葡萄城多款暢銷控制項產品的系統架構與性能優化。

「25年來,除了日常作息時間,Issam不是在研究技術和產品,就是在去研究技術發展趨勢的路上」這就是葡萄城同事對他的一致評價。

為何他如此痴迷於前端開發技術?在他的眼中,前端開發未來將走向何方?面對當今大熱的HTML5、JavaScript,以及區塊鏈等新興技術,他又有哪些不同的看法和觀點?他倡導的用前端開發技術,實現「在線Excel」系統的捷徑又是什麼?本期葡萄城公開課,我們就來一探究竟。

·觀看地址:https://live.vhall.com/347833693

· 直播時間:2019-11-20(星期三) 下午14:00

· 直播大綱:

o Web表格控制項的處理性能,與哪些因素相關?

o SpreadJS 的技術架構和設計理念如何?

o 兼容450餘種Excel公式,SpreadJS如何做到?

o 無需第三方組件,瀏覽器中如何實現Excel導入導出?

o Web系統如何嵌入Excel功能模塊,並實現高效的數據交互?

o 前端開發技術日新月異,未來將走向何方?

課程摘要

本期公開課,Issam將就企業信息化系統如何通過先進的前端開發技術和開發工具,在瀏覽器或Web應用中嵌入類Excel 模塊,快速實現數據填報、在線文檔、類 Excel UI 設計等業務場景,並詳細介紹SpreadJS 的HTML5 Canvas界面繪製方式和稀疏數組(Sparse Array)模型。

與此同時,還會為大家深入解讀「面對不斷變化的業務需求,開發者如何保持並不斷提升Web應用的開發迭代速度」。

最後,作為一名技術狂熱愛好者, Issam還會就當今最熱的前端技術發展趨勢發表看法。

下面,是本期公開課的核心內容,更多精彩分享,請點擊此處觀看。

Web表格控制項 —— SpreadJS誕生記

SpreadJS的誕生即在意料之外,又在情理之中。

自1996年中國全功能接入網際網路起, 人們對Web產品的期望愈發殷切。如今,Web開發者不僅需要面對來自PC端單方面的壓力,接到更多移動端、PWA(小程序)、app hybird等平臺的需求也成了家常便飯。

迫於業務不斷變化的壓力,導致了開發者需要不斷提升Web應用開發迭代的速度,在最大程度縮短項目交付周期的同時,也需時刻保持產品的易用性和穩定性。

有挑戰,便存在機遇。

Issam Elbaytam在開發過程中發現:大部分企業用戶在處理數據、統計數據時,更習慣使用Excel。

Why?

企業Web應用中「Excel」的重要性

Excel 作為一款深受用戶喜愛的電子表格工具,藉助其直觀的界面、出色的計算性能、數據分析和圖表,已經成為數據統計領域不可或缺的軟體之一。Excel對於企業來說:

· 「用Excel的數據說話」是企業走向自動化、信息化的第一步

· Excel 操作簡單,但卻隱藏巨大的力量和靈活性

· 許多Web應用程式都是從一張「電子表格」開始的

· 也許難以置信,Excel腳本的確是最流行的功能(性)語言之一

o Excel函數和公式無處不在

o 完整的圖靈機系統

· Excel甚至可以來畫畫和製作遊戲(摸魚必備)

不過,企業真正看重的是Excel軟體本身嗎?

Excel對於企業應用的局限性

當然,Excel對於企業應用的局限性也非常明顯,例如:

· 用Excel文件管理企業內部數據,往往混亂且低效

· 無法完全脫離Office套件使用

· 依賴Excel完成數據交互,將會大幅降低應用系統的運行效率

· Excel文件和企業已有應用接駁困難

· 用Excel保存文件簡單、通用性強

o 但數據易遭篡改

· Excel非常適合基於文件的分析

o 但難以同時整合、分析和匯總多個文件

o 無法分布式修改數據

對於企業來說,實現Excel 的功能模塊才是真正所需

在企業應用項目中,高度類似Excel,但不依賴於Excel實現的數據排序、篩選、分類匯總等各項功能,才是企業真正所需,亦是信息化系統必不可少的功能模塊。比如:

· LoB 應用

· 降低安全風險並防止敏感數據的臨時拷貝

· 權限管控下的應用

· 集中的資料庫存儲,以及可用於更深入的分析和報告

因此,對於企業應用系統來說,如果有一款開發工具能夠克服Excel的短板,將Excel的功能,嵌入到Web系統中,實現Web Excel 組件開發、數據填報、在線文檔、圖表公式聯動、類 Excel UI 設計等業務場景,並完全兼容Excel 公式和文檔類型,無疑會為企業帶來巨大的價值。

這便是SpreadJS的設計初衷。

研發出一款實現Excel全部功能的前端開發工具有多難?

然而,實現這樣一個純前端類Excel的開發工具到底有多難?除了要投入大量的研發成本和時間外,即便如葡萄城一般積累了多年 .NET控制項開發經驗的集團公司,在沒有深入研究過前端數據渲染、框架集成、前後端Excel數據交互邏輯的情況下,空有人力物力也無法成功。別的不說,光是用JavaScript 實現Excel數量龐大的公式和函數,就足夠耗費數倍的精力。。。

葡萄城的Spread.NET表格控制項

換做其他人也許已經放棄,但Issam沒有。

在葡萄城Spread.NET表格控制項的基礎上,2015年,Issam研發出了一款真正的純前端電子表格控制項——SpreadJS。這是一款用純JavaScript編寫的一套功能和UI 都與Excel高度類似的電子表格控制項,即可以滿足應用系統中流行的B/S架構需求,讓用戶進一步把應用遷移B/S端,也可以完全脫離Office套件使用。

SpreadJS與Excel 的數據交互結構

SpreadJS具備哪些功能與使用場景

SpreadJS是基於JavaScript 和 HTML5最完整、速度最快的電子表格控制項,其體系架構分別由存儲層、指令系統、計算引擎、展示層、導入導出接口和渲染層構成,如下所示:

在此架構基礎之上,SpreadJS提供的核心功能包含:

1. 業界領先的 Excel 兼容度,如:

o 支持Excel 的53 項單元格格式、18 種條件格式、3 種數據高亮,及 60 種表格樣式

o 支持450 種以上的 Excel 公式函數

o 支持 32 種圖表、18 種迷你圖和 182 種形狀

o 具備數組公式和動態數組支持的完整函數庫

o 純前端導入、導出 Excel 文件

2. 超越Excel的獨特之處,如:

o 自定義迷你圖和條形碼

o 自定義輸入單元格類型、單元格標籤、填充、按鈕和下拉列表

o 動態形狀

3. 一流的框架支持及擴展:

o 全面兼容 Angular、React、Vue等前端開發框架

o 符合 UMD 規範,可按需加載

4. 極高的處理性能和響應速度

o 採用比 DOM 更為先進的 HTML5 Canvas 繪製交互界面,能夠在不影響訪問性能的前提下,最大化的節省存儲空間

基於上述核心功能,SpreadJS的適用場景主要包含以下三個方面:

· 數據填報

· 類 Excel 報表設計

· 在線協同編輯

為保證高效的處理性能,SpreadJS 做了哪些優化

SpreadJS的目標是成為滿足所有開發需求的最佳控制項!達成這一目標的前提,必須滿足企業極高的性能要求。

首先,SpreadJS從一開始就使用了 Canvas 的方式來繪製整個交互界面,與 DOM 拼接不同,使用 Canvas 的優勢是能夠給用戶提供更加流暢的交互體驗:不會因為表格數據增多,而導致瀏覽器的卡頓。

其次,在數據存儲方面,SpreadJS 採用了稀疏數組(Sparse Array)結構,能夠在不影響訪問性能的前提下,最大化的節省存儲空間。

正是基於上述技術的實現,SpreadJS 才可以在瀏覽器中依然保持極高的處理性能和響應速度。

付出努力,就一定會贏得收穫

短短5年時間,SpreadJS已為國內外多所知名企業和機構賦能,助力如天弘基金、華為、中國平安、招商銀行等行業巨頭,實現了Web Excel組件開發、數據填報、在線文檔、圖表公式聯動、數據可視化等核心業務場景。

「簡單的一百多行代碼配合 SpreadJS 的類 Excel 操作習慣,讓我們的用戶就像使用 Excel 一樣使用內部系統,也為我們系統開發完成後的用戶遷移工作節約了大量培訓時間,SpreadJS 優秀的性能讓我們高枕無憂。」 華為的相關負責人坦言。

訪問 SpreadJS 官網了解更多:https://www.grapecity.com.cn/developer/spreadjs

Issam對未來前端開發趨勢的看法

JavaScript和瀏覽器的不斷發展,也為基於Web應用程式的系統開發提供了良好的性能支持和運行環境。

面對中國開發者,Issam 也坦言道,「中國開發人員喜歡使用最新和最好的技術, 而優秀的前端開發工具,如SpreadJS,也一定會為他們的項目提供強大的支撐,幫助這些開發人員在財務、預算、工程、統計等領域的信息系統中,通過強大的計算引擎和靈活的數據可視化呈現,為商業表單控制面板提供更為豐富、有效的內容信息。」

最後,作為一名技術狂熱愛好者,Issam對未來充滿期待,相信隨著未來前端技術的發展,以及不斷更新迭代的Web程序集,這些技術將為用戶提供前所未有且越來越強大的解決方案。

關於葡萄城(https://www.grapecity.com.cn/)

賦能開發者!葡萄城公司成立於 1980 年,是全球領先的集開發工具、商業智能解決方案、管理系統設計工具於一身的軟體和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟體研發服務,並為中國企業的信息化提供國際先進的開發工具、軟體和研發諮詢服務。葡萄城的控制項和軟體產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用。

轉載請註明出處。

相關焦點

  • 表格控制項SpreadJS助力明源雲,打造更智慧的地產生態鏈
    在技術方面,明源雲選擇與葡萄城加強合作,構築新一代數位化地產生態鏈系統。 SpreadJS提供高度類似Excel的功能界面 葡萄城是全球領先的軟體開發技術提供商,
  • Web前端的就業前景如何
    Web前端對網站而言,通常指前端部分,它包括網站表現層和網站結構層。所以一般來說,前端技術分為前端設計和前端開發,網絡的視覺設計主要是有前端設計負責,網站的前端代碼實現,主要是由前端開發負責。基本的有 HTML和 CSS, JavaScript/ajax,以及目前新的高級版本HTML5,CSS3,以及 SVG等等。
  • Web前端應用十種常用技術
    隨著JS與XHTML的應用普及,越來越多的web界面應用技術出現在網站上,比如我們常見的日曆控制項,搜索下拉框等,這些web界面應用技術大大的豐富了網站的表現形式,本文將為您精心推薦十種最常見的web界面應用技術。Web應用程式的界面設計,其核心就是網頁設計 ,但它的重點主要是在功能方面。
  • Web經典B/S快速開發框架,強大後臺+簡潔UI一體化開發工具
    Java是產品線擴充過程中的一個新產品,目前第一階段開發已完成。今天我們要介紹的是.net版本,由於.net core版本功能與其一致,不再單獨介紹。框架特點:1.框架的主架構為基於.net MVC 的 BS 架構。2.後臺 ORM 支持 EF 和 dapper 兩種模式。
  • web前端開發常用工具有哪些
    Web前端是一個新興職業,市場需求大,薪資待遇高,吸引了很多人加入學習。無論是初學小白亦或是自身前端開發人員,好用的軟體工具可以幫助他們更好的工作。下面為大家介紹一些常用的web前端開發工具:1、BootstrapBootstrap 是快速開發 Web 應用程式的前端工具包。它是一個 CSS 和HTML 的集合,它使用了最新的瀏覽器技術,給你的 Web 開發提供了時尚的版式,表單,buttons,表格,網格系統等等。
  • 「開發者必讀」為什麼你的"開發速度"和"產品性能"都比不過競品?
    因此,如果想要在企業 OA 系統中實現類似 Excel 的在線表格分析功能,為了避免耗費大量的開發精力卻只得到一個"雞肋產品",最好的辦法就是接入更專業的前端表格控制項作為輔助。雖然,這類控制項數量眾多,但經過我的調查研究,能把"表格技術"這一細分場景發揮到極致的產品屈指可數。究其原因,這些產品大多未攻克以下四個技術難點。
  • web前端開發是做什麼的?零基礎該怎麼學習
    這個時候最好的出路就是學習,學習一門好技術。假如大學畢業工作不如意,想轉行,這個時候最好出路已經是學習,學習一門有前景的技術。本文我們將為大家介紹一下web前端開發。web前端開發是做什麼的?從狹義上講,web前端工程師主要使用HTML、CSS、JavaScript等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋用戶PC端、移動端網頁,處理視覺和交互問題。從廣義上來講,所有用戶終端產品與視覺和交互有關部分,都是web前端工程師專業領域。在web前端這個崗位興起之前,html+css的工作是被視覺人員所承擔的,而js這部分則是由後端完成的。
  • 如何做好一個Web前端開發工程師
    無論是後端開發、設計行業,還是零基礎行業,只要你對Web前端感興趣,就可以加入前端開發行業,這是一個報酬優厚的行業,在網際網路企業中不可或缺。很多人對 web前端都有濃厚的興趣,但卻不知道如何開始學習,今天就為大家推薦7步法幫助你成為 web前端開發工程師。
  • 珀金埃爾默分析儀器製造商搭建基於表格控制項SpreadJS的一體化信息管理系統
    概述:珀金埃爾默通過引入 SpreadJS 純前端表格控制項技術,搭建了這套報告自動化系統,系統藉助 SpreadJS 高性能的計算引擎
  • 武漢Python Web全棧開發工程師修煉價格_web前端開發培訓哪家好...
    【課程介紹】課程以python語言為主導,進行web服務相關的全棧開發,包含後端伺服器開發,部署,監控;web前端開發,前後端不分離模板模式開發,前後端分離,單獨前端部署方案。通過該項目,可以讓學員擁有完整的全棧開發體驗(用戶驗證,業務邏輯判斷,查詢,寫入等功能)。在web項目以外的定時任務讓學員對非web項目有一個基本的了解。
  • 曾經的迷茫,WEB前端是做什麼的?
    web前端開發如果你經歷過痛苦的IE6時代,如果你現在還在做網頁開發,也許這一切不用解釋但如果真要讓一個web前端開發去做美工要做的事情,這就有點趕鴨子上架,強人所難。這個比方,估計大家就有一點明白了,web前端好像不做美工做的事情,他們不做圖。對!他們不作圖!不使用PS、AI這些作圖工具(這裡說的很絕對,僅是為了區分職位劃分,實際工作中沒有嚴格意義上的劃分)。
  • Web前端是做什麼的?
    Web前端開發工程師是一個相對較新的行業,在國內外真正開始受到關注不到5年。Web前端的發展是從網頁製作演變而來的,其名稱具有明顯的時代特徵。網際網路的演化過程中,網頁製作是Web1.0時代的產物,當網站的主要內容是靜態的時候,用戶使用網站的行為多數也只是瀏覽。
  • Web前端就業前景如何 學完能從事哪些行業
    隨著網際網路+政策的提出,信息技術趕上了大好時機,隨著網際網路的快速發展,軟體開發人才也有了更多更大的機遇,就業空間不斷增大,軟體行業人才需求呈爆發性的增加,市場對於Web前端工程師需求量更大,但是由專業人才緊缺,薪資水平也是水漲船高。
  • Web前端和後端有什麼區別(上)
    二,需要掌握的技術不同 1、Web前端: 精通JS,HTML。能熟練應用JQuery,懂CSS,能熟練運用這些知識,進行交互效果的開發。
  • Web前端工程師具體是做什麼的?發展好嗎?
    前端開發工程師是Web前端開發工程師的簡稱,在國內真正被重視的不超過10年,並在國內各大公司裡都設立了專業的前端部門,也有一些基礎階段的「網站開發培訓」也隨之產生。1、什麼是Web前端Web前端開發技術是一個先易後難的過程,Web前端開發工程師,主要是實現客戶端(手機和電腦)上看到的頁面和一些交互效果(比如點擊,查看詳情)等。
  • 什麼是架構師?有何作用,成為一名架構師需要具備怎樣的能力?
    在比爾· 蓋茨的眾多稱謂中,據說他更偏愛「首席軟體架構師」。同樣,在網易創始人丁磊名字前,也有「首席架構師」這樣的稱謂。由此可見,對於企業來說,架構師就是靈魂的創造者。所以架構師的影響真的是不一般的,而且不僅僅如此。
  • 前端架構是什麼?它又有什麼準則呢?
    什麼是前端架構?架構就是用一定技術、管理手段貫聯開發、業務、項目之間內在聯繫的方案;所謂前端架構只是加了個定性詞兒——前端限定了架構範圍,其他並無差異架構的準則經過多年的架構經驗總結出七大準則1. 適度設計(第一準則)a) 架構設計應以滿足一定周期內的需求為目標。
  • .NET開發框架:另類的MVC架構和ORM系統
    【IT168 技術】  第一部分 另類的MVC架構JVPL架構  (JVPL模式的系統結構圖  2)MVC的優弱點:  MVC讓開發從原來的 webform中解脫出來,解決了層次清晰邏輯與UI的隔離以及服務端控制項的一些瑕疵等諸多問題,但是MVC的弱點同時也存在.在MVC中我們的Model時常變動,我們必須手動創建Model類和Model的變動修改.同時對於 Model的Action控制操作也需要一定程度上的變動.
  • 架構師必須知道的架構設計原則
    寫在前面 如果一個技術已經存在 2 年,比如現在很火的前端技術 react 和 vue 等,那麼我能預估這個技術大致還有 2 年的生命期,再久就不確定了;如果一個架構或設計原則已經存在 15 年,例如單一職責和依賴倒置原則,我可以預期它還有 15 年甚至更久的生命期。原則是比具體技術更抽象,更接近事物本質,也更經得起時間考驗的東西。
  • web前端需要學習什麼?初級階段都要學什麼?
    網絡看到了很多詢問貼子,web前端需要學習什麼?自學要多久?要學習哪些技術?初級階段都要學習什麼?有什麼要求……也有很多朋友在網絡上自學的,也有參加網絡教學的,或者在去一些培訓學校參加培訓Web前端的,都會關心一個「web前端需要學習什麼」?