原文:How to Style Apps with Fashion in Ext JS 6
網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);成都網(wǎng)站制作、成都網(wǎng)站建設(shè)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十余年的創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司。在Ext JS 6,一個(gè)大的改變就是框架合并,使用一個(gè)單一的代碼庫,就可以為每一種設(shè)備開發(fā)各具有良好體驗(yàn)的最好應(yīng)用程序。它還帶來了一種美化應(yīng)用程序的新方式。
在本文,重點(diǎn)是Sencha Fashion。這是什么?該如何使用它呢?在未來陸續(xù)的教程中,將為你展示如何去創(chuàng)建一個(gè)極好的暗黑主題。
Ext JS應(yīng)用程序的主題使用的是SASS,它是一種動(dòng)態(tài)編寫CSS代碼的方法。例如,可以在樣式表中使用變量和運(yùn)算。瀏覽器并不了解SASS,它只知道 CSS,隱藏,這些SASS主題需要被編譯為瀏覽器能理解的,生產(chǎn)用的CSS代碼。在Ext JS應(yīng)用程序中可以通過在Sencha Cmd運(yùn)行以下命令來編譯主題:
sencha app build [development]
或
sencha app watch [toolkit]
兩者的區(qū)別在于watch會(huì)通過輪詢來了解更新,并理解進(jìn)行編譯,而build編譯只能手動(dòng)執(zhí)行一次。
在舊版本的Ext JS或Sencha Touch,SASS樣式是在Ruby中編譯的。在Windows,需要使用管理員權(quán)限來安裝Ruby。一旦安裝完成,就可以開始編譯主題了。不過,在有大量代碼庫和高級(jí)主題的時(shí)候,就要花費(fèi)大量的編譯時(shí)間。
為了編譯高級(jí)主題,有時(shí)候需要花費(fèi)一分鐘。然后,你不得不刷新瀏覽器窗口來測(cè)試主題以確保已正確設(shè)置SASS變量。之后還要一次次的重復(fù)此過程。要知道,這個(gè)過程是相當(dāng)耗時(shí)間的。這也是為什么對(duì)Fashion感到高興的原因。
Sencha Fashion是使用javascript來編譯主題的,可以說這是超級(jí)的快。當(dāng)在左邊的顯示器修改一行代碼后,就可以右邊的顯示器看到變化了,就是這么快。不再需要等等編譯(在服務(wù)器開始),也不再需要刷新瀏覽器窗口。
由于Fashion使用的是javascript,因而有更多優(yōu)點(diǎn)。例如,可以在Fashion之上進(jìn)行擴(kuò)展并創(chuàng)建自己的樣式功能(類似SASS功能),還能調(diào)試樣式表代碼。
不過,大的得益還是可以在開發(fā)機(jī)器上設(shè)計(jì)主題。要實(shí)現(xiàn)這個(gè),只需要在命令行運(yùn)行sencha app watch并在URL中添加以下參數(shù):
?platformTags=fashion:true
下面來嘗試下使用Fashion來編譯一個(gè)主題。首先,下載Ext JS 6。這已經(jīng)包含了SDK。還需要下載Sencha Cmd 6。
安裝好命令行工具后,在機(jī)器上解壓Ext JS 6框架包(zip)。打開命令行提示符并通過命令行導(dǎo)航到框架文件夾。在Ext6文件夾,輸入以下命令來創(chuàng)建第一個(gè)sencha通用應(yīng)用程序:
ext> sencha generate app MyApp ../指定的項(xiàng)目路徑
在IDE或編輯器中打開新的應(yīng)用程序項(xiàng)目。要注意classic和modern這兩個(gè)新的文件夾。這是用來區(qū)分工具包的文件夾。共享代碼要放在 app文件夾內(nèi)。classic工具包文件夾包含了舊版本(桌面)視圖,而modern工具包文件夾則包含了現(xiàn)代touch的視圖。對(duì)于兩個(gè)工具包來 說,DOM是不同的,因而樣式也會(huì)有些許不同。這也是為什么工具包文件夾會(huì)有一個(gè)src子文件夾用來放置javascript代碼,會(huì)有一個(gè)sass文件 夾來放置指定的樣式的原因。
打開app.json文件并滾動(dòng)到“builds”配置:
"builds": { "classic": { "toolkit": "classic", "theme": "theme-triton" }, "modern": { "toolkit": "modern", "theme": "theme-neptune" } },1234567891011
要注意這里的每一個(gè)build配置,他們都有自己的工具包和主題。對(duì)于classic配置,將使用新的海衛(wèi)一(Triton)主題,而modern工具包將使用海王星(Neptune)主題(原名是Sencha Touch默認(rèn)主題)。
現(xiàn)在不需要對(duì)這個(gè)進(jìn)行修改。下面來創(chuàng)建兩個(gè)新文件:
classic/sass/var/Application.scss modern/sass/var/Application.scss
現(xiàn)在,打開Sencha本地Web服務(wù)器,并讓Sencha輪詢樣式表的改變。
在通用應(yīng)用程序的文件夾中,運(yùn)行以下命令:
項(xiàng)目文件夾> sencha app watch classic
如果Cmd安裝正確,該命令會(huì)正確運(yùn)行?,F(xiàn)在內(nèi)置的sencha服務(wù)器將等待更新。應(yīng)用程序默認(rèn)可通過http://localhost:1841來訪問。
假如運(yùn)行的端口是1841,則在瀏覽器輸入以下地址來打開應(yīng)用程序:
http://localhost:1841/?platformTags=fashion:true
等待應(yīng)用程序加載完成。主題第一次編譯,需要一點(diǎn)時(shí)間。一旦看到應(yīng)用程序,在編輯器打開以下文件:
classic/sass/var/Application.scss
如果有兩個(gè)顯示器,將瀏覽器窗口拖到其他顯示器,讓編輯器在一個(gè)顯示器,而瀏覽器在另一個(gè)顯示器。
接下來將樣式表的總體樣式修改為黑色。編寫以下全局變量:
$base-color: #000;
等一會(huì),就可以在瀏覽器中看到更改后的樣式了。不僅標(biāo)題已更改為黑色,其他擴(kuò)展自全局基本顏色的樣式都已經(jīng)變成黑色了。,例如,雙擊網(wǎng)格,會(huì)看到告警窗口也已經(jīng)改變了。
修改$base-color的值,試一下其他顏色效果。例如20%變亮的紅色:
$base-color: lighten(red, 20%);
當(dāng)然,現(xiàn)在也可以使用這種方式來修改modern工具包的主題。運(yùn)行以下命令:
sencha app watch modern
在瀏覽器打開以下url將打開modern工具包:
http://localhost:1841/?toolkit=modern&platformTags=fashion:true
修改以下文件:
modern/sass/var/Application.scss
這相當(dāng)快!這就是Fashion,編譯是在Javascript下運(yùn)行的。所有的效果都是在這個(gè)引擎下產(chǎn)生的。Sencha Cmd在后臺(tái)運(yùn)行的是PhantomJS。它是一個(gè)沒有顯示的瀏覽器,可以在命令行中運(yùn)行。它可以運(yùn)行應(yīng)用程序,編譯主題,以及將它推送給一個(gè)大的 javascript函數(shù)。每一次修改,都會(huì)讓javascript去修改DOM中的樣式。
敬請(qǐng)期待未來的主題教程。請(qǐng)把你們對(duì)于Fashion的想法告訴我們。這個(gè)可以在Ext JS 6論壇中提交你的問題。
作者: Lee Boonstra
Lee is a sales engineer at Sencha in Europe. She’s located in Amsterdam and has experience in both front-end and back-end development. Lee spends her spare time developing web and mobile apps. She also wrote a book for O’Reilly: Hands-on Sencha Touch 2.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。