【问题标题】:Responsive plugin vs universal app in ext jsext js 中的响应式插件与通用应用程序
【发布时间】:2017-11-15 09:05:10
【问题描述】:

我们有一个使用 ext js 的经典工具包构建的 Web 应用程序。我们希望通过移动设备向用户提供此应用程序。我们有两个选择。 1.使用响应式插件并使所有组件响应各种手机。 2. 使用现代移动工具包构建通用应用程序。由于我对 UI 开发非常陌生,因此无法评估这些方法。任何有关做出此选择的帮助将不胜感激

更具体地说,我正在寻找这些问题的答案。

  • 您能否仅使用响应式插件使所有组件都响应式?
  • 如果我们继续使用响应式插件,是否可以向移动设备添加新组件
  • 添加响应式插件会对性能产生任何影响
  • 考虑到我们希望应用程序通过桌面和移动设备为用户提供良好的用户体验,通用设计是正确的道路。
  • 如果我们要进行通用应用程序,需要考虑哪些重要方面。会不会对经典应用的性能产生影响。
  • 在设计的可扩展性方面需要考虑哪些方面以及哪种方法支持可扩展性

【问题讨论】:

    标签: extjs responsive-design sencha-touch


    【解决方案1】:

    Ext.plugin.Responsive 仅允许您根据用户代理的设备类型/分辨率为组件添加不同的配置。它不会让触摸变得友好,也不会为移动设备添加替代 UI。

    1. 话虽如此,该插件可以应用于 ExtJS 经典中的所有组件,但只能操作具有 setter 函数的属性/配置。

    2. 响应式插件无法添加或删除任何组件,但您当然可以通过在 responsiveConfiguration 中设置 visible 属性来添加默认在桌面或移动设备上不可见的组件

    3. 还有更多代码需要传输,但实际的“媒体查询”不应该对性能产生任何可衡量的影响。显然,您在 responsiveConfiguration 中添加的默认值的所有更改都会在之后应用,具体取决于复杂性需要一些时间。

    4. ExtJS 的 Classic Toolkit 仅使用带有鼠标和键盘的计算机构建。所有控件都针对键盘或鼠标交互进行了优化,在手持设备上可能看起来非常小。另一方面,现代工具包源于 Sencha Touch,它始终被设计为移动优先的方法。 UI 元素更大,并利用仅在触摸设备上可用的功能,或添加其他仅在计算机硬件上可用的视觉控件。 不过,Modern 工具包在台式计算机上工作并且看起来不错。因此,除非您有任何无法迁移到现代的遗留内容或只想迁移应用程序的部分内容,否则我会完全放弃经典内容并专注于现代 UI。

    5. 如果您同时提供现代版本和经典版本的应用程序,则两者都不应该对另一个产生任何性能影响。但是,您将有很多开发开销,因为您需要分别维护两个 UI 版本。

    6. 不明白你的意思。屏幕尺寸方面的可扩展性? - 现代是实现这一目标的方式。如果调整大小,经典 UI 看起来不太好。 还是您的意思是在添加更多组件方面的可扩展性? - 由于现代 UI 组件比经典组件占用更多的屏幕空间,我猜经典的缩放比例更好。 当涉及到不断增长的复杂性和维护具有经典和现代 UI 的 2 轨应用程序时,这几乎是一场噩梦,因为您必须在两个 UI 版本中复制大量内容,并且必须在两个 UI 版本中进行调试。 这显然取决于你的 UI 的复杂性,而不是应用程序本身的复杂性。如果值得维护两个 UI 版本,则必须根据具体情况进行评估。对于何时有意义以及何时更好地放弃一个 UI 版本没有一般规则。

    【讨论】:

    • 感谢您的回复。我所说的可扩展性是指为 Web 和移动设备添加新组件的简易性。另外,根据我的研究,虽然现代工具包应该同时支持桌面和浏览器,但我们使用的 ext js 版本,6.2,不支持。你对此有什么想法吗?
    • 显然,如果您使用经典和现代工具包创建通用应用程序,桌面浏览器将始终看到经典版本,除非您将 ?modern 附加到 url 或假冒用户代理看起来像移动设备。
    • 但是,如果您的应用只有现代工具包版本,它也会在桌面浏览器上显示。不过,我不知道如何手动或使用 sencha 工具将旧应用程序更新为该格式。如果你运行sencha generate app --modern,你最终会得到一个只包含现代框架而不是两者的空应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多