【问题标题】:Should I use a CSS reset or normalize on Phonegap / Cordova apps?我应该在 Phonegap / Cordova 应用程序上使用 CSS 重置还是规范化?
【发布时间】:2014-03-20 03:00:39
【问题描述】:

我想知道包含 css 重置或 css 规范化库是否是一个好主意(如果我想要跨多平台构建的一致性)?

我关心的当然是应用程序速度、加载时间和内存使用情况,目标当然是跨平台的 UI 一致性......

【问题讨论】:

  • 对不起,我对以下不确定的答案不满意...今天仍在等待!
  • 以下所有答案均有效。我很想投票结束这个“主要基于意见”,但您似乎拒绝答案,因为它们没有提供明确的研究或绩效数据。我想知道您在包括与不包括 CSS 重置方面做了哪些性能分析。
  • 今天早上@Martin Barker 的更新和澄清,我对他的回答感到满意并接受了它。

标签: css cordova mobile phonegap-build css-reset


【解决方案1】:

概述

CSS 重置是必须的,Cordova / Phonegap 都使用手机原生浏览器,所以 Windows Phone 这是一个 Internet Explorer 包装器,android 它现在是一个 Chrome 包装器(旧版本使用他们自己的浏览器包装器),iOS 使用任何版本的那个版本的 iOS 的 safari mobile 所有的女巫都对 HTML5 有更多的支持,所以可能会有差异。这意味着您需要重置,以便您拥有与桌面网站相同的所有设备/浏览器的基础。但是性能完全取决于你的所作所为,如果你只使用一个小的基本重置它会更少,但即使是一个大的,你会不会再注意到它然后没有它。

CSS 重置

所以我们知道浏览器在 CSS 引擎默认字体和其他东西上略有不同,所以我们使用重置来防止移动浏览器的情况相同(这就是 cordova/phonegap 使用的),因此始终建议重置,即使您为 iOS 和 Android 构建一个 cordova/phonegap 移动应用程序是一个非常痛苦的设备大小的 Android 支持负载 iOS 只有少数。但这些尺寸可能会导致大量问题,更不用说您必须使用的 DDPI,因为 DPI 变化很大。

性能

性能略有下降,除非您包含像 http://getbootstrap.com/css/ 这样的大型 CSS 重置系统,否则您不会在任何情况下看到它,这会增加一些性能损失,但如果它的 0.5 秒您会注意到它javascript 从 phonegap 到 init() 需要更长的时间,但是如果里面有你会使用的东西,那么首先看看 bootstrap 是值得的,只是为了节省开发时间我一直在使用来自http://getbootstrap.com/components/ 的警报。如果这就是你想要的,还有像http://html5doctor.com/html-5-reset-stylesheet/ 这样的小工具。

来源 网上到处都是教你实现reset的教程! https://www.google.co.uk/search?q=Phonegap+use+CSS+Reset&oq=Phonegap+use+CSS+Reset&aqs=chrome..69i57j69i60l3.3494j0j7&sourceid=chrome&es_sm=0&ie=UTF-8

您希望事实可以停止使用 Phonegap/Cordova,它所做的大部分工作都是实现或利用 HTML5! HTML5 是一项正在进行的工作,因此不应使用! http://www.w3.org/TR/html5/

ME:5 年的移动开发经验,包括开发部分 Windows Phone 7 Phonegap。作为平台预览应用程序之一的开发人员。因此,在大多数用户得知 WP7 即将问世之前,我正在为 WP7 构建 phonegap 的一部分。

【讨论】:

  • 和我的观点一模一样!!!!我知道 iOS 嵌入式浏览器与 Androids 嵌入式浏览器不一样 Androids 支持 Flash 的事实!!!
  • 不可能获得准确的统计数据,每台设备都不同,这点 android 有单核 400 Mhz 处理器,最高 1.0 Ghz 64 位四核,iPhone 有 1、2、3、3g、3gs, 4,4s,5,5s,5c 都有不同的性能,具体取决于从操作系统版本到后台应用程序运行的内容。所以我可以给你来自我的三星 Galaxy S5 的统计数据,因为我安装了 Avast,所以这些数据都不匹配
【解决方案2】:

当然。如果您正在为多个平台开发应用程序,那么这听起来是个好主意。尽管我毫不怀疑您仍然会遇到跨平台的差异。

我看不出它会如何影响应用程序速度/加载时间/内存使用。

【讨论】:

  • 包含bootstrap.css 之类的内容可能会增加相当多的加载时间,这是一个大文件
【解决方案3】:

在为跨平台开发应用程序时,有很多关于 css 的问题。重置 css 会更好。但是在性能方面仍然存在问题。

这篇文章可能对你有帮助http://www.informit.com/articles/article.aspx?p=1915792&seqNum=6

【讨论】:

    【解决方案4】:

    是的,你应该!!

    我开发了跨平台应用程序。

    每次我使用 CSS 重置。

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    • 事实上,@EugenePodskal,他正在回答这个问题。
    • @Korcholis 如果我添加答案No, you shouldn't! I've not .. 根本没有任何解释,那么您将如何反应?这篇文章可能给出了答案,但这并不是一个经过深思熟虑的可靠答案,因为它是基于个人经验而不是客观标准。好吧,它可以扩展,但目前还没有。所以,这就是我在 VLQ 查询中以这种方式标记它的原因。
    • 好吧,我同意你的看法@EugenePodskal,但在这种情况下,没有一个答案可以算作这个问题的答案。确实,数字为我们提供了一种理解应该遵循的方法,但数字可能仍然会掩盖使用它(或不使用它)的好处。无论如何,让我们希望一个有意义的答案
    【解决方案5】:

    我不确定 Phonegap 应用程序的确切上下文,因为我从未实际使用过该应用程序,但通常从性能的角度来看,任何 CSS 重置都不应该有任何影响。

    但是,我的意见是,通常情况下,您甚至不应该为针对一堆特定元素和属性的完整 CSS 重置而烦恼 - 无论如何,您通常最终会在样式表的下方覆盖它们。

    我今天只使用一个简单的通用选择器边距/填充重置,我补充了我最喜欢的盒子模型调整。

    * {
        margin:0;
        padding:0;
        box-sizing:border-box;
    }
    

    也许 10 年前有人会告诉你,通用选择器很慢,当时可能是这样,但今天已证明单独使用它是绝对无害的。

    几乎所有最新浏览器的渲染/布局引擎都非常快,更不用说现在即使是低端移动设备也配备了多核 CPU。

    我什至不会称之为微优化,这就是影响的疏忽。

    现在,如果您要使用 div.header * - 这会贵得多,但如果您的页面上没有几千个元素,可能仍然不会让您失眠。

    Have a read and test it for yourself.

    【讨论】:

    • 此问题专门询问有关 PhoneGap/Cordova 应用程序的问题。这不是关于重置的一般优点或策略的问题。
    • 据我所知,PhoneGap/Cordova 应用程序是由设备的默认网络浏览器呈现的。这是相同的布局引擎。几行 CSS 在这两种环境下都不会影响性能,因此比较并非无关紧要。
    • 如果您参考我答案末尾的链接,您会看到运行旧版 Android 的廉价平板电脑会呈现包含大约 7000 个元素的页面,同时针对一大堆复杂的选择器在一秒钟内。在实际项目中,即使在最慢的设备上,即使在最慢的设备上,没有像人工测试那样密集的基本 CSS 重置也不应该增加超过 100 毫秒的渲染时间。
    • 负面代表,因为您发布“我不确定Phonegap应用程序的确切上下文,因为我从未真正使用过”这个问题的整个上下文是PhoneGap
    • 谢谢,祝您有美好的一天。
    猜你喜欢
    • 2016-10-22
    • 2018-07-08
    • 2011-05-18
    • 2019-08-02
    • 2013-07-26
    • 2010-12-11
    • 2015-11-09
    • 2010-12-29
    • 2023-04-11
    相关资源
    最近更新 更多