自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百度開源的快速、可移植且靈活的MVVM前端組件框架——San

新聞 前端
San,是一個(gè)小巧的MVVM組件框架,它小巧的體積(<15k)、優(yōu)秀的兼容性以及卓越的性能是筆者認(rèn)為可以介紹給大家的一個(gè)原因。

介紹

San,是一個(gè)小巧的MVVM組件框架,它小巧的體積(<15k)、優(yōu)秀的兼容性以及卓越的性能是筆者認(rèn)為可以介紹給大家的一個(gè)原因,特別是其兼容性,其仍然兼容IE6,目前還沒見過哪個(gè)框架兼容到這么低版本的IE,所以說還是很有使用價(jià)值的,可稱得上是一個(gè)可靠、可依賴的實(shí)現(xiàn)響應(yīng)式用戶界面的解決方案!

百度開源的快速、可移植且靈活的MVVM前端組件框架——San

快速開始

San是開源的,大家可以到Github找到他,從Github來看,百度對其維護(hù)還是到位了的。

百度開源的快速、可移植且靈活的MVVM前端組件框架——San

下面是一段官網(wǎng)的簡單介紹,可以通過這些來快速了解它:

San 通過聲明式的類 HTML 視圖模板,在支持所有原生 HTML 的語法特性外,還支持了數(shù)據(jù)到視圖的綁定指令、業(yè)務(wù)開發(fā)中最常使用的分支、循環(huán)指令等,在保持良好的易用性基礎(chǔ)上,由框架完成基于字符串的模板解析,并構(gòu)建出視圖層的 節(jié)點(diǎn)關(guān)系樹,通過高性能的視圖引擎快速生成 UI 視圖。San 中定義的數(shù)據(jù)會(huì)被封裝,使得當(dāng)數(shù)據(jù)發(fā)生有效變更時(shí)通知 San 組件,San 組件依賴模板編譯階段生成的節(jié)點(diǎn)關(guān)系樹,確定需要變更的最小視圖,進(jìn)而完成視圖的異步更新,保證了視圖更新的高效性。

  1. var MyApp = san.defineComponent({ 
  2.  template: '<p>Hello {{name}}!</p>'
  3.  initData: function () { 
  4.  return { 
  5.  name: 'San' 
  6.  }; 
  7.  } 
  8. }); 
  9. var myApp = new MyApp(); 
  10. myApp.attach(document.body); 

可以看到,通常情況使用 San 會(huì)經(jīng)過這么幾步:

  1. 我們先定義了一個(gè) San 的組件,在定義時(shí)指定了組件的 內(nèi)容模板 與 初始數(shù)據(jù) 。
  2. 初始化組件對象
  3. 讓組件在相應(yīng)的地方渲染

額外提示:在 JavaScript 中書寫 HTML 片段對維護(hù)來說是不友好的,我們可以通過 WebPack、AMD plugin、異步請求等方式管理。這里為了例子的簡單就寫在一起了。

從官方文檔可以大致了解了San是如何工作的,以及如何使用!

相關(guān)特性

San一共包含了九大特性,我們一起來了解下:

  • HTML模板

聲明式的模板,在編寫視圖時(shí)就像是在寫一個(gè)普通的頁面,更符合 HTML 開發(fā)人員的習(xí)慣。

  • 數(shù)據(jù)驅(qū)動(dòng)

修改數(shù)據(jù),視圖引擎會(huì)根據(jù)綁定關(guān)系自動(dòng)刷新視圖,從此擺脫手工調(diào)用 DOM API 的繁瑣與可能的遺漏。

  • 組件化

組件是數(shù)據(jù)、邏輯與視圖的聚合體。通過組件,我們封裝獨(dú)立的功能區(qū)塊,小到輸入組合,大到一個(gè)頁面。

  • 高性能視圖

通過修改數(shù)據(jù)的方法,視圖引擎能夠直接刷新需要變更的視圖區(qū)域,無需進(jìn)行任何檢測,性能更高。

  • 組件反解

為首屏?xí)r間優(yōu)化,服務(wù)端通常直接輸出HTML。我們能從現(xiàn)有的元素中反向解析出組件,并構(gòu)建綁定關(guān)系。

  • 體積小巧

小于15k (gzipped) 的體積,無需擔(dān)心對頁面下載帶來負(fù)擔(dān)。體積強(qiáng)迫癥患者的福音。

  • 良好的兼容性

通過方法修改數(shù)據(jù)的另一好處是,可以獲得更好的瀏覽器兼容性。畢竟有時(shí)我們產(chǎn)品的受眾用戶有點(diǎn)死板。

  • 模塊管理自由

項(xiàng)目中可以任意選擇 ESNext Module 或 AMD 管理模塊。當(dāng)然,如果你想要用全局變量也是支持的。

  • 引用方便

支持多種引用方式:NPM、GitHub、下載、HTTP 與 HTTPS CDN,讓開發(fā)和線上引用更便利。

文檔簡介

官方提供了非常詳細(xì)的文檔,而且文檔中都帶有示例,也就相當(dāng)于是教程,下面是一個(gè)最簡單的San組件:

一個(gè)語法如下的 .san 文件,就是一個(gè) San component:

  1. <template> 
  2.  <div class="hello">hello {{msg}}</div> 
  3. </template> 
  4. <script> 
  5.  export default { 
  6.  initData () { 
  7.  return { 
  8.  msg: 'world' 
  9.  }; 
  10.  } 
  11.  } 
  12. </script> 
  13. <style> 
  14.  .hello { 
  15.  color: blue; 
  16.  } 
  17. </style> 

文檔大致是這些,就不再詳細(xì)的去看了,有需求的可以直接到官網(wǎng)查看:

百度開源的快速、可移植且靈活的MVVM前端組件框架——San

周邊支持

San提供了提高生產(chǎn)力的相關(guān)周邊:百度開源的快速、可移植且靈活的MVVM前端組件框架——San

  • DevTool

提供了類似于Vue和React的那種基于Chrome擴(kuò)展的開發(fā)者工具

百度開源的快速、可移植且靈活的MVVM前端組件框架——San
  • San-mui

一套為開發(fā)者、設(shè)計(jì)師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 san 框架的組件庫,遵循 material design 規(guī)范,融入了開發(fā)常用的ui組件,幫助你快速搭建網(wǎng)站,開源的 San-MUI 來自百度 EFE。

百度開源的快速、可移植且靈活的MVVM前端組件框架——San

百度開源的快速、可移植且靈活的MVVM前端組件框架——San
  • Router

支持hash和html5模板的router。單頁面或同構(gòu)的Web應(yīng)用一般都需要它

  • Store

應(yīng)用狀態(tài)管理套件,理念類似于flux的單向流

  • Update

Immutable的對象更新庫,和san-store配合進(jìn)行應(yīng)用狀態(tài)數(shù)據(jù)更新

總結(jié)

San是一個(gè)傳統(tǒng)意義上的MVVM框架,優(yōu)秀的兼容性提升了其使用價(jià)值,完善的周邊支持可共開發(fā)者選擇,如果你有類似的需求,當(dāng)然可以選擇它!

責(zé)任編輯:張燕妮 來源: 頭條科技
相關(guān)推薦

2012-03-23 12:12:37

百度開發(fā)者大會(huì)

2012-08-24 10:01:56

百度前端工程師

2021-09-03 14:15:30

百度開源可視化

2012-05-08 16:11:14

WEB前端開發(fā)面試

2012-05-10 10:00:43

2012-05-10 09:15:47

2011-05-27 16:48:06

百度收錄

2014-07-25 17:12:39

數(shù)據(jù)庫WOT2014MongoDB

2013-08-22 17:08:50

2014-09-04 02:25:24

百度世界大會(huì)2014直達(dá)號(hào)BaiduEye

2010-12-23 16:55:43

tangram百度開源框架

2020-12-03 06:13:46

iOS

2010-12-20 10:47:32

JavaScript框Tangram百度

2015-05-27 09:51:45

百度深度學(xué)習(xí)人工智能

2025-02-24 08:50:50

2012-05-24 13:55:02

XML

2013-11-04 17:38:09

Clouda百度

2019-11-21 10:56:24

開源技術(shù) 趨勢

2018-03-09 22:56:52

PaddlePaddl

2018-07-04 12:25:50

智能小程序百度大腦
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)