原文:How to Style Apps with Fashion in Ext JS 6


在Ext JS 6,一个最大的改变就是框架合并,使用一个单一的代码库,就可以为每一种设备开发各具有良好体验的最好应用程序。它还带来了一种美化应用程序的新方式。

在本文,重点是Sencha Fashion。这是什么?该如何使用它呢?在未来陆续的教程中,将为你展示如何去创建一个极好的暗黑主题。

编译主题

Ext JS应用程序的主题使用的是SASS,它是一种动态编写CSS代码的方法。例如,可以在样式表中使用变量和运算。浏览器并不了解SASS,它只知道 CSS,隐藏,这些SASS主题需要被编译为浏览器能理解的,生产用的CSS代码。在Ext JS应用程序中可以通过在Sencha Cmd运行以下命令来编译主题:

sencha app build [development]

sencha app watch [toolkit]

两者的区别在于watch会通过轮询来了解更新,并理解进行编译,而build编译只能手动执行一次。

在旧版本的Ext JS或Sencha Touch,SASS样式是在Ruby中编译的。在Windows,需要使用管理员权限来安装Ruby。一旦安装完成,就可以开始编译主题了。不过,在有大量代码库和高级主题的时候,就要花费大量的编译时间。

为了编译高级主题,有时候需要花费一分钟。然后,你不得不刷新浏览器窗口来测试主题以确保已正确设置SASS变量。之后还要一次次的重复此过程。要知道,这个过程是相当耗时间的。这也是为什么对Fashion感到高兴的原因。

Sencha Fashion是使用javascript来编译主题的,可以说这是超级的快。当在左边的显示器修改一行代码后,就可以右边的显示器看到变化了,就是这么快。不再需要等等编译(在服务器开始),也不再需要刷新浏览器窗口。

由于Fashion使用的是javascript,因而有更多优点。例如,可以在Fashion之上进行扩展并创建自己的样式功能(类似SASS功能),还能调试样式表代码。

不过,最大的得益还是可以在开发机器上设计主题。要实现这个,只需要在命令行运行sencha app watch并在URL中添加以下参数:

?platformTags=fashion:true

开始编译

下面来尝试下使用Fashion来编译一个主题。首先,下载Ext JS 6。这已经包含了SDK。还需要下载Sencha Cmd 6。

安装好命令行工具后,在机器上解压Ext JS 6框架包(zip)。打开命令行提示符并通过命令行导航到框架文件夹。在Ext6文件夹,输入以下命令来创建第一个sencha通用应用程序:

ext> sencha generate app MyApp ../指定的项目路径

在IDE或编辑器中打开新的应用程序项目。要注意classic和modern这两个新的文件夹。这是用来区分工具包的文件夹。共享代码要放在 app文件夹内。classic工具包文件夹包含了旧版本(桌面)视图,而modern工具包文件夹则包含了现代touch的视图。对于两个工具包来 说,DOM是不同的,因而样式也会有些许不同。这也是为什么工具包文件夹会有一个src子文件夹用来放置javascript代码,会有一个sass文件 夹来放置指定的样式的原因。

打开app.json文件并滚动到“builds”配置:

    "builds": {        "classic": {            "toolkit": "classic",            "theme": "theme-triton"},        "modern": {            "toolkit": "modern",            "theme": "theme-neptune"}},1234567891011

要注意这里的每一个build配置,他们都有自己的工具包和主题。对于classic配置,将使用新的海卫一(Triton)主题,而modern工具包将使用海王星(Neptune)主题(原名是Sencha Touch默认主题)。

现在不需要对这个进行修改。下面来创建两个新文件:

classic/sass/var/Application.scss
modern/sass/var/Application.scss

现在,打开Sencha本地Web服务器,并让Sencha轮询样式表的改变。

在通用应用程序的文件夹中,运行以下命令:

项目文件夹> sencha app watch classic

如果Cmd安装正确,该命令会正确运行。现在内置的sencha服务器将等待更新。应用程序默认可通过http://localhost:1841来访问。

假如运行的端口是1841,则在浏览器输入以下地址来打开应用程序:

http://localhost:1841/?platformTags=fashion:true

等待应用程序加载完成。主题第一次编译,需要一点时间。一旦看到应用程序,在编辑器打开以下文件:

classic/sass/var/Application.scss

如果有两个显示器,将浏览器窗口拖到其他显示器,让编辑器在一个显示器,而浏览器在另一个显示器。

接下来将样式表的总体样式修改为黑色。编写以下全局变量:

$base-color: #000;

等一会,就可以在浏览器中看到更改后的样式了。不仅标题已更改为黑色,其他扩展自全局基本颜色的样式都已经变成黑色了。,例如,双击网格,会看到告警窗口也已经改变了。

修改$base-color的值,试一下其他颜色效果。例如20%变亮的红色:

$base-color: lighten(red, 20%);

当然,现在也可以使用这种方式来修改modern工具包的主题。运行以下命令:

sencha app watch modern

在浏览器打开以下url将打开modern工具包:

http://localhost:1841/?toolkit=modern&platformTags=fashion:true

修改以下文件:

modern/sass/var/Application.scss

这相当快!这就是Fashion,编译是在Javascript下运行的。所有的效果都是在这个引擎下产生的。Sencha Cmd在后台运行的是PhantomJS。它是一个没有显示的浏览器,可以在命令行中运行。它可以运行应用程序,编译主题,以及将它推送给一个大的 javascript函数。每一次修改,都会让javascript去修改DOM中的样式。

敬请期待未来的主题教程。请把你们对于Fashion的想法告诉我们。这个可以在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.


转载于:https://blog.51cto.com/dqhuang/1672842

【翻译】如何在Ext JS 6中使用Fashion美化应用程序相关推荐

  1. 【翻译】了解Ext JS 5的小部件

    原文:Understanding Widgets in Ext JS 5 在Ext JS 5,引入了新的"widgetcolumn",支持在网格的单元格中放置组件.同时,还在Ext ...

  2. 在Ext JS 6中添加本地化包

    我在官方论坛发的帖子终于有人恢复了,也终于知道如何添加本地化包了.在Ext JS 6中,Ext JS属于经典工具包,而本地化是包含在经典工具包中,因而在app.json中,要添加本地化包,必须在cla ...

  3. 【翻译】使用Ext JS设计响应式应用程序

    原文:Designing Responsive Applications with Ext JS 在当今这个时代,用户都希望Web应用程序无论在形状还是大小上,既能在桌面电脑,也能在移动设备上使用.使 ...

  4. 【翻译】对于Ext JS 5,你准备好了吗?

    原文:Are You Ready for Ext JS 5? Ext JS 5:准备升级 对于Ext JS 5加入Sencha的大家庭,我们感到非常高兴!作为一个主要版本,在Ext JS 5引入了一堆 ...

  5. 【翻译】Sencha Ext JS 5发布

    原文:Announcing Sencha Ext JS 5 简介 我代表Sencha和整个Ext JS团队,很自豪的宣布,在今天,Sencha Ext JS 5发布了.Ext JS 5已经迈出了一大步 ...

  6. 【翻译】在Ext JS和Sencha Touch中创建自定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  7. 【翻译】在Ext JS和Sencha Touch中创建自己定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  8. 【翻译】在Ext JS中创建特定主题的重写

    Ext JS提供了大量的功能来使类的创建和处理变得简单,还提供了一系列的功能来扩展和重新现有的Javascript类.这意味着可以为类添加行为和创建属于自己的类,或者重写某些函数的行为.在本文,将展示 ...

  9. 【翻译】在Ext JS应用程序中构建可维护的控制器

    原文:Building Maintainable Controllers in Ext JS Apps 在eMortgage Logic公司,2011年底开始使用Ext JS 4.当时,还不知道如何正 ...

最新文章

  1. ECJTUACM16 Winter vacation training #4 题解源码
  2. torch The “freeze_support()” line can be omitted if the programis not going to be frozen to produce
  3. “TI门外汉”网路知识笔记七 快速以太网通道
  4. 合成模式(Composite)
  5. 有窗体和无窗体覆盖的问题
  6. 2017北理c语言答案,c语言答案 北理工
  7. 接口之用例编写、验证
  8. [机器学习笔记] Note1--机器学习简介
  9. linux-3.5.4内核添加新的系统调用并测试!!!!!
  10. 通过一个备份归档的脚本演示rsync限速和find如何删除文件
  11. 6.Entity FrameWork Core 5.0 删除、修改数据
  12. 自动将视频文件生成字幕的软件autosub的替代工具字幕酱(支持英文、日语和法语、德语、韩语)
  13. 林期苏曼属性标签编辑_CAD技巧之增强属性编辑器 属性文字
  14. 《惢客创业日记》2020.04.01-15(周三) 国家有难,匹夫有责(四)
  15. 关于offsetX、layerX、clientX、screenX以及pageX
  16. Win10 系统设置共享文件
  17. Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习
  18. Access时间日期比较查询的方法
  19. F5 LTM 常用oid列表
  20. wp7开发实例:Baby Sign Language

热门文章

  1. ASP.NET 3.5核心编程学习笔记(17):基于数据源的数据绑定
  2. [转载]学习java30条基本的概念
  3. 拖动精灵的三种方法比较
  4. MFC初探 —— 设置软件开机自启
  5. AI PRO I 第4章 译文 Behavior Selection Algorithms An Overview
  6. AndroidStudio_android通过自定义来实现倒计时的AlertDialog---Android原生开发工作笔记245
  7. web前端工作笔记008---js延迟执行代码
  8. SpringCloud学习笔记015---Spring Boot集成RabbitMQ发送接收JSON
  9. 《编程之美》蚂蚁爬杆问题的扩展【1】
  10. python 编程(关于twisted)