APICloud:高性能AVM框架應勢而來

在大前端技術領域,當咱們遇到了須要解決重複性的問題時,一般會考慮設計一個DSL(Domain-Specific Language)或者抽象出一個框架層,專門來解決這些相似的問題。使用DSL咱們並不須要爲特定終端編寫多套代碼,還能夠利用宿主語言的抽象能力,確保各終端渲染效果的一致性以及對開發者友好。前端

 

目前流行DSL有:React支持的JSX語法、Vue定義的SFC結構和v-*指令集、微信小程序的WXML/WXS語法等。這些DSL最終被編譯爲目標代碼,直接發佈於小程序平臺,或者藉助JS-Runtime運行於APP和Web瀏覽器。編程

 

其中,React是函數式編程思想的實踐者,最大的特色是發明了JSX語法,容許開發者使用xml的方式在JS中聲明UI,並經過組件化和更加語義化的代碼而非模板來高效的定義界面,以提供最大的靈活性和響應能力;React只對開發者暴露基礎的生命週期和過程,更多的實現和邏輯細節則交由用戶靈活定製,單純的使用JS語言便可完成整個開發過程,有客戶端開發經驗的開發者將更容易上手React。小程序

 

 

而Vue則但願經過儘量簡單的API實現響應式的數據綁定和UI組件的組合及管理,所以默認屏蔽了很是多的操做細節,這對初學者而言提供了巨大的方便;其單文件組件模板語法也更貼近原生Html5,具有Web前端基礎的開發者,將可以流暢的過渡到Vue開發中。微信小程序

 

兩者的共同設計思想是虛擬DOM以及數據驅動視圖更新,設計目的都是爲了下降Web開發的複雜度,提高編碼體驗以及開發和維護效率,讓開發者聚焦在業務上。瀏覽器

 

隨着移動互聯網的迅猛發展,前端技術的範疇已經從Web前端擴展到移動端H5,Android& iOS App,小程序等多端,業務重心也轉移到移動端。而通過多年發展的React和Vue已經變得臃腫,難以適應多端背景下,更個性化和深刻下層的應用場景,咱們迫切須要從已有的技術中提取精華,構建出更簡單輕巧,可以對不一樣端的特性實現針對性優化和處理的能力。微信

 

APICloud新產品前沿諜報架構

即將發佈的全新AVM(APICloud View Model)是APICloud基於標準H5子集設計的DSL中間語言編程框架,其可具有以下能力:app

 

  • Virtual DOM:經過虛擬DOM,渲染到不一樣終端,充分尊重系統特性,爲不一樣終端執行差別處理,實現高效渲染;框架

  • 組件化:高可重用性、可組合性、可維護性的架構設計,隱藏了複雜的DOM結構和行爲,讓開發者專一於應用的功能和外觀;函數式編程

  • 數據綁定:輕鬆將數據源綁定到應用用戶界面,下降邏輯複雜性和開發難度;

  • 態管理和路由:有效分離用戶界面和數據處理,實現項目的工程化管理;

  • 類Vue語法和兼容React JSX,兼具Vue的輕巧和React的靈活性。

 

APICloud DSL最終可編譯爲標準JS,經過DeepEngine渲染到app端和Web端,或者編譯爲微信小程序代碼,用於微信小程序平臺發佈。

 

APICloud DSL使用Vue方式定義組件或頁面:

 

 

APICloud DSL使用兼容React JSX方式定義組件或頁面: