API而不借助現有的前端框架來進行開發?
VSCode直接使用DOM API而不使用前端框架,原因有以下幾點:
VSCode從2011年開始開發,當時各種前端框架并不像今天這么流行,微軟在選取技術時很難考慮當時還未成熟和推廣的前端框架。前端框架性能較差。現代前端框架本質上是用虛擬DOM (React)、臟檢測 (Angular)和數據劫持 (Vue)等手段將數據的變化自動響應到 DOM 變化上。對于絕大多數前端應用而言,前端框架從數據到UI的這一套處理方法是沒有性能問題的,其保證的是性能不會太慢和自動響應,這很契合普通前端應用的開發需求。但是對于 VSCode 這種應用就不適用了。代碼編輯器對性能的要求很高,可以說其性能要求是各種前端應用中最高級別的。目前的前端框架難以滿足VSCode的性能需求。微軟具備強大的開發團隊,所以直接使用DOM api開發并不是太高的技術門檻,開發成本不會太高,且進行進一步優化的空間更大,也不會受制于某個框架的發展。代碼編輯器設計的前端技術更為底層,增量變化、等寬字體的排列和渲染等問題,使用現有的前端框架難以抽象,往往還是需要使用底層API進行定制開發,前端框架在這些部分能力不足。綜上所述,VSCode使用DOM api開發是微軟團隊的正確選擇,前端框架不是開發VSCode的最佳選擇。