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

Polymer框架——大大降低開發(fā)人員代碼編寫成本

譯文
移動開發(fā)
得益于智能手機(jī)、大尺寸手機(jī)以及平板設(shè)備逐步接近PC的強(qiáng)大性能,如今移動端與桌面端的用戶體驗(yàn)開始變得愈發(fā)一致。而這種一致性的核心概念之一就是利用一種通用型設(shè)計(jì)語言,并同時在移動應(yīng)用程序以及Web應(yīng)用程序當(dāng)中加以使用。有鑒于此,微軟公司開發(fā)出了用于構(gòu)建WinJS庫基礎(chǔ)的現(xiàn)代設(shè)計(jì)語言,而黑莓也同樣利用自家Cascade在bbUI.js當(dāng)中進(jìn)行功能構(gòu)建。

Polymer能夠?yàn)榇蠹姨峁└黝惐匾ぞ撸瑥亩鴮aterial設(shè)計(jì)元素添加到Web應(yīng)用程序當(dāng)中;此外,它同時也是一款相當(dāng)不錯的開發(fā)框架。

得益于智能手機(jī)、大尺寸手機(jī)以及平板設(shè)備逐步接近PC的強(qiáng)大性能,如今移動端與桌面端的用戶體驗(yàn)開始變得愈發(fā)一致。而這種一致性的核心概念之一就是利用一種通用型設(shè)計(jì)語言,并同時在移動應(yīng)用程序以及Web應(yīng)用程序當(dāng)中加以使用。有鑒于此,微軟公司開發(fā)出了用于構(gòu)建WinJS庫基礎(chǔ)的現(xiàn)代設(shè)計(jì)語言,而黑莓也同樣利用自家Cascade在bbUI.js當(dāng)中進(jìn)行功能構(gòu)建。

去年谷歌公司推出其Material Design語言及其Plymer框架。Material Design作為基礎(chǔ)性機(jī)制,能夠幫助開發(fā)人員在最近Android系統(tǒng)當(dāng)中設(shè)計(jì)出與谷歌外觀與使用體驗(yàn)思路相符的成果。其同時為我們的代碼提供原生UI組件以及一整套用于實(shí)現(xiàn)效果匹配的Web組件。

立足于***Web技術(shù),Polymer是一套負(fù)責(zé)為應(yīng)用程序構(gòu)建可重復(fù)利用UI組件的框架。與React非常相似,其能夠以自己的方式對頁面元素進(jìn)行提取,并利用其作為設(shè)計(jì)基礎(chǔ)。元素目錄的存在簡化了使用流程,幫助用戶更為輕松地查看并選取自己需要的元素,同時將其作為標(biāo)準(zhǔn)HTML元素應(yīng)用在頁面當(dāng)中。需要添加地圖?大家只需要找到合適的Polymer地圖元素,將其導(dǎo)入而后作為標(biāo)簽進(jìn)行調(diào)用即可。

雖然Polymer主要使用現(xiàn)代Web標(biāo)準(zhǔn),特別是Web組件,但其在相對陳舊的瀏覽器上同樣能夠順暢運(yùn)行。大家可以利用polyfill中間層通過一條JavaScript代碼在陳舊瀏覽器上加載必要的庫,從而為其賦予對特定Web組件子集的支持能力。

在初始階段,我們首先需要利用Bower這類工具來確保自己在安裝某種組件的同時,也將其全部依賴元素進(jìn)行了安裝。這意味為我們的應(yīng)用程序設(shè)置一個合適的配置文件,不過一旦通過Bower命令行安裝了Polymer,其就會始終保持更新。大家也可以選擇為整套Polymer版本下載一個Zip文件,不過如此一來就沒法享受自動更新帶來的便利了(而且如果大家使用GitHub,那么需要自行管理運(yùn)行依賴關(guān)系)。

一旦安裝完畢,大家接下來要做的就是將自己的頁面導(dǎo)入進(jìn)去,以保證在定義元素之前首先為其添加核心Polymer功能。大家可以從零開始創(chuàng)建新元素,構(gòu)建出一套模板并添加內(nèi)容。在創(chuàng)建出一個元素之后,我們則能夠著手將其與其它元素相結(jié)合,同時利用Polymer的AJAX支持能力添加數(shù)據(jù)綁定以及通過JSON實(shí)現(xiàn)的外部API鏈接。

Polymer還允許大家將自有元素與公共API相結(jié)合,這樣它們就能對特定事件做出反應(yīng)并進(jìn)行數(shù)據(jù)處理。由此衍生出的功能可謂不計(jì)其數(shù),而這也正是Polymer實(shí)現(xiàn)動態(tài)內(nèi)容交付的核心機(jī)制所在。我們可以將事件引入到元素整個生命周期之內(nèi)的各個方面,從其創(chuàng)建完成后就始終與之結(jié)合。這樣一來,大家將可以讓元素具備諸多新特性,例如在其準(zhǔn)備好接受調(diào)用時給出相應(yīng)信號。大家還能夠向元素中添加聲明數(shù)據(jù)綁定,從而更為便捷地將來自外部數(shù)據(jù)源的內(nèi)容填充進(jìn)去。

在為某個元素指定了API之后,我們可以發(fā)布其屬性,使其擁有與HTML屬性類似的運(yùn)行方式。接下來的任務(wù)就很簡單了,我們將某個元素的數(shù)據(jù)綁定鏈接至一項(xiàng)屬性,從而幫助設(shè)計(jì)人員快速進(jìn)行屬性設(shè)定——正如其面對任何傳統(tǒng)HTML元素一樣。

使用Polymer的核心優(yōu)勢在于針對特定應(yīng)用程序構(gòu)建設(shè)計(jì)元素:一旦構(gòu)建完成,其從本質(zhì)上等同于HTML標(biāo)簽。開發(fā)人員可以構(gòu)建并記錄一種元素,而設(shè)計(jì)人員則將其運(yùn)用在頁面布局當(dāng)中。通過這種方式,我們既不需要學(xué)習(xí)新的開發(fā)機(jī)制,又能保證開發(fā)者與設(shè)計(jì)師充分利用Polymer的靈活性優(yōu)勢來構(gòu)建出易于理解的Web應(yīng)用程序。

谷歌公司的Polymer組件庫為大家提供了在向Web應(yīng)用程序當(dāng)中添加Material Design元素時所必需的多種工具選項(xiàng),不過其同時也作為一套開發(fā)框架存在,幫助我們根據(jù)需要構(gòu)建自有組件或者對現(xiàn)有元素進(jìn)行自定義。大家還可以利用附帶數(shù)據(jù)綁定的Polymer模板交付動態(tài)內(nèi)容,即為組件提供需要處理的數(shù)據(jù)。

一旦大家構(gòu)建或者導(dǎo)入了一個Polymer元素,其將以等同于任意HTML元素的形式運(yùn)作,這意味著我們能夠利用這些基礎(chǔ)元素快速構(gòu)建起更為復(fù)雜的UI功能。大家還可以直接使用一整套主題元素集合(谷歌將其稱為‘紙上元素集合’),或者直接使用那些適用于現(xiàn)有設(shè)計(jì)工作的非主題組件。

Material Design以及Polymer的一大核心特性在于,其能夠利用圖標(biāo)來顯著簡化頁面布局。在構(gòu)建我們所熟悉的Android UI的過程中,Polymer會利用一套圖標(biāo)組件集將SVG圖像添加到頁面當(dāng)中,而庫中直接提供的超過150種圖標(biāo)能夠根據(jù)名稱進(jìn)行調(diào)用并被添加到應(yīng)用內(nèi)。同樣的,其還提供一套規(guī)模龐大的控件庫,允許我們直接在頁面中加以使用。在傳統(tǒng)UI框架及HTML當(dāng)中,大家可能需要編寫大量代碼來實(shí)現(xiàn)某些設(shè)計(jì)目標(biāo),例如在應(yīng)用程序當(dāng)中添加進(jìn)度條——不過有了Polymer,我們可以直接將其作為一個能夠賦值的簡單元素,而后供Angular等其它框架加以使用。如此一來,在單頁面Web應(yīng)用當(dāng)中構(gòu)建動態(tài)元素就變得非常輕松了。

雖然Polymer確實(shí)是一款有趣且非常靈活的UI框架,但其真正價值在于證明了Web組件確實(shí)能夠?yàn)槲覀兊膽?yīng)用程序所運(yùn)用。隨著對Chrome、Opera、火狐、Safari以及最近的微軟Edge瀏覽器的全面支持,這些組件很可能會迅速成為UI元素交付工作中的核心,特別是考慮到其承諾帶來的小型高速度Web應(yīng)用在市場上的顯著吸引力。利用這些只在需要時載入的元素取代原本體積龐大的JavaScript UI顯然***現(xiàn)實(shí)意義,而小型頁面也將使得移動Web變得更加友善,同時大大降低開發(fā)人員的代碼編寫成本。

責(zé)任編輯:chenqingxiang 來源: 51CTO
相關(guān)推薦

2013-01-17 09:39:17

2020-10-27 08:46:06

降低開發(fā)人員的生產(chǎn)力

2021-11-01 22:19:29

開發(fā)測試代碼

2019-10-18 08:00:00

開發(fā)技能代碼

2012-07-20 10:46:44

Web

2012-05-30 15:15:42

ibmdw

2023-03-15 07:12:53

企業(yè)開發(fā)人員提供商

2009-12-11 14:50:14

Visual Basi

2009-11-23 20:07:51

ibmdw開發(fā)

2021-02-19 09:33:01

kubernetesJAVA服務(wù)

2015-06-04 14:41:37

WebPython框架

2021-04-21 08:26:16

JavaSpring框架開發(fā)

2018-11-21 12:21:33

Ruby框架Web應(yīng)用

2018-02-01 11:12:12

Web開發(fā)Python

2020-10-13 08:41:58

Java開發(fā)框架

2013-04-15 10:00:09

程序員

2011-09-05 14:21:29

webOS

2023-08-14 15:23:37

2009-05-31 08:31:07

GoogleWaveTechCrunch

2022-12-19 07:33:49

開發(fā)人員谷歌制度
點(diǎn)贊
收藏

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