AVM(APICloud-View-Model)是APICloud推出的一個跨端的高性能 JavaScript框架,更趨近于原生的編程體驗,它提供簡潔的模型來分離應用的用戶界面、業務邏輯和數據模型,適合高度定制化的項目。
在大前端技術領域,當我們遇到了需要解決重復性的問題時,通常會考慮設計一個DSL(Domain-Specific Language)或者抽象出一個框架層,專門來解決這些類似的問題。使用DSL我們并不需要為特定終端編寫多套代碼,還可以利用宿主語言的抽象能力,確保各終端渲染效果的一致性以及對開發者友好。
目前流行DSL有:React支持的JSX語法、Vue定義的SFC結構和v-*指令集、微信小程序的WXML/WXS語法等。這些DSL最終被編譯為目標代碼,直接發布于小程序平臺,或者借助JS-Runtime運行于APP和Web瀏覽器。
AVM(Application-View-Model)是APICloud基于標準H5子集設計的DSL中間語言編程框架,提供包含虛擬DOM和Runtime的編程框架avm.js以及多端統一編譯工具,兼容Web Components標準,同時兼容Vue和React語法編寫代碼,編譯工具將Vue和React相關語法糖編譯轉換為avm.js代碼。
其可具備如下能力:
1. Virtual DOM:通過虛擬DOM,渲染到不同終端,充分尊重系統特性,為不同終端執行差異處理,實現高效渲染;
2. 組件化:高可重用性、可組合性、可維護性的架構設計,隱藏了復雜的DOM結構和行為,讓開發者專注于應用的功能和外觀;
3. 數據綁定:輕松將數據源綁定到應用用戶界面,降低邏輯復雜性和開發難度;
4. 狀態管理和路由:有效分離用戶界面和數據處理,實現項目的工程化管理;
5. 輕巧靈活:類Vue語法和兼容React JSX,兼具Vue的輕巧和React的靈活性。
APICloud DSL最終可編譯為標準JS,通過DeepEngine渲染到app端和Web端,或者編譯為微信小程序代碼,用于微信小程序平臺發布。
avm.js
Avm(APICloud-View-Model)是一個移動優先的高性能跨端JavaScript框架,支持一次編寫多端渲染。它提供更趨近于原生的編程體驗,通過簡潔的模型來分離應用的用戶界面、業務邏輯和數據模型,適合高度定制的應用開發。
軟件名稱:avm.js
最近更新時間:2020年1月20日
軟件語言:JavaScript
開發商:APICloud
軟件授權:未開源
簡介
Avm核心庫只關注終端差異、虛擬DOM、組件化和數據綁定,與其他重量級框架不同的是,Avm不需要太多的外部依賴,僅需要組件化、數據驅動等更現代化框架的能力。Avm提供類Vue語法并兼容 React JSX,非常容易學習,如果您是Vue、React的用戶,將更易上手Avm,幾乎不需要學習成本。
Avm專注于移動端,提供簡潔的代碼書寫模式,編碼一次,可同時生成Android & iOS原生App、小程序和WebApp。
特點
易用
有Vue、React基礎,可快速上手。配套專用的開發工具APICloud Studio3。
多端
一次開發,多端渲染,一個技術棧搞定移動端開發。
功能API豐富
提供1千+模塊和2萬+API可直接調用,面向行業和場景無限制。
項目結構
參考
Avm.js 的 API 參考了 VueJS、ReactJS、Omi.js。